使用Python的Socket模块的connect()函数来尝试连接目标主机的特定端口。如果连接成功,则说明该端口是打开的;否则,该端口是关闭的。
下面是一个示例脚本,可以检测目标IP的22端口是否开启:文章来源:https://www.toymoban.com/news/detail-681067.html
import socket
def check_port(ip, port):
# 设置超时时间为3秒钟
socket.setdefaulttimeout(3)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect((ip, port))
print("端口开放")
except socket.timeout:
print("端口关闭")
except ConnectionRefusedError:
print("连接被拒绝")
except Exception as e:
print("发生异常:", e)
finally:
s.close()
if __name__ == '__main__':
check_port("127.0.0.1", 22)
在这个程序中,我们首先使用socket模块创建一个TCP套接字。然后,我们使用try-except语句来尝试连接指定的IP地址和端口。如果连接成功,则说明端口开放;如果连接超时,则说明端口关闭;如果连接被拒绝,则说明目标主机存在但是目标端口未开放;如果发生其他异常,则输出异常信息。最后,我们使用finally语句来关闭套接字,以确保程序能够正确地释放资源。文章来源地址https://www.toymoban.com/news/detail-681067.html
到了这里,关于使用python编写脚本测试目标主机的TCP端口连通性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!