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
.