Общая информация
Два режима: клиент и сервер. Режим сервера определяется ключом -l (listener). Может работать в TCP и в UDP режиме.
Общие принципы для обоих типов соединения
В случае простого соединения (без передачи из файла) двустороннее соединение.
TCP режим
Режим по умолчанию. При завершении соединения закрывает приложение. Отправляет вывод в консоль.
Общие ключи для клиента и сервера
-v |
расширенный вывод. -n не резолвит ip адреса. Без -v, ключ -n бессмысленный |
-w <timeout> | Таймаут при отсутствии ответа сервера. По умолчанию 3 секунды. |
Ключи для сервера
nc -l -p порт,port [-options] [hostname] [port]
-p порт | Номер прослушиваемого порта |
-e (или -c, аналогично) | Приложение, запускаемое при подключении. |
-i <период> |
интервал между приемкой сообщения и отображением сообщения |
-r | случайные локальные порты источника (?) |
Ключи для клиента
nc [-options] hostname port[s] [ports]
Два режима - просто соединение и сканирование портов. Несколько разные подходы.
-i <период> |
интервал между
|
-e (или -c, аналогично) | Приложение, запускаемое при подключении на клиенте. Получается обратный shell. Команды, введенные на сервере, интерпретируются и отдается результат. |
-r | При сканировании портов - случайные порты из диапазона. |
-s | подмена адреса источника |
-z | режим без отправки данных. Для сканирования. |
Запуск сервера на порту 12345 и запуск консоли при подключении
nc –l –p 12345 –e /bin/bash
запустит сервер на порту 12345 и будет запускать консоль при подключении. Для проверки на другом сервере запускаем
nc 192.168.1.204 12345
ls
m.txt
exit
ОднакоСканирование портов
Интересная возможность. Только в режиме клиента. Базовый вариант
nc -v -z 192.168.2.36 1-65535
Перечисляются порты, можно через запятую. Если не установить -z то найдет первый открытый порт, откроет соединение и все. Лучше с python3ключом напрямую-r
прокатило.
UDP режим
-i <период> интервал между исполнением команд при сканировании портов,e не работает для другого режима.
-vo расширенныйfilename вывод,сохраняет бинарный дамп в комбинации с -n не резолвит ip адреса.файл