Алыс же жергиликтүү хостто порт ачык экенин кантип текшерсе болот?
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 эң ийкемдүү жана маалыматтуу инструменттер болуп саналат.