python端口扫描
时间: 2023-08-26 13:17:43 浏览: 100
在Python中进行端口扫描,可以使用`socket`库来创建TCP连接并尝试连接目标主机的指定端口。以下是一个简单的示例代码:
```python
import socket
# 目标主机的IP地址和端口范围
target_host = '127.0.0.1'
target_ports = range(1,100)
# 遍历端口范围并进行端口扫描
for target_port in target_ports:
# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置连接超时时间为1秒
client_socket.settimeout(1)
try:
# 尝试连接目标主机的端口
result = client_socket.connect_ex((target_host, target_port))
# 判断连接是否成功
if result == 0:
print(f'Port {target_port} is open')
except socket.error:
print(f'Error connecting to port {target_port}')
finally:
# 关闭socket连接
client_socket.close()
```
在这个例子中,我们遍历指定的端口范围,然后使用`socket`库的`socket.AF_INET`参数创建一个TCP socket对象。然后,我们尝试连接每个端口,并根据返回结果判断端口是否开放。如果成功连接(返回值为0),则打印出该端口为开放状态。无论连接成功与否,最后都需要关闭socket连接。
请注意,对远程主机进行未经授权的端口扫描是违法的。在实际使用中,请确保遵守法律和道德规范,并获得适当的授权。
阅读全文