PrachiiiiisHere/PORT-SCANNER
GitHub: PrachiiiiisHere/PORT-SCANNER
一个用 Python socket 模块编写的简单 TCP 端口扫描器,通过尝试 TCP 三次握手来探测目标 IP 指定端口范围内的开放端口。
Stars: 0 | Forks: 0
#Python 端口扫描器
一个使用内置 socket 模块编写的简单 TCP 端口扫描器。该程序接收用户输入的目标 IP 地址,并尝试连接用户指定范围内的端口。
### IP 地址与端口
**IP 地址**用于标识网络上的特定设备(类似于实际的建筑地址)。然而,单台计算机会同时运行多个依赖网络的应用程序(例如,Web 浏览器、Discord 和 SSH 客户端)。
**端口**是一个软件定义的标识符(编号从 `1` 到 `65535`),负责将传入的数据路由到该机器内正确的应用程序。
* **IP 地址:**标识硬件。
* **端口:**标识特定的软件进程。
### “监听”是什么意思?
当服务器应用程序(如 Web 服务器)启动时,它会将自身绑定到特定端口(例如端口 `80`)。操作系统将该端口标记为 **OPEN**(开放),应用程序进入 **LISTENING**(监听)状态,等待传入的连接。
## 2. 传输层:TCP 与握手
TCP(传输控制协议)专为可靠的、面向连接的通信而设计。两台计算机在通过 TCP 交换实际的应用数据之前,必须通过**三次握手**明确同意进行通信。
* **SYN(同步):**客户端发送请求以初始化连接序列。
* **SYN-ACK(同步-确认):**如果目标端口处于开放状态,服务器会做出响应,确认已收到请求并准备好进行连接。
* **ACK(确认):**客户端确认收到响应。此时连接建立。
**端口扫描器**的工作原理是在一系列端口上系统地尝试此握手过程,以观察目标的响应。
在 Python 中,`socket` 模块充当你的代码与操作系统网络引擎之间的内置转换层。
标签:DNS查询工具, Python, TCP, 内核驱动, 插件系统, 无后门, 端口扫描器, 网络协议, 网络工具, 逆向工具