Netcat, она же 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
.