Kā pārbaudīt, vai ports ir atvērts attālā vai vietējā hostā?
sobes.tech AI
Atbilde no AI
Lai pārbaudītu atvērtu portu attālinātajā vai vietējā hostā, var izmantot šādus veidus:
-
netcat(nc): Universāls rīks tīkla savienojumiem.- Vietējai hostei:
nc -zv localhost <ports> - Attālajai hostei:
nc -zv <attālais_host> <ports>
Opcijas
-z(nulle-I/O režīms) un-v(sīkāka informācija) tiek izmantotas skenēšanai bez datu sūtīšanas un detalizētai informācijai. - Vietējai hostei:
-
telnet: Attālas vadības protokols, ko var izmantot savienojuma pārbaudei ar norādīto portu:- Vietējai hostei:
telnet localhost <ports> - Attālajai hostei:
telnet <attālais_host> <ports>
Ja savienojums tiek izveidots (parasti parādās pieprasījums vai tukša rinda), ports ir atvērts. Aizvērt var ar
Ctrl+], tadquitun Enter. - Vietējai hostei:
-
nmap: Jaudīgs portu skeneris. Prasa instalēšanu:- Vietējai hostei:
nmap -p <ports> localhost - Attālajai hostei:
nmap -p <ports> <attālais_host>
Izvade parādīs portu statusu:
open,closedvaifiltered. - Vietējai hostei:
-
< /dev/tcpvai< /dev/udp(Bash): Bash var izmantot failu deskriptorus TCP vai UDP savienojumu izveidei:- Vietējai hostei (TCP):
timeout 1 bash -c "cat < /dev/tcp/localhost/<ports>" 2>/dev/null && echo "Port <ports> ir atvērts" || echo "Port <ports> ir aizvērts" - Attālajai hostei (TCP):
timeout 1 bash -c "cat < /dev/tcp/<attālais_host>/<ports>" 2>/dev/null && echo "Port <ports> ir atvērts" || echo "Port <ports> ir aizvērts"
timeouttiek izmantots, lai novērstu iestrēgšanu, ja ports ir aizvērts.2>/dev/nullslēpj kļūdu izvadus. Šī metode nedarbojas UDP. - Vietējai hostei (TCP):
-
Python: Izmantojot soketus pārbaudei:
import socket def check_port(host, port): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(1) # Laika ierobežojuma iestatīšana try: s.connect((host, port)) print(f"Port {port} on {host} ir atvērts") except (socket.timeout, ConnectionRefusedError): print(f"Port {port} on {host} ir aizvērts vai filtrēts") finally: s.close() # Piemērs lietošanai check_port("localhost", 80) # Vietējā hosta pārbaude check_port("google.com", 443) # Attālā hosta pārbaude
Izvēle ir atkarīga no pieejamiem rīkiem, operētājsistēmas un uzdevuma specifikas. netcat un nmap ir viens no elastīgākajiem un informatīvākajiem rīkiem.