> For the complete documentation index, see [llms.txt](https://notes.kraken-security.ru/kraken/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://notes.kraken-security.ru/kraken/krupicy-znanii/instrumenty/o-netcat.md).

# O Netcat

Что такое Netcat

Netcat (nc) — сетевая утилита Unix, которая позволяет устанавливать соединения TCP и UDP для передачи данных. Netcat полезен как для пентеста, так и для аудитa безопасности сетей. \
\
Давайте для знакомства с инструментом  откроем справку: \
\
`nc -h`

<figure><img src="/files/9jsdT2RLU8u0AQJ34Pn4" alt=""><figcaption></figcaption></figure>

### Сканируем порты с Netcat

Netcat не заточен для сканирование портов, но его все равно, можно использовать для этой цели с флагом `-z`. Это позволит определить тип службы, работающей на конкретном порту. Netcat может выполнять как TCP, так и UDP сканирование.

### Сканируем TCP порты&#x20;

`nc -v -n -z 192.168.122.48 10-400`

* `-v`  → для подробного режима.
* `-n` →  указывает только числовой IP-адрес.
* `-z` → указывает нулевую модель ввода-вывода&#x20;

В примере  мы указали диапазон портов от 10 до 400: <br>

<figure><img src="/files/vCoeNjxqIT5yO0zl2uWa" alt=""><figcaption></figcaption></figure>

Соединения с закрытыми портами отклоняются, а открытые порты получают успешное соединение. Так мы можем сканировать порты TCP через Netcat.

### Сканируем UDP порты&#x20;

`nc -vzu 192.168.122.48 20-100`

&#x20;`-u` → для сканирования портов UDP.

<figure><img src="/files/7DiuuMsTUvETKCWDBWZk" alt=""><figcaption></figcaption></figure>

### Собираем информацию о хосте

С Netcat также можно получить информацию о компьютере. \
\
`nc 192.168.122.48 21`

<figure><img src="/files/ammgnye7o78XaggVzRmJ" alt=""><figcaption><p>Работает фтп-сервер vsFTPd, версии 2.3.4.</p></figcaption></figure>

### Передаём файлы с помощью Netcat

Предположим, у нас сценарий, где нужно передать с Kali какой-нибудь файл на смартфон Android. Для начала используем команду:\
\
`nc -lvp 2345 < file.txt`

Чтобы принять файл на Android → можно воспользоваться Termux. Открываем терминал Termux и вводим команду получения файла:

`nc 192.168.225.54 2345 > file.txt`

192.168.225.54 → IP-адрес Kali Linux
