Kuidas kontrollida, kas port on avatud kaugel või kohaliku hosti peal?
sobes.tech AI
Vastus AI-lt
Porti avamise kontrollimiseks kaug- või kohaliku hosti puhul saab kasutada järgmisi meetodeid:
-
netcat(nc): Üldine tööriist võrguliikluse jaoks.- Kohaliku hosti jaoks:
nc -zv localhost <port> - Kaug- või hosti jaoks:
nc -zv <kaug-ühendus> <port>
Valikud
-z(null-I/O režiim) ja-v(üksikasjalik) kasutatakse andmete saatmata skaneerimiseks ja üksikasjaliku teabe kuvamiseks. - Kohaliku hosti jaoks:
-
telnet: Kaugjuhtimise protokoll, mida saab kasutada ühenduse kontrollimiseks määratud pordil:- Kohaliku hosti jaoks:
telnet localhost <port> - Kaug- või hosti jaoks:
telnet <kaug-ühendus> <port>
Kui ühendus on loodud (tavaliselt ilmub käsk või tühi rida), on port avatud. Sulgege
Ctrl+], siisquitja Enter. - Kohaliku hosti jaoks:
-
nmap: Võimas pordi skanner. Nõuab installimist:- Kohaliku hosti jaoks:
nmap -p <port> localhost - Kaug- või hosti jaoks:
nmap -p <port> <kaug-ühendus>
Väljund näitab pordi olekut:
open,closedvõifiltered. - Kohaliku hosti jaoks:
-
< /dev/tcpvõi< /dev/udp(Bash): Bashis saab kasutada failide kirjeldajaid TCP või UDP ühenduste loomiseks:- Kohaliku hosti jaoks (TCP):
timeout 1 bash -c "cat < /dev/tcp/localhost/<port>" 2>/dev/null && echo "Port <port> on avatud" || echo "Port <port> on suletud" - Kaug- või hosti jaoks (TCP):
timeout 1 bash -c "cat < /dev/tcp/<kaug-ühendus>/<port>" 2>/dev/null && echo "Port <port> on avatud" || echo "Port <port> on suletud"
timeoutkasutatakse selleks, et vältida hangumist, kui port on suletud.2>/dev/nullpeidab veateateid. See meetod ei tööta UDP puhul. - Kohaliku hosti jaoks (TCP):
-
Python: Soketite kasutamine kontrollimiseks:
import socket def check_port(host, port): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(1) # Aja piirangu määramine try: s.connect((host, port)) print(f"Port {port} on {host} avatud") except (socket.timeout, ConnectionRefusedError): print(f"Port {port} on {host} suletud või filtreeritud") finally: s.close() # Kasutamise näide check_port("localhost", 80) # Kohaliku hosti kontroll check_port("google.com", 443) # Kaug- või hosti kontroll
Valik sõltub saadaval olevatest tööriistadest, operatsioonisüsteemist ja ülesande spetsiifikast. netcat ja nmap on kõige paindlikumad ja informatiivsemad tööriistad.