在python 3中,給定一個IP地址,我想檢查是否為TCP連接打開了一個特定的埠。我怎樣才能做到這一點?
請注意,我根本不想等待。如果沒有立即收到回復,那么只需報告它已關閉。
uj5u.com熱心網友回復:
這是我從https://www.kite.com/python/answers/how-to-check-if-a-network-port-is-open-in-python得到的 Python3 示例
import socket
a_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
port = 8080
location = ("127.0.0.1", port)
check = a_socket.connect_ex(location)
if check == 0:
print("Port is open")
else:
print("Port is not open")
uj5u.com熱心網友回復:
您可以使用簡單的腳本
#!/usr/bin/python
import socket
host = "127.0.0.1"
port = 9003
# try to connect to a bind shell
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
print(f"Port {port} is open")
s.close()
except socket.error:
print(f"Port {port} closed.")
socket.SOCK_STREAMTCP 連接的常量此處回應。
uj5u.com熱心網友回復:
您可以執行以下操作來檢查埠是否已被占用或是否已打開:
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
location = ("127.0.0.1", 80)
result = sock.connect_ex(location)
if result == 0:
print("Port is open")
else:
print("Port is closed")
在此,socket.AF_INET指定 IP 地址族 (IPv4) 并socket.SOCK_STREAM指定套接字型別 (TCP)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/398082.html
上一篇:做TCP警告意味著資料包被忽略,"Wireshark(Warning/Malformed):Shortsegment.Segment/fragmentdoesnotcontainafullT
