用python写一个网络端口查询网口空置IP
时间: 2024-09-18 21:05:06 浏览: 34
在Python中,你可以使用`socket`模块来检查网络端口的状态,并通过一些随机生成的IP地址尝试连接,判断该IP是否可以分配给服务。下面是一个简单的例子,展示了如何遍历一个范围内的IP地址并检查其对应端口是否开放:
```python
import socket
def is_port_open(ip, port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
sock.connect((ip, port))
sock.shutdown(socket.SHUT_RDWR)
return False
except (ConnectionRefusedError, ConnectionAbortedError, ConnectionResetError) as e:
print(f"Port {port} on {ip} is closed")
return True
def find_available_ip(start_ip, end_ip, port=80):
for ip in range(start_ip, end_ip+1):
if is_port_open(str(ip), port):
return str(ip)
return None
# 示例:查找192.168.1.100到192.168.1.200范围内空闲的HTTP端口
available_ip = find_available_ip(192, 192, 80)
if available_ip:
print(f"Found an available IP: {available_ip}")
else:
print("No available IP found.")
阅读全文