Как проверить открыт ли TCP порт?

Как проверить открыт ли TCP порт в Linux, но некоторые утилиты будут доступны также в Windows, например telnet (изначально отключен, необходимо включить в Панель управления > Программы > Включение или отключение компонентов Windows, в открывшемся окне напротив telnet поставить галочку и нажать ОК), curl (Windows 10 версия 1803 и Windows 11 curl предустановлен) и nc (netcat - входит в установщик nmap для Windows и устанавливается отдельно)


# telnet 192.168.0.148 8080


Trying 192.168.0.148...

Connected to 192.168.0.148.

Escape character is '^]'.


# nc -zv 192.168.0.148 8080


Connection to 192.168.0.148 8080 port [tcp/http-alt] succeeded!

Если сервис еще не установлен и порт не занят программой, а нужно просто проверить успешно ли добавилось правило в Firewall, то netcat можно также использовать для прослушивания порта:


# nc -l 44 


# nc -zv 192.168.0.148 44


Connection to 192.168.0.148 44 port [tcp/*] succeeded!


curl -v telnet://192.168.0.148:8080

*   Trying 192.168.0.148:8080...
* TCP_NODELAY set
* Connected to 192.168.0.148 (192.168.0.148) port 8080 (#0)

# nping --tcp-connect -c1 -p 8080 192.168.0.148

Starting Nping 0.7.80 ( https://nmap.org/nping ) at 2025-04-14 19:58 EEST
SENT (0.0018s) Starting TCP Handshake > 192.168.0.148:8080
RCVD (0.0018s) Handshake with 192.168.0.148:8080 completed

Max rtt: 0.017ms | Min rtt: 0.017ms | Avg rtt: 0.017ms
TCP connection attempts: 1 | Successful connections: 1 | Failed: 0 (0.00%)

# echo >/dev/tcp/192.168.0.148/8080 && echo "Port is open" || echo "Port is closed"

Port is open

Комментарии