由于篇幅所限,这里我将提供一个针对性的解决方案,展示如何使用Python编写一个简单的网络端口扫描工具。
import socket
def scan_port(ip, port):
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(1) # 设置超时为1秒
result = sock.connect_ex((ip, port)) # 尝试连接
if result == 0:
print(f"Port {port} is open.")
else:
print(f"Port {port} is closed.")
except socket.error as e:
print(f"Error: {e}")
finally:
sock.close()
# 使用示例
scan_port('127.0.0.1', 80) # 扫描本机的80端口
这段Python代码定义了一个scan_port
函数,它接受一个IP地址和端口号作为参数,然后尝试连接该端口。如果连接成功(返回值为0),则认为端口是开放的;如果发生异常,则认为端口是关闭的或不可达。代码简洁明了,注重实用性,可以作为进行网络端口扫描的基础工具。