Огляд можливостей та базових прийомів застосування утиліти netcat. Корисні приклади використання утиліти netcat у Linux Netcat команди

Відображення тестової HTML-сторінки клієнту зі звичайним браузером однією командою (порт 8080):
(echo -e "HTTP/1.1 200 OK\nContent-Type: text/html\n\n Hello World";) | nc-vv-l-p 8080
Передача файлу клієнту із звичайним браузером однією командою (порт 8080):
(echo -e "HTTP/1.1 200\nContent-Disposition: attachment; filename=цільове-ім'я-яке-побачить-клієнт\nContent-Type: application/octet-stream\nConnection: close\n"; cat ім'я-файла- на диску) | nc-vv-l-p 8080

Як користуватись nc?

(http://handynotes.ru/2010/01/unix-utility-netcat.html )

Почнемо з кількох простих прикладів і далі їх використовуватимемо як базові.
Якщо Ви пам'ятаєте, я казав, що netcat це швейцарський армійський ніж. Чим би цей ніж був, якби його не можна було використовувати як звичайний ніж? Ось чому netcat може використовуватись замість звичайного telnet:

$ nc www.google.com 80

Насправді він зручніший за звичайний telnet, тому що Ви можете завершити з'єднання в будь-який час, натиснувши Ctrl+C і він обробляє двійкові дані як звичайні (ніяких escape послідовностей, нічого).
Ви можете додати параметр "-v" для більш детального виведення результатів дій, а параметр (-vv) для отримання статистики про те, скільки байт було передано під час поточного сеансу з'єднання.
Netcat може бути використаний як сервер. Якщо ви запустите його, як зазначено нижче, він буде слухати на порту 12345 (на всіх інтерфейсах):

$ nc -l -p 12345

Тепер якщо Ви підключитеся до порту 12345 цього хоста, все, що Ви набираєте, буде передано віддаленій стороні, що говорить нам про те, що netcat можна використовувати як сервер чату. Запустіть на одному з комп'ютерів:

# На комп'ютері A з IP 10.10.10.10
$ nc -l -p 12345

І підключіться до нього з іншого:

# На комп'ютері B
$ nc 10.10.10.10 12345

Тепер обидві сторони можуть розмовляти!
Такий спосіб розмови, коли обидві сторони можуть розмовляти один з одним, робить можливим використання nc для операцій введення/виводу через мережу! Наприклад, Ви можете надіслати цілу директорію з одного комп'ютера на інший, організувавши tar конвеєр через nc на першому комп'ютері, і перенаправивши виведення в інший tar процес на другому.
Припустимо, Ви хочете переслати файли з директорії / data комп'ютера A з IP 192.168.1.10 на комп'ютер B (з будь-яким IP). Це просто:


$ tar -cf - / data | nc-l-p 6666


# На комп'ютері B
$ nc 192.168.1.10 6666 | tar -xf -

Не забудьте скомбінувати конвеєр з Рipe Viewer , який був описаний у попередній статті, щоб подивитися статистику того, як швидко відбувається передача!
Одиночний файл може бути надісланий простіше:

# На комп'ютері A з IP 192.168.1.10
$ cat file | nc-l-p 6666


# На комп'ютері B
$ nc 192.168.1.10 6666 > file

Ви навіть можете скопіювати та відновити цілий диск за допомогою nc:

# На комп'ютері A з IP 192.168.1.10
$cat /dev/hdb | nc-l-p 6666


# На комп'ютері B
$ nc 192.168.1.10 6666 > /dev/hdb

Зауважимо: Опція "-l" не може бути використана спільно з "-p" на комп'ютерах Mac! Рішення — просто замінити “-l -p 6666? на “-l 6666”. Як тут:

# тепер nc слухає на порту 6666 для комп'ютерів Mac
$ nc -l 6666

Непересічне використання netcat - сканування портів. Netcat не найкращий інструмент для такої роботи, але він із цим справляється (кращий, звичайно ж nmap):

$ nc -v -n -z -w 1 192.168.1.2 1-1000
(UNKNOWN) 445 (microsoft-ds) open
(UNKNOWN) 139 (netbios-ssn) open
(UNKNOWN) 111 (sunrpc) open
(UNKNOWN) 80 (www) open
(UNKNOWN) 25 (smtp) : Connection timed out
(UNKNOWN) 22 (ssh) Open

Параметр “-n” запобігає перегляду DNS, “-z” не чекає відповіді від сервера, та “-w 1? задає таймаут для з'єднання за 1 секунду.
Інше нетривіальне використання netcat у ролі проксі. І порт та хост можуть бути перенаправлені. Подивіться цей приклад:

$ nc -l -p 12345 | nc www.google.com 80

Ця команда запускає nc на порту 1234 та перенаправляє всі з'єднання на google.com:80. Якщо тепер Ви підключитеся до цього комп'ютера на порту 12345 і зробите запит, Ви виявите, що у відповідь не отримуєте жодних даних. Це правильно, тому що ми не встановили двонаправлений канал. Якщо Ви додасте другий канал, Ви отримаєте Ваші дані на іншому порту:

$ nc -l -p 12345 | nc www.google.com 80 | nc-l-p 12346

Після надсилання запиту на порт 12345, отримайте Ваші дані відповіді порту 12346.
Найімовірніша можливість netcat — запустити будь-який процес як сервер:

$ nc -l -p 12345 -e /bin/bash

Параметр "-e" вражає виконання введення та виведення перенаправляється через мережевий сокет. Тепер, якщо Ви підключитеся до хоста на порту 12345, Ви можете використовувати bash:
$ nc localhost 12345
ls -las
total 4288
4 drwxr-xr-x 15 pkrumins users 4096 2009-02-17 07:47 .
4 drwxr-xr-x 4 pkrumins users 4096 2009-01-18 21:22 ..
8 -rw——- 1 pkrumins users 8192 2009-02-16 19:30 .bash_history
4 -rw-r-r- 1 pkrumins users 220 2009-01-18 21:04 .bash_logout

(http://execbit.ru/2011/05/23/netcat/)
1 Передавати файли (першу команду виконуємо на приймаючій машині, другу - на передавальної:

$ nc -l 31334 > filename $ nc 172.16.69.143 31334< filename

$nc -f /var/log/messages | nc -l 31334 $ nc 172.16.69.143 31334

3 Використовувати замість telnet (перша – telnet-сервер, друга – клієнт):

$ nc -l -p 31334 -e /bin/sh $ nc 172.16.69.143 31334

4 Сканувати на відкриті порти:

$nc-z execbit.ru 1-1024

5 Здійснювати фінгерпринт сервісів на основі банерів:

$ echo "QUIT" | nc execbit.ru 1-1024

6 Організовувати зворотний шелл (перша – клієнт, друга – сервер, проте шелл відкриється від сервера до клієнта).

Майже у будь-якому дистрибутиві Linux є маленька непомітна утиліта netcat, або просто nc. Ця програма може створювати TCP-сокети або в режимі сервера для очікування з'єднання, або в режимі клієнта для підключення до сервера. А по правді сказати, для netcat зовсім не відіграє ролі, чи збираєтеся ви використовувати його як сервер або як клієнт - його робота полягає тільки в тому, щоб зібрати дані зі stdin і передати на вказану мережеву адресу.

Найпростіший приклад використання netcat – це створити клієнт-серверний чат. Хоча це дуже примітивний спосіб створення чату, він наочно показує, як дана утиліта працює. У наступних прикладах буде на увазі, що машина, що створює сокет в режимі очікування (сервер), має IP-адресу 192.168.0.1. Отже, створюємо чат-сервер, який чекатиме з'єднань на TCP-порт 3333:

$ nc -l 3333

Тепер ми можемо з іншого комп'ютера підключитися до сервера:

$ nc 192.168.0.1 3333

У разі клавіатура виступає у ролі stdin. Все, що набирається на клавіатурі на стороні сервера, буде передано на термінал клієнта, і навпаки.

Передача файлів

Так само можна використовувати netcat для передачі файлів між двома комп'ютерами. За допомогою наступної команди можна створити сервер, який підготує файл до передачі:

Отримати файл backup.iso на іншому комп'ютері можна так:

$ nc 192.168.0.1 3333 > backup.iso

Як можна помітити, netcat не відображає жодної інформації про процес передачі даних. Працюючи з великими файлами це може бути досить незручно. Для вирішення цієї проблеми можна використати утиліту (progress viewer). В даному прикладі на стороні сервера буде в реальному часі відображатися інформація про швидкість та обсяг передаваних даних:

$ cat backup.iso | pv-b | nc -l 3333

Подібним чином можна показувати статистику на стороні клієнта:

$ nc 192.168.0.1 3333 | pv -b > backup.iso

Інші приклади

Утиліта netcat може також стати в нагоді для створення образу розділу жорсткого диска з можливістю відправлення його на віддалений сервер на льоту:

$dd if=/dev/hdb5 | gzip-9 | nc -l 3333

А на віддаленій машині прийняти створений образ можна так:

$ nc 192.168.0.1 3333 | pv -b > myhdb5partition.img.gz

У разі необхідності надсилання групи файлів – наприклад, набору конфігураційних файлів – можна скомбінувати netcat та архіватор tar:

$tar-czf - /etc/ | nc -l 3333

Дефіс як ім'я файлу в параметрах tar необхідний для того, щоб вивести результат роботи архіватора на stdin, який потім перенаправляється в netcat. Прийняти створений бекап на віддаленій машині можна аналогічно до викладеного раніше:

$ nc 192.168.0.1 3333 | pv -b > mybackup.tar.gz

Безпека

Очевидно, що при подібному використанні netcat інформація передається через мережу у вихідному нешифрованому вигляді. Для передачі некритичних даних це цілком прийнятно, але при передачі будь-якої цінної інформації розумно використовувати netcat у поєднанні з SSH-тунелем.

Використання SSH-тунелю має дві переваги:

  1. Інформація передається всередині зашифрованого тунелю, тому вона добре захищена;
  2. На сервері не потрібно відкривати додаткових портів у конфігурації файрвола, оскільки з'єднання буде встановлено через SSH

На стороні сервера файл у netcat виставляється так само, як описано раніше:

$ cat backup.iso | nc -l 3333

А ось на стороні клієнта підключаємося до сокету netcat, що очікує, через SSH-тунель:

$ ssh -f -L 23333:127.0.0.1:3333 [email protected] 68.0.1 sleep 10; \ nc 127.0.0.1 23333 | pv -b > backup.iso

Зрозуміло, що є й інші способи приміщення з'єднання в SSH-тунель, але створення та використання тунелю саме таким чином має корисну особливість, що тунель автомагічно закривається після закінчення передачі даних через netcat.

…і переносний сканер портів

Неймовірно, але netcat ще можна використовувати для сканування відкритих портів. Для цього допоможе параметр -z:

$ nc -z 192.168.0.1 80-90 Connection to 192.168.0.1 80 port succeeded!

У цьому прикладі netcat сканував діапазон портів 80-90 і повідомив, що на віддаленій машині відкрито порт 80.

На сторінках man по утиліті netcat також міститься і ряд інших корисних порад та цікавих прикладів використання цієї програми.

У цій статті я розгляну популярну мережеву утиліту netcat та корисні трюки під час роботи з нею.


Netcat – утиліта Unix, що дозволяє встановлювати з'єднання TCP та UDP, приймати звідти дані та передавати їх. Незважаючи на свою корисність і простоту, багато хто не знає способів її застосування і незаслужено обходить її стороною.


За допомогою даної утиліти можна робити деякі етапи під час проведення тестування на проникнення. Це може бути корисно, коли на атакованій машині відсутні (або привернуть увагу) встановлені пакети, є обмеження (наприклад, IoT/Embedded пристрою) і т.д.


Що можна зробити за допомогою Netcat:

  • Сканувати порти;
  • Перенаправляти порти;
  • Здійснювати збір банерів сервісів;
  • Слухати порт (біндити для зворотного з'єднання);
  • Завантажувати та закачувати файли;
  • Виводити вміст raw HTTP;
  • Створити міні-чат.

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

Практичні приклади

У багатьох випадках при необхідності перевірки того чи іншого хоста використовують телнет або власні сервісні служби для виявлення хоста або банера. Як нам може допомогти netcat:

Перевірка наявності відкритого TCP-порту 12345

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

$ nc -v 192.168.1.100 22
Connection to 192.168.1.100 22 port succeeded!
SSH-2.0-OpenSSH

Сканування TCP-портів за допомогою netcat:

$ nc -vnz 192.168.1.100 20-24

При такому скануванні не буде з'єднання з портом, а лише виведення успішного з'єднання:


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 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:


$ nc -vnzu 192.168.1.100 5550-5560
Connection to 192.168.1.100 port 5555 succeeded!

Надсилання UDP-пакету

$ echo-n "foo" | nc -u -w1 192.168.1.100 161

Це може бути корисним при взаємодії з мережевими пристроями.

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

$ nc -u localhost 7777

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


$ while true; do nc-u localhost 7777; done

Передача файлів. За допомогою netcat можна як отримувати файли, так і передавати на віддалений хост:


nc 192.168.1.100 5555< 1.txt
nc -lvp 5555 > /tmp/1.txt

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

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


$ while true; do nc -lp 8888< index.html; done

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


$ while true; do sudo nc -lp 80< test.html; done

Чат між вузлами

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


$ nc -lp 9000

На другому вузлі:


$ nc 192.168.1.100 9000

Після виконання команд усі символи, введені у вікно терміналу будь-якому з вузлів з'являться у вікні термінала іншого вузла.

Реверс-Шел

За допомогою netcat можна організувати зручний реверс-шелл:


nc -e /bin/bash-lp 4444

Тепер можна з'єднатися з віддаленого вузла:


$ nc 192.168.1.100 4444

Не варто опускати руки, якщо немає тих чи інших інструментів, часто досить громіздких, іноді завдання можна вирішити підручними засобами.

Кафедра проектування доріг

Лабораторна робота №1

з курсу «Інформатика»

Виконав студент гурту №114359 Райхман Сергій Юрійович

Перевірив

Лабораторна робота №1

Тема:Сервісна програма Norton Commander

Ціль:Навчитися здійснювати керування комп'ютером за допомогою Norton Commander

Norton Commander дозволяє виконувати такі функції: 1) виконувати функції MS-DOS; 2) Відображати вміст каталогів на дисках; 3) зображати дерево каталогів на диску; 4) переглядати файли; 5) редагувати текстові файли; видаляти файли; 7) змінювати атрибути файлів.

