Skip to main content

Общая информация

Два режима: клиент и сервер. Режим сервера определяется ключом -l (listener). Может работать в TCP и в UDP режиме. 

Общие принципы для обоих типов соединения

В случае простого соединения (без передачи из файла) двустороннее соединение. 

TCP режим

Режим по умолчанию. При завершении соединения закрывает приложение. Отправляет вывод в консоль.

Общие ключи для клиента и сервера

-v

расширенный вывод. 

-n не резолвит ip адреса. Без -v, ключ -n бессмысленный

-w <timeout>Таймаут при отсутствии ответа сервера. По умолчанию 3 секунды.
  




 

Ключи для сервера

nc -l -p порт,port [-options] [hostname] [port]

приложение,
-p портНомер прослушиваемого порта
-e (или -c, аналогично) Приложение, запускаемое при подключении. поэтомуС командаbash сработало, с python3 напрямую не сработало.
-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 адреса.файл