????????使用Python的Socket模塊的connect()函數(shù)來嘗試連接目標主機的特定端口。如果連接成功,則說明該端口是打開的;否則,該端口是關閉的。
????????下面是一個示例腳本,可以檢測目標IP的22端口是否開啟:文章來源:http://www.zghlxwxcb.cn/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("發(fā)生異常:", e)
???finally:
???????s.close()
???if __name__ == '__main__':
???????check_port("127.0.0.1", 22)
????????在這個程序中,我們首先使用socket模塊創(chuàng)建一個TCP套接字。然后,我們使用try-except語句來嘗試連接指定的IP地址和端口。如果連接成功,則說明端口開放;如果連接超時,則說明端口關閉;如果連接被拒絕,則說明目標主機存在但是目標端口未開放;如果發(fā)生其他異常,則輸出異常信息。最后,我們使用finally語句來關閉套接字,以確保程序能夠正確地釋放資源。文章來源地址http://www.zghlxwxcb.cn/news/detail-681067.html
到了這里,關于使用python編寫腳本測試目標主機的TCP端口連通性的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!