# O Netcat

Что такое Netcat

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

<figure><img src="https://676766212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR6dozMpxuaoEOVvH1vR%2Fuploads%2F7jOT55JXKMrpxO3CTGyf%2Fimage.png?alt=media&#x26;token=c6bff3b2-93b5-4a5d-97b2-31e63dc50c3a" 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="https://676766212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR6dozMpxuaoEOVvH1vR%2Fuploads%2FxBthLmrVNnCqLOe0HnRq%2Fimage.png?alt=media&#x26;token=1f2551b2-d340-44ab-a764-d6a855428087" alt=""><figcaption></figcaption></figure>

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

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

`nc -vzu 192.168.122.48 20-100`

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

<figure><img src="https://676766212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR6dozMpxuaoEOVvH1vR%2Fuploads%2FjYsELIaZxI0PHjBbiLme%2Fimage.png?alt=media&#x26;token=58a786df-e77a-463e-a964-c25cda7f11fa" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="https://676766212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBR6dozMpxuaoEOVvH1vR%2Fuploads%2FXLQN1dJVZAe6sWsBVH46%2Fimage.png?alt=media&#x26;token=2bee1be7-ee7e-4927-9b6d-1a1fefc1ad0c" 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
