UNIX: примеры использования Netcat

Автор: | 05/10/2013
 

terminalNetcat, она же nc — простая, но очень удобная консольная утилита, предназначенная для работы с портами и TCP и/или UDP трафиком между узлами сети.

Полезные ключи:

-l — указать какой порт будет слушать nc для приёма входящих соединений;
-n — не использовать преобразование IP в имена хостов;
-k — продолжать принимать соединения на указанном с ключём -l порту после того, как завершится активная сессия;
-s — указать локальный IP интерфейса, который будет использоваться для отправки пакетов;
-v — использовать подробный режим;
-u — использовать UDP вместо TCP, который используется по-умолчанию;
-w — таймаут, после которого сессия будет закрыта, если не активна;
-X — указать тип прокси, который использоваться, иначе — используется SOCK5;
-x — адрес:порт прокси-сервера, через который необходимо отправлять трафик;

Примеры использования

На стороне «сервера» (машина, которая будет принимать трафик) запускаем nc для приёма входящих пакетов на порт 12345:

$ nc -l 12345 > ../temp.log

На стороне «клиента» — выполняем чтение файла и пересылаем содержимое на «сервер»:

$ tail -f /var/log/zabbix/zabbix_agentd.log | nc 10.249.140.239 12345

Переслать файл можно так. На стороне сервера — запустим nc для приёма соединений на порту 12346 и укажем выводить содержимое принятого файла в локальный файл:

# nc -l 12346 > post-install.log

На стороне клиента — запускаем nc и считываем в него содержимое файла post-install.log:

# nc 10.249.140.239 12346 < post-install.log

Интересная возможность — сканирование портов, хотя и далеко от возможностей nmap:

# nc -z -v 10.249.140.239 8080-8085
nc: connect to 10.249.140.239 port 8080 (tcp) failed: Connection refused
Connection to 10.249.140.239 8081 port [tcp/tproxy] succeeded!
nc: connect to 10.249.140.239 port 8082 (tcp) failed: Connection refused
nc: connect to 10.249.140.239 port 8083 (tcp) failed: Connection refused
nc: connect to 10.249.140.239 port 8084 (tcp) failed: Connection refused
nc: connect to 10.249.140.239 port 8085 (tcp) failed: Connection refused

Больше примеров можно найти тут:

http://www.computerhope.com
http://www.thegeekstuff.com

Или в man nc.