import socket
def port_status(ip,port):
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
server.connect((ip,port))
print('port open')
server.close()
except Exception as err:
print "port closed"
if __name__ == "__main__":
ip="192.168.1.1"
port_status(ip,80)
在编辑代码的时候发现执行这个非常缓慢,尝试改成 port_status(ip,'80')后发现也能运行,速度很快,但结果是错的。
即
sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sk.connect('192.168.1.1','80')) 错误,都是显示端口关闭
与
sk.connect('192.168.1.1',80)) 正确
port端口的值应为int型。