Запуск Norton Commander

Для запуску Norton Commander необхідно набрати командний рядок “nc” і натиснути “Enter” (введення). Вихід із Norton Commander – клавіша F10 або ALT+X

Вигляд екрану та панелей

Після запуску Norton Commander на екрані з'являються два прямокутні вікна (панелі).


Нижче цих панелей розміщується запрошення MS-DOS та інформаційний рядок зі значеннями функціональних клавіш.

F1 HELP – коротка інформація про призначення клавіш під час роботи NC.

F2 MENU – меню користувача

F3 VIEW – перегляд текстового файлу, документа

F4 EDIT – редагування текстового файлу

F5 COPY – копіювання файлів

F6 RENMOV – пересилання, перейменування файлу

F7 MKDIR – створення каталогу (підкаталогів)

F8 DELETE – видалення файлів або підкаталогів

F9 PULL DN – у верхньому рядку екрана відображаються меню, що містять режими роботи NC.

F10 QUIT – вихід із NC

Меню під час натискання клавіші F9

Left та Right – задаються режими виведення інформації на лівій та правій панелях

Files – проводяться різні операції із файлами

Commands – виконуються різні команди NC, визначається конфігурація NC і режими роботи.

Один із пунктів меню є виділеним, для вибору іншого пункту користуються стрілками<¬>, <­>, <®>, <¯>та натискається клавіша “Enter”.

