Команда nc (netcat) примеры

Утилита nc (или netcat) используется практически для всего, что касается TCP или UDP. Открытие TCP соединений, посылка UDP пакетов, прослушивание TCP и UDP портов, сканирование портов, и работа с версиями IPv4 и IPv6. В отличии от telnet, nc выводит сообщения об ошибках на стандартный вывод ошибок, вместо посылки их на просто стандартный вывод, как это делает telnet.

nc – реализация подключений и ожиданий входящих соединений, через TCP и UDP.

Основное применение netcat:

  1. примитивное TCP проксирование
  2. написание shell-сценариев эмулируюших HTTP запросы
  3. тестирование сетевых демонов
  4. SOCKS или HTTP ProxyCommand для ssh
  5. и многое, многое другое

Синтаксис Netcat

Самый простой синтаксис утилиты Netcat имеет следующий вид:

nc [options] host port

По умолчанию Netcat пытается запустить TCP-соединение с указанным хостом и портом. Если вы хотите установить UDP-соединение, используйте параметр -u :

nc -u host port

Пример

nc -z -v -u 134.122.49.199 1194
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 134.122.49.199:1194.
Ncat: UDP packet sent successfully
Ncat: 1 bytes sent, 0 bytes received in 2.01 seconds

Опция -z укажет nc сканировать только открытые порты, не отправляя им никаких данных, а опция -v предоставит более подробную информацию.

Например, чтобы сканировать открытые порты в диапазоне 20-80, вы должны использовать следующую команду:

nc -z -v 10.10.8.8 20-80