要实现批量扫描IP端口,可以使用Python的socket库。下面是一个简单的例子:
import socket
# 定义要扫描的IP和端口范围
target_ip = "192.168.0.1"
start_port = 1
end_port = 100
# 遍历指定的端口范围
for port in range(start_port, end_port+1):
# 创建socket对象
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置超时时间为1秒
sock.settimeout(1)
try:
# 尝试连接目标IP和端口
result = sock.connect_ex((target_ip, port))
if result == 0:
print(f"端口 {port} 开放")
else:
print(f"端口 {port} 关闭")
except socket.error:
print(f"无法连接到端口 {port}")
finally:
# 关闭socket连接
sock.close()
在上述代码中,我们使用了socket
库的socket
函数创建了一个TCP socket对象。然后,使用connect_ex
方法尝试连接到指定的IP和端口。如果返回值为0,表示端口开放;否则,表示端口关闭。最后,使用close
方法关闭socket连接。
你可以根据需要修改target_ip
、start_port
和end_port
的值,以扫描不同的IP和端口范围。请注意,这个例子只是一个简单的示例,实际应用中可能需要更复杂的逻辑和错误处理。