Чӣ тавр санҷед, ки оё дар меҳмонхонаи дур ё маҳаллӣ дари кушода аст?
sobes.tech AI
Ҷавоб аз AI
Для праверкі адкрытага порта на аддаленым або лакальным хосты можна выкарыстоўваць наступныя спосабы:
-
netcat(nc): Універсальны інструмент для працы з сеткавымі злучэннямі.- Лакальны хост:
nc -zv localhost <порт> - Аддалены хост:
nc -zv <аддалены_хост> <порт>
Опцыі
-z(zero-I/O mode) і-v(verbose) выкарыстоўваюцца для сканавання без адпраўкі дадзеных і для вываду падрабязнай інфармацыі. - Лакальны хост:
-
telnet: Пратакол для аддаленага кіравання, які можна выкарыстоўваць для праверкі злучэння па ўказаным порце.- Лакальны хост:
telnet localhost <порт> - Аддалены хост:
telnet <аддалены_хост> <порт>
Калі злучэнне ўсталёўваецца (звычайна з'явіцца запрашэнне або пусты радок), порт адкрыты. Зачыніць можна націскам
Ctrl+], затымquitі Enter. - Лакальны хост:
-
nmap: Магутны сканер портаў. Патрабуе ўстаноўкі.- Лакальны хост:
nmap -p <порт> localhost - Аддалены хост:
nmap -p <порт> <аддалены_хост>
Выхад пакажа статус порта:
open,closedабоfiltered. - Лакальны хост:
-
< /dev/tcpабо< /dev/udp(у Bash): У Bash можна выкарыстоўваць файлавыя дысцыпліны для стварэння TCP або UDP злучэнняў.- Лакальны хост (TCP):
timeout 1 bash -c "cat < /dev/tcp/localhost/<порт>" 2>/dev/null && echo "Port <порт> is open" || echo "Port <порт> is closed" - Аддалены хост (TCP):
timeout 1 bash -c "cat < /dev/tcp/<аддалены_хост>/<порт>" 2>/dev/null && echo "Port <порт> is open" || echo "Port <порт> is closed"
timeoutвыкарыстоўваецца для прадухілення зацяжання, калі порт закрыты.2>/dev/nullхавае памылкі. Гэты метад не працуе для UDP. - Лакальны хост (TCP):
-
Python: Выкарыстанне сокетаў для праверкі.
import socket def check_port(host, port): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(1) # Усталяванне тайм-аўта try: s.connect((host, port)) print(f"Port {port} on {host} is open") except (socket.timeout, ConnectionRefusedError): print(f"Port {port} on {host} is closed or filtered") finally: s.close() # Прыклад выкарыстання check_port("localhost", 80) # Праверка лакальнага хоста check_port("google.com", 443) # Праверка аддаленага хоста
Выбар метаду залежыць ад даступных інструментаў, аперацыйнай сістэмы і спецыфікі задачы. netcat і nmap з'яўляюцца аднымі з найбольш гнуткіх і інфарматыўных інструментаў.