我正在尝试创建一个小的python脚本,它可以找到您连接的路由器的端口。如果脚本找不到端口,它将执行print(f"port {PORT} not found"),是否可以查看您连接的端口,或者更好地查看路由器上打开的端口?
发布于 2020-11-09 01:21:47
您可以使用socket模块尝试连接路由器的端口,并在工作完成后关闭插座:
import socket
from contextlib import closing
host = '192.168.0.1'
port = 25
with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
if sock.connect_ex((host, port)) == 0:
print("Port is open")
else:
print("Port is not open")在这里,它使用端口25 (例如,SMTP)进行测试,您可以在1到65536的范围内循环,转到一个函数:
import socket
from contextlib import closing
def check_socket(host, port):
with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
if sock.connect_ex((host, port)) == 0:
return True
else:
return False
if check_socket('192.168.0.1',25):
print('Port open')
else:
print('Port closed')https://stackoverflow.com/questions/64740891
复制相似问题