📜  使用Python在 Kali Linux 终端中制作端口扫描器

📅  最后修改于: 2022-05-13 01:55:38.490000             🧑  作者: Mango

使用Python在 Kali Linux 终端中制作端口扫描器

在计算机网络中,端口是网络连接开始和结束的虚拟点。这就像你家的一扇敞开的门,如果你不关闭它,那么任何人都可以进入你的家。端口扫描器是一个程序,它在网络中搜索端口并尝试查找虚拟打开和关闭的端口。这是黑客或网络安全专家用来发现网络中敞开的大门或弱点的常用技术。

端口扫描程序如何工作?

该程序发送网络请求抛出网络并尝试连接到计算机上的特定 TCP 或 UDP 端口并记录响应。

三种类型的响应如下:

  1. Open, Accepted :当端口打开时,您可以通过它们访问此系统。
  2. Closed, Not Listening : 当这个端口正在使用或此时不可用
  3. 已过滤、已删除、已阻止:计算机甚至都懒得响应。

使用Python在 Kali Linux 终端上设计端口扫描器

第 1 步:设计程序

首先我们需要打开我们的 Kali Linux 终端,我们应该做的第一件事就是找出我们的Python解释器在哪里,所以我们命令

句法:

which python
用python在Kali Linux终端上设计一个端口扫描器

我们的Python解释器在哪里

当我们执行下一步时,这将很重要。

下一步我们需要打开shell,因为我们将在那里输入我们的代码,所以我们可以输入nano命令并按回车键。

句法:

nano (name).extention

例子:

nano port-scanner.py
用python在Kali Linux终端上设计一个端口扫描器

给我们的程序起个名字

现在在这里首先我们需要分配我们的Python解释器位置

#!//usr/bin/python
用python在Kali Linux终端上设计一个端口扫描器

Python解释器的位置

现在我们的主程序开始了,我们要导入套接字,套接字会告诉我们端口如何操作,本质上如何传输数据。

import socket

然后我们需要输入IP地址,然后我们还需要一个程序来询问我们正在寻找的端口

ip = raw_input("enter the IP Address: ")
port = input("Enter the Port Number: ")

现在我们要定义套接字我们正在寻找什么类型的传输数据,以更具体地说明我们要求查看什么协议。

  • socket.AF_INET这个socket可以让我们看到TCP连接
  • SOCK_STREAM这允许我们查看本质上是流视频和音频的 UDP 协议
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

现在我们将打印我们的程序如何向我们显示特定端口是否打开或 IP 已关闭或端口已关闭。

if sock.connect_ex((ip,port)):
       print "Port ",port, "is closed"
else:
         print"Port",port,"is OPEN"
用python在Kali Linux终端上设计一个端口扫描器

完整的程序

现在保存这个程序按控制键 + x 键保存这个程序

句法:

cnrl+x

第 2 步:编译并运行程序

我们都知道如何在 Kali Linux 终端上运行脚本

例子

./script name . extention

句法

./port-scanner.py
用python在Kali Linux终端上设计一个端口扫描器

程序没有运行

看看这里是棘手的部分,我们完美地编写了我们的程序,但它没有编译和运行。所以是时候给我们的系统权限了。

句法

chmod 775 ./port-scanner.py
用python在Kali Linux终端上设计一个端口扫描器

chmod 775 给你权限

现在我们可以再次运行我们的程序,它会编译并成功运行

句法

./port-scanner.py
用python在Kali Linux终端上设计一个端口扫描器

运行成功

测试我们的程序

所以对于端口扫描,我们需要一个特定的IP,然后我们需要告诉我们的程序我们在寻找哪个端口输入点击回车

例子

Enter Your Ip Address : 192.168.43.1
Enter The Port Number : 80
用python在Kali Linux终端上设计一个端口扫描器

端口扫描成功