Виділення файлів

Для копіювання, видалення, переміщення файлів необхідно виділити їх натисканням клавіші Ins. Щоб скасувати виділення, необхідно повторно натиснути “Ins”. Внизу панелі з'являється інформація про кількість виділених файлів.

Створення каталогу

Для створення каталогу натиснути клавішу F7, набрати його ім'я, натиснути Enter.

Для входу в каталог необхідно на ім'я натиснути клавішу “Enter”. При натисканні клавіш “ALT+F10” на екрані відображається дерево каталогів. Клавішами переміщення курсору можна швидко переміститись у потрібний підкаталог.

Основні клавіші NC

TAB – перехід на іншу панель

ALT+F1 – виведення у лівій панелі змісту іншого диска.

ALT+F2 – виведення у правій панелі змісту іншого диска

CTRL+F1 – прибрати ліву панель із екрана

CTRL+F2 – прибрати праву панель із екрана

CTRL+O – прибрати обидві панелі

CTRL+U – поміняти панелі подекуди

Для запуску комп'ютера необхідно в рядку запрошення набрати “LOGIN”, ввести пароль (335_2).

Завдання з лабораторної роботи

За допомогою команд створити на диску структуру підкаталогів:


nc [-46bCDdhklnrStUuvZz] [-I length] [-i interval] [-O length] [-P proxy_username] [-p source_port] [-q seconds] [-s source] [-T toskeyword] [-V rtable] [-w timeout] [-X proxy_protocol] [-x proxy_address[:port]] [destination] [port]

Options

-4 Forces nc use IPv4 адреси тільки.
-6 Forces nc use IPv6 адреси тільки.
-b Allow broadcast.
-C Send as line-ending.
-D Enable debugging on the socket.
-d Do not attempt to read from stdin .
-h Prints out nc help.
-I length Specifies the size of the TCP receive buffer.
-i interval Відповідні значення часу між лініями тексту є і отримані. Also, causas a delay time між connections to multiple ports.
-k Forces ncдо статі listening для іншого зв'язку після його поточного зв'язку є повним. It is an error to use this option without the -l option.
-l Used to specify that nc should listen for an incoming connection rather than initiate a connection to a remote host . It is an error to use this option in conjunction with the -p, -s, or -z options. Additionally, any timeouts specified with the -w option є ignored.
-n Do not do any DNS або служби lookups на будь-які спеціальні адреси, hostnames or ports .
-O length Специфікація розміру TCP send buffer.
-P proxy_username Відображає username для цього до проксі-серверу, що вимагає authentication . Якщо не username is specified the authentication не буде attempted. Proxy authentication is only supported для HTTP CONNECT proxies at present.
-p source_port Відповідні джерела порту NC повинні використовуватися, досліджувати привілеї обмеження та наявність.
-q seconds після EOF на stdin, витікає конкретний номер секунд і буде розбитий. If seconds is negative, wait forever.
-r Специфіки того, що джерело або поряд з портами повинні бути chosen randomly instead of sequentially within range or in the order that the system assigns them.
-S Enables the RFC 2385 TCP MD5 signature option.
-s source Відповідь про те, що використовується в одному пакеті . Для UNIX-domain datagram sockets, specifies the local temporary socket file to create and use so that datagrams can be received. It is an error to use this option in conjunction with the -l option.
-T toskeyword Change IPv4 TOS value. toskeyword may be one of critical, inetcontrol, lowcost, lowdelay, netcontrol, throughput, reliability, або один з DiffServ Code Points: ef, af11 ... af43, cs0 ... cs7; or a number in either hex or decimal .
-t Causes ncдо send RFC 854 DON"T and WON"T відповідають RFC 854 DO and WILL requests. Це дозволяє це використовувати nc до script telnet sessions.
-U Специфікація для використання UNIX-domain sockets.
-u Використовуйте UDP, щоб зазначити те, що додаткові параметри TCP. Для UNIX-домових сокетів, використовуючи datagram ліхтарі встановлюються на stream ліхтарі. Якщо UNIX-domain socket is used, a temporary receiving socket is created in /tmp unless the -s flag is given.
-V rtable Set the routing table to be used. The default is 0.
-v Have nc give more verbose output.
-w timeout Connections which cannot be established або є idle timeout after timeout seconds. The -w flag has no effect on the -l option, i.e. nc will listen forever for connection, with or without the -w flag. The default is no timeout.
-X proxy_protocol Requests that nc should use the specified protocol when talking to the proxy server. Supported protocols are " 4 (SOCKS v.4), " 5 (SOCKS v.5) and " connect" (HTTPS proxy). Якщо protocol не specified, SOCKS version 5 is used."
-x proxy_address[:port] Requests that nc should connect to destination using a proxy at proxy_address and port. If port is not specified, well-known port for proxy protocol is used (1080 for SOCKS, 3128 for HTTPS).
-Z DCCP режим.
-z Відповідь, що NC повинен тільки сканувати для друкованих daemons, беззапису any data to them. It is an error to use this option in conjunction with the -l option.

destination can be a numerical IP address or a symbolic hostname (unless the -n option is given). У загальному, a destination must be specified, unless the -l option is given (у яких випадку local host is used). Для UNIX-domain sockets, a destination is required and is the socket path to connect to (or listen on if the -l option is given).

port can be a single integer or a range of ports. Ranges are in the form nn-mm. У загальному, на destination port must be specified, unless the -U option is given.

Client/Server model

It is quite simple to build a very basic client/server model using nc. On one console, start nc listening on a specific port for a connection. For example:

Nc-l 1234

nc is now listening on port 1234 for a connection. On a second console (or a second machine), connect to the machine and port being listened on:

Nc 127.0.0.1 1234

Вони повинні бути зв'язані між портами. Anything typed at second console will be concatenated to the first, and vice-versa. Після підключення було встановлено, nc does not really care which side is being used as 'server' and which side is being used as 'client'. The connection may be terminated using an EOF (‘ ^D’).

There is no -c or -e option в сучасний netcat, але ви можете виконувати команду після підключення, встановлений за реdirecting файли descriptors. Для того, щоб отримати доступ до порту й року будь-якого з'єднаного execute arbitrary command on your site is DANGEROUS. If you really need to do this, here is an example:

On 'server' side:

Rm-f/tmp/f; mkfifo /tmp/f cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f

On 'client' side:

Nc host.example.com 1234

(shell prompt from host.example.com)

Start by using nc to listen on a specific port, with output captured into a file:

Nc-l 1234 > filename.out

Using a second machine, connect to the listening nc process, feeding it the file that is to be transferred:

Nc host.example.com 1234< filename.in

Після того, як файл передається, зв'язок буде здійснено автоматично.

Talking to servers

Це є деякі можливості, які використовуються для розмов на серверах "завдяки", тому що через user interface. Це може знадобитися в правилах, якщо це потрібно, щоб дізнатися, скільки часу на сервері є повідомлення в відповіді до повідомлень, що використовується для клієнта. Для прикладу, відвідайте домашню сторінку з веб-сайту:

Printf "GET / HTTP/1.0\r\n" | nc host.example.com 80

Зверніть увагу, що це також displays the headers sent by the web server. They can be filtered, using a tool such as sed, якщо необхідно.

More complicated examples can be built up when the user knows the format of requests required by the server. Як інший example, e-mail може бути submitted to an SMTP server using:

Nc [-C] localhost 25<< EOF HELO host.example.com MAIL FROM:< >RCPT TO:< >DATA Body of e-mail. . QUIT EOF

Port scanning

Це може бути корисним для знань, які порти є Open and Running Services on target machine. The -z flag can be used to tell ncдо повідомлень відкритих портів, ще й ті, що викликають зв'язок. Зазвичай, це useful to turn on verbose output to stderr use this option in conjunction with -v option.

Nc -zv host.example.com 20-30 Connection to host.example.com 22 port succeeded! Connection to host.example.com 25 port succeeded!

The port range був specified to limit the search to ports 20 - 30 , і це сканується через збільшення ордер.

Ви можете як особливість сторінки з портів для сканування, для прикладу:

Nc -zv host.example.com 80 20 22 nc: connect to host.example.com 80 (tcp) failed: Connection refused nc: connect to host.example.com 20 (tcp) failed: Connection refused Connection to host.example .com port succeeded!

Порти є скановані відповідно до вас.

З іншого боку, це може бути застосовано до знання, за яким сервером software is running, and which versions. Ця інформація міститься в greeting banners. Для того, щоб відновити це, це необхідно, щоб перший з'єднатися, і буде перерва з'єднання, коли banner був відновлений. This can be accomplished by specifying a small timeout with the -w flag, або perhaps by issuing a "QUIT" command to the server:

Echo "QUIT" | nc host.example.com 20-30 SSH-1.99-OpenSSH_3.6.1p2 Protocol mismatch. 220 host.example.com IMS SMTP Receiver Version 0.84 Ready

Examples

nc -p 31337 -w 5 host.example.com 42

Opens a TCP connection to port 42 of host.example.com, using port 31337 as the source port, with a timeout of 5 seconds.

Nc -u host.example.com 53 nc -x10.2.3.4:8080 -Xconnect -Pruser host.example.com 42

Той самий як докладніше, але цей час підтримує proxy authentication with username " ruser if the proxy requires it.

Related commands

ifconfig— View or modify the configuration of network interfaces.

Поділитися