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.