Netcat linux ��� ���

Содержание
  1. 8 Netcat (nc) Command with Examples
  2. How to Install and Use Netcat in Linux
  3. Port Scanning
  4. Transfer Files Between Linux Servers
  5. Create a Command Line Chat Server
  6. Create a Basic Web Server
  7. Troubleshoot Linux Server Connection
  8. Find a Service Running on Port
  9. Create a Stream Sockets
  10. Create a Backdoor
  11. If You Appreciate What We Do Here On TecMint, You Should Consider:
  12. Полезные трюки при работе с netcat
  13. Практические примеры
  14. Проверка наличия открытого TCP-порта 12345
  15. Сканирование TCP-портов с помощью netcat:
  16. Сканирование UDP-портов.
  17. Отправка UDP-пакета
  18. Прием данных на UDP-порту и вывод принятых данных
  19. Netcact в роли простейшего веб-сервера.
  20. Чат между узлами
  21. Реверс-шелл
  22. Полезные примеры использования утилиты netcat в Linux
  23. 1. Проверка наличия определенного открытого TCP-порта на удаленном узле
  24. 2. Отправка тестового UDP-пакета на удаленный узел
  25. 3. Сканирование TCP-портов на удаленном узле
  26. 4. Копирование файла (например, my.jpg) с узла с именем hostA.com на узел с именем hostB.com
  27. 5. Передача директории (со всем содержимым) с узла hostA.com на узел hostB.com
  28. 6. Сканирование UDP-портов на удаленном узле
  29. 7. Ожидание данных на UDP-порту и вывод принятых данных в текстовом формате
  30. 8. Сохранение (сжатого) файла образа жесткого диска (например, /dev/sdb) на удаленном сервере
  31. 9. Восстановление содержимого жесткого диска из сжатого файла образа, сохраненного на удаленном сервере
  32. 10. Передача статической веб-страницы по аналогии с веб-сервером
  33. 11. Организация незащищенного чата между двумя узлами
  34. 12. Запуск «удаленной командной оболочки», позволяющей выполнять произвольные команды на удаленном узле в процессе работы с локальным узлом
  35. 13. Создание веб-прокси для определенного веб-сайта (например, google.com)
  36. 14. Создание SSL-прокси для определенного веб-сайта (например, google.com)
  37. 15. Потоковая передача видеофайла с сервера и его просмотр с помощью проигрывателя mplayer на клиентской машине
  38. 16. Прием соединений по протоколу TCP на определенном порту с использованием адреса IPv6

8 Netcat (nc) Command with Examples

Netcat (or nc in short) is a simple yet powerful networking command-line tool used for performing any operation in Linux related to TCP, UDP, or UNIX-domain sockets.

Netcat can be used for port scanning, port redirection, as a port listener (for incoming connections); it can also be used to open remote connections and so many other things. Besides, you can use it as a backdoor to gain access to a target server.

In this article, we will explain Netcat usage commands with examples.

How to Install and Use Netcat in Linux

To install the netcat package on your system, use the default package manager for your Linux distribution.

Once netcat package installed, you can proceed further to learn the usage of netcat command in the following examples.

Port Scanning

Netcat can be used for port scanning: to know which ports are open and running services on a target machine. It can scan a single or multiple or a range of open ports.

Here is an example, the -z option sets nc to simply scan for listening daemons, without actually sending any data to them. The -v option enables verbose mode and -w specifies a timeout for connection that can not be established.

Scan for Open Ports in Linux

Transfer Files Between Linux Servers

Netcat allows you to transfer files between two Linux computers or servers and both these systems must have nc installed.

For example, to copy an ISO image file from one computer to another and monitor the transfer progress (using the pv utility), run the following command on the sender/server computer (where the ISO file exists).

This will run nc in listening mode ( -l flag) on port 3000.

And on the receiver/client computer, run the following command to obtain the file.

File Transfer Between Linux Systems

Create a Command Line Chat Server

You can also use Netcat to create a simple command-line messaging server instantly. As in the previous usage example, nc must be installed on both systems used for the chat room.

Читайте также:  Где находятся файлы удаленные защитником windows 10

On one system, run the following command to create the chat server listening on port 5000.

On the other system, run the following command to launch a chat session to a machine where the messaging server is running.

Create Chat Server in Command Line

Create a Basic Web Server

Wit the -l option of nc command used to create a basic, insecure web server to serve static web files for learning purposes. To demonstrate this, create a .html file as shown.

Add the following HTML lines in the file.

Save changes in the file and exit.

Then serve the above file over HTTP by running the following command, which will enables the HTTP server to run continuously.

Create Web server in Command line

Then open a web browser and can access the content using the following address.

Test Web Server

Note that you can to stop the Netcat HTTP server by pressing [Ctrl+ C] .

Troubleshoot Linux Server Connection

Another useful usage of Netcat is to troubleshoot server connection issues. Here, you can use Netcat to verify what data a server is sending in response to commands issued by the client.

The following command retrieves the home page of example.com.

The output of the above command includes the headers sent by the web-server which can be used for troubleshooting purposes.

Find a Service Running on Port

You can also use Netcat to obtain port banners. In this case, it will tell you what service is running behind a certain port. For example to know what type of service is running behind port 22 on a specific server, run the following command (replace 192.168.56.110 with the target server’s IP address). The -n flag means to disable DNS or service lookups.

Find Service Running on Port

Create a Stream Sockets

Netcat also supports creation of UNIX-domain stream sockets. The following command will create and listen on a UNIX-domain stream socket.

Create Stream Socket in Command Line

Create a Backdoor

You can as well run Netcat as a backdoor. However, this calls for more work. If Netcat is installed on a target server, you can use it to create a backdoor, to get a remote command prompt.

To act a backdoor you need Netcat to listen on a chosen port (e.g port 3001) on the target server and then you can connect to this port from your machine as follows.

This is the command intended to run on the remote server where the -d option disables reading from stdin, and -e specifies the command to run on the target system.

Last but not least, Netcat can be used as a proxy for different services/protocols including HTTP, SSH, and many more. For more information, see its man page.

In this article, we have explained 8 practical Netcat command usage examples. If you know any other practical use case(s), share with us via the feedback form below. You can ask a question as well.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

We are thankful for your never ending support.

Источник

Полезные трюки при работе с netcat

В данной статье я рассмотрю популярную сетевую утилиту netcat и полезные трюки при работе с ней.

Читайте также:  Загрузчики mac os x как установить

Netcat — утилита Unix, позволяющая устанавливать соединения TCP и UDP, принимать оттуда данные и передавать их. Несмотря на свою полезность и простоту, многие не знают способы ее применения и незаслуженно обходят ее стороной.

С помощью данной утилиты можно производить некоторые этапы при проведении тестирования на проникновение. Это может быть полезно, когда на атакованной машине отсутствуют (или привлекут внимание) установленные пакеты, есть ограничения (например IoT/Embedded устройства) и т.д.

Что можно сделать с помощью netcat:

  • Сканировать порты;
  • Перенаправлять порты;
  • Производить сбор баннеров сервисов;
  • Слушать порт (биндить для обратного соединения);
  • Скачивать и закачивать файлы;
  • Выводить содержимое raw HTTP;
  • Создать мини-чат.

Вообще с помощью netcat можно заменить часть unix утилит, поэтому этот инструмент можно считать неким комбайном для выполнения тех или иных задач.

Практические примеры

Во многих случаях при необходимости проверки того или иного хоста используют телнет, либо собственные сервисные службы для выявления хоста или баннера. Как нам может помочь netcat:

Проверка наличия открытого TCP-порта 12345

nc: connect to 192.168.1.100 12345 (tcp) failed: Connection refused

Connection to 192.168.1.100 22 port [tcp/ssh] succeeded!
SSH-2.0-OpenSSH

Сканирование TCP-портов с помощью netcat:

При таком сканировании не будет соединение с портом, а только вывод успешного соединения:

nc: connectx to 192.168.1.100 port 20 (tcp) failed: Connection refused
nc: connectx to 192.168.1.100 port 21 (tcp) failed: Connection refused
found 0 associations
found 1 connections:
1: flags=82
outif en0
src 192.168.1.100 port 50168
dst 192.168.1.100 port 22
rank info not available
TCP aux info available
Connection to 192.168.1.100 port 22 [tcp/*] succeeded!
nc: connectx to 192.168.1.100 port 23 (tcp) failed: Connection refused
nc: connectx to 192.168.1.100 port 24 (tcp) failed: Connection refused

Сканирование UDP-портов.

Для сканирования UDP портов с помощью nmap необходимы root привилегии. Если их нет — в этом случае нам тоже может помочь утилита netcat:

Connection to 192.168.1.100 port 5555 [udp/*] succeeded!

Отправка UDP-пакета

Это может быть полезно при взаимодействии с сетевыми устройствами.

Прием данных на UDP-порту и вывод принятых данных

После первого сообщения вывод будет остановлен. Если необходимо принять несколько сообщений, то необходимо использовать while true:

Передача файлов. С помощью netcat можно как получать файлы, так и передавать на удаленный хост:

Netcact в роли простейшего веб-сервера.

Netcat может выполнять роль простейшего веб-сервера для отображения html странички.

C помощью браузера по адресу: http://хост netcat:8888/index.html. Для использования стандартного порта веб-сервера под номером 80 вам придется запустить nc c root привелегиями:

Чат между узлами

На первом узле (192.168.1.100):

После выполнения команд все символы, введенные в окно терминала на любом из узлов появятся в окне терминала другого узла.

Реверс-шелл

С помощью netcat можно организовать удобный реверс-шелл:

Теперь можно соединиться с удаленного узла:

Не стоит опускать руки, если нет тех или иных инструментов, зачастую довольно громоздких, иногда задачу можно решить подручными средствами.

Источник

Полезные примеры использования утилиты netcat в Linux

Оригинал: Useful netcat examples on Linux
Автор: Dan Nanni
Дата публикации: 27 января 2014 г.
Перевод: А.Панин
Дата перевода: 7 сентября 2016 г.

Обычно называемая «швейцарским ножом» для TCP/IP-сетей, утилита Netcat является чрезвычайно гибким инструментом, позволяющим выполнять практически все возможные действия с TCP/UDP-сокетами в Linux. Это один из наиболее популярных инструментов для диагностики и экспериментов с сетями в среде системных администраторов.

В рамках данной статьи я поделюсь несколькими наиболее полезными примерами использования netcat, несмотря на то, что в случае серьезного рассмотрения всех вариантов использования данной утилиты можно придумать бесчисленное количество подобных примеров. Если вы регулярно используете утилиту netcat, вы также можете поделиться своими примерами ее использования.

Учтите, что при использовании nc для приема соединений на портах известных сетевых служб (0-1023) вам понадобятся привилегии пользователя root. Во всех остальных случаях для корректной работы nc достаточно прав обычного пользователя.

Читайте также:  Драйвера для принтера canon mf4320d для windows 10

1. Проверка наличия определенного открытого TCP-порта на удаленном узле

2. Отправка тестового UDP-пакета на удаленный узел

Приведенная ниже команда предназначена для отправки тестового UDP-пакета с задержкой в 1 секунду на порт 5000 удаленного узла с заданным адресом.

3. Сканирование TCP-портов на удаленном узле

Приведенная ниже команда предназначена для сканирования портов из диапазонов 553 и 2767 и вывода списка открытых портов.

4. Копирование файла (например, my.jpg) с узла с именем hostA.com на узел с именем hostB.com

На узле с именем hostB.com (принимающая сторона):

На узле с именем hostA.com (передающая сторона):

5. Передача директории (со всем содержимым) с узла hostA.com на узел hostB.com

На узле с именем hostB.com (принимающая сторона):

На узле с именем hostA.com (передающая сторона):

6. Сканирование UDP-портов на удаленном узле

Приведенная выше команда позволяет вывести список открытых, принимающих данные UDP-портов на удаленном сервере.

7. Ожидание данных на UDP-порту и вывод принятых данных в текстовом формате

Приведенная ниже команда позволяет принимать сообщения (строки текста) на заданном UDP-порту.

Обратите внимание на то, что данная команда будет завершать свою работу сразу же после приема первого сообщения. Если вы хотите принимать серию сообщений, вам придется использовать цикл while следующим образом:

8. Сохранение (сжатого) файла образа жесткого диска (например, /dev/sdb) на удаленном сервере

На удаленном сервере:

На локальном узле, на котором установлен жесткий диск:

9. Восстановление содержимого жесткого диска из сжатого файла образа, сохраненного на удаленном сервере

На локальном узле:

На удаленном сервере, на котором сохранен файл образа жесткого диска (например, /backup/sdb.img.gz):

10. Передача статической веб-страницы по аналогии с веб-сервером

Выполните приведенную ниже команду для запуска веб-сервера, который будет передавать веб-страницу с именем test.html клиентам, соединяющимся с портом 8000.

Теперь проверьте доступность веб-страницы, перейдя с помощью веб-браузера по адресу: http:// :8000/test.html . Обратите внимание на то, что для использования стандартного порта веб-сервера под номером 80 вам придется запустить nc с привилегиями пользователя root следующим образом:

11. Организация незащищенного чата между двумя узлами

На первом узле (192.168.233.203):

После выполнения двух приведенных выше команд все символы, введенные в окно терминала на любом из узлов появятся в окне терминала другого узла.

12. Запуск «удаленной командной оболочки», позволяющей выполнять произвольные команды на удаленном узле в процессе работы с локальным узлом

На удаленном узле (192.168.233.208):

На локальном узле:

После выполнения приведенной выше команды на локальном узле вы сможете выполнять любые команды на удаленном узле посредством окна терминала локального узла. Команды будут выполняться на удаленном узле, при этом вывод этих команд будет появляться в окне терминала локального узла. Данный подход может использоваться для создания бэкдора на удаленном узле.

13. Создание веб-прокси для определенного веб-сайта (например, google.com)

Приведенные выше команды позволяют создать именованный канал proxypipe и использовать утилиту nc для перенаправления всех соединений по протоколу TCP с портом 5000 локального узла на веб-сайт http://www.google.com посредством двунаправленного канала. После выполнения этих команд вы сможете попасть на главную страницу поисковой системы Google, введя в адресную строку веб-браузера адрес http://127.0.0.1:5000.

14. Создание SSL-прокси для определенного веб-сайта (например, google.com)

Приведенные выше команды позволяют использовать утилиту nc для создания прокси-сервера с поддержкой протокола SSL, позволяющего устанавливать соединения с веб-сайтом google.com.

15. Потоковая передача видеофайла с сервера и его просмотр с помощью проигрывателя mplayer на клиентской машине

На сервере потоковой передачи видео (192.168.233.208):

На клиентской системе:

16. Прием соединений по протоколу TCP на определенном порту с использованием адреса IPv6

Приведенные ниже команды позволяют утилите nc использовать адрес IPv6 при приеме соединений на TCP-порту. Это может понадобиться в процессе тестирования корректности настройки адресации IPv6 в сети.

Источник

Оцените статью