Инструмент сканирования портов NMAP, yyds!

задняя часть Linux Эксплуатация и техническое обслуживание
Инструмент сканирования портов NMAP, yyds!

Это мой 30-й день в Gengwen Challenge, ознакомьтесь с подробностями мероприятия: больше текстового задания


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

Добро пожаловать в поиск WeChat »ИТ-путешествие Джейка"обрати внимание на!

Оригинальная ссылка:В среде Linux я использовал этот инструмент сканирования портов~

предисловие

Чтобы защитить компьютер от атак и различных вирусов и троянов, мы действительно можем принять меры на сетевых устройствах для блокировки и фильтрации некоторых пакетов данных, но важно то, что пользователи должны иметь определенную осведомленность и принимать меры для предотвращения собственный компьютерный сейф;

Итак, чем я хочу поделиться с вами сегодня, так это тем, что помимо использования команд netstat, natcat и lsof для просмотра состояния машины под операционной системой Linux, есть ли какой-либо другой способ его просмотра?

1. Что такое сетевой порт?

Сетевой порт: его можно рассматривать как канал, когда протокол транспортного уровня TCP или UDP обменивается данными с различными протоколами прикладного уровня. Заголовки пакетов данных протоколов TCP и UDP используют 16-битное поле для хранения номера порта назначения и номера порта источника, максимум: 65535.

Два, два способа использования сетевого порта

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

Три, netstat, netcat, пример состояния порта просмотра lsof

netstat

Формат команды: netstat [-option1] [-option2] ...

Общие параметры:

  • -l: Показать прослушиваемые порты TCP и UDP;
  • -a: Показать все активные TCP-соединения;
  • -A или - перечисляет соответствующие адреса в соединении этого типа сети;
  • -n: указывает адрес и номер порта в виде числа;
  • -s: Показать статистику всех протоколов;
  • -r: Показать содержимое таблицы IP-маршрутизации;
  • -p: отображать идентификатор программы и имя программы для каждого используемого активного соединения;
  • -i: Показать статистику сетевых интерфейсов;
  • -t: отображать только состояние подключения и прослушивания порта, связанное с протоколом TCP;
  • -u: отображать только статус прослушивания порта, связанный с протоколом UDP;
  • -w: отображать только исходный статус интерфейса;
[root@localhost ~]# netstat -anpt | grep 631
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1218/cupsd
tcp 0 0 ::1:631 :::* LISTEN 1218/cupsd

netcat

nc -vv Номер IP-порта: означает, что только порт IP-адреса находится в нормальном состоянии (успешно: успешно, Соединение отклонено: соединение отклонено)

nc -z номер IP-порта; echo $?: означает определить, является ли порт IP-адреса неправильным (0: нет ошибок, 1: неправильно)

[root@localhost ~]# nc -vv 192.168.1.127 22
Connection to 192.168.1.127 22 port [tcp/ssh] succeeded!
SSH-2.0-OpenSSH_5.3
[root@localhost ~]# nc -z 192.168.1.127 22; echo $?
Connection to 192.168.1.127 22 port [tcp/ssh] succeeded!
0
[root@localhost ~]# nc -vv 192.168.1.127 3306
nc: connect to 192.168.1.127 port 3306 (tcp) failed: Connection refused

lsof

lsof Просмотр формата синтаксиса занятого порта: lsof -i: номер порта

[root@localhost ~]# lsof -i:631
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
cupsd 1218 root 6u IPv6 12257 0t0 TCP localhost:ipp (LISTEN)
cupsd 1218 root 7u IPv4 12258 0t0 TCP localhost:ipp (LISTEN)
cupsd 1218 root 9u IPv4 12261 0t0 UDP *:ipp

Хотя приведенные выше методы являются методом реализации, следующим шагом является инструмент сканирования портов NMAP, которым я хочу поделиться с вами сегодня ~

图片

4. Введение в NMAP

NMAP — это бесплатный инструмент для сканирования сети и мониторинга хостов с открытым исходным кодом, который в основном используется для сканирования сетевых портов группы хостов, и все межсерверные программы должны предоставлять внешние услуги через сетевые порты. Например, некоторые общие номера портов: 21 (FTP-сервис), 22 (SSH-соединение), 80 (HTTP-сервис) и т. д., то мы можем получить много информации через порты, открытые этими серверами.

NMAP также является широко используемым инструментом сетевой безопасности.Хакеры обычно используют такие инструменты для поиска целей атаки и информации о сетевых портах целевых хостов перед атакой, чтобы использовать другие средства для атаки.

Затем мы также можем использовать такие инструменты для определения эффективности безопасности сети для предотвращения атак.

图片

Адрес официального сайта:nmap.org/

Пять, функции NMAP

  • гибкий
  • Мощный
  • удобный
  • Простой
  • Бесплатный и с открытым исходным кодом

图片

6. Формат команды NMAP

nmap [тип сканирования] [параметры сканирования]

7. Основные операции с параметрами NMAP

nmap 127.0.0.1 без каких-либо параметров будет сканировать хост 127.0.0.1 на наличие открытых портов и имен служб по умолчанию.

[root@localhost ~]# nmap 127.0.0.1

Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:59 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000040s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
111/tcp open rpcbind
631/tcp open ipp

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds

Используйте параметр -sT, чтобы попытаться установить соединение с каждым TCP-портом целевого хоста, посмотреть, какие порты открыты и какие службы запущены;

Например: просканируйте веб-сайт GitHub, чтобы узнать, какие порты открыты.

[root@localhost ~]# nmap -sT www.github.com

Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:24 CST
Nmap scan report for www.github.com (52.74.223.119)
Host is up (0.15s latency).
rDNS record for 52.74.223.119: ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com
Not shown: 996 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
9418/tcp open git

Nmap done: 1 IP address (1 host up) scanned in 70.72 seconds

Сканируйте указанный IP-адрес, чтобы увидеть, какие открытые порты существуют.

[root@localhost ~]# nmap -sT 220.181.38.150

Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:40 CST
Nmap scan report for 220.181.38.150
Host is up (0.0056s latency).
Not shown: 999 filtered ports
PORT STATE SERVICE
443/tcp open https

Nmap done: 1 IP address (1 host up) scanned in 4.64 seconds
  • Параметр -O: определить операционную систему хоста;
  • -sV параметр: определить программное обеспечение, работающее на порту;

Объединив два вышеуказанных параметра, просканируйте операционную систему хоста веб-сайта baidu и какое программное обеспечение работает на сканируемом порту?

После сканирования мы видим, что номера портов следующие: 80 и 443, работающие под управлением программного обеспечения Microsoft Windows UPnP (Microsoft Windows);

[root@localhost ~]# sudo nmap -O -sV www.baidu.com

Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:32 CST
Nmap scan report for www.baidu.com (220.181.38.150)
Host is up (0.015s latency).
Other addresses for www.baidu.com (not scanned): 220.181.38.149
Not shown: 998 filtered ports
PORT STATE SERVICE VERSION
80/tcp open upnp Microsoft Windows UPnP
443/tcp open ssl/upnp Microsoft Windows UPnP
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: switch
Running: HP embedded
OS details: HP 4000M ProCurve switch (J4121A)
Service Info: OS: Windows

OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 22.87 seconds

Помимо вышеописанного метода сканирования доменных имен, по IP также можно сканировать операционную систему указанного хоста и программное обеспечение, работающее на порту;

[root@localhost ~]# sudo nmap -O -sV 220.181.38.150

Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:35 CST
Nmap scan report for 220.181.38.150
Host is up (0.015s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE VERSION
80/tcp open upnp Microsoft Windows UPnP
443/tcp open ssl/upnp Microsoft Windows UPnP
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: switch
Running (JUST GUESSING): HP embedded (86%)
Aggressive OS guesses: HP 4000M ProCurve switch (J4121A) (86%)
No exact OS matches for host (test conditions non-ideal).
Service Info: OS: Windows

OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 21.82 seconds
  • Параметр -sS: отправить пакет TCP SYN на определенный порт цели, а затем определить, находится ли порт в состоянии прослушивания, в соответствии с различными ответами другой стороны.
[root@localhost ~]# nmap -sS www.github.com

Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-28 05:03 CST
Nmap scan report for www.github.com (13.229.188.59)
Host is up (0.15s latency).
rDNS record for 13.229.188.59: ec2-13-229-188-59.ap-southeast-1.compute.amazonaws.com
Not shown: 996 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
9418/tcp open git

Nmap done: 1 IP address (1 host up) scanned in 32.39 seconds
  • Параметр -sA представляет собой сканирование TCP ACK, которое используется только для определения набора правил брандмауэра и не сканирует порт самого целевого хоста.
[root@localhost ~]# nmap -sA www.newrank.cn

Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-28 05:25 CST
Nmap scan report for www.newrank.cn (47.99.2.204)
Host is up (0.029s latency).
All 1000 scanned ports on www.newrank.cn (47.99.2.204) are filtered

Nmap done: 1 IP address (1 host up) scanned in 17.63 seconds
  • Параметр -sW аналогичен сканированию TCP ACK и может обнаруживать открытые порты.
[root@localhost ~]# nmap -sW www.newrank.cn

Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-28 05:55 CST
Nmap scan report for www.newrank.cn (47.99.2.204)
Host is up (0.032s latency).
All 1000 scanned ports on www.newrank.cn (47.99.2.204) are filtered

Nmap done: 1 IP address (1 host up) scanned in 46.43 seconds
  • Параметр -PN заставляет nmap сканировать такие хосты.
[root@localhost ~]# nmap -sT -PN 220.181.38.150

Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:41 CST
Nmap scan report for 220.181.38.150
Host is up (0.0053s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Nmap done: 1 IP address (1 host up) scanned in 4.00 seconds
[root@localhost ~]# nmap -sT -PN -p1-5000 192.168.1.127

Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:51 CST
Nmap scan report for 192.168.1.127
Host is up (0.00058s latency).
Not shown: 4998 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind

Nmap done: 1 IP address (1 host up) scanned in 0.25 seconds

В дополнение к вышеперечисленным параметрам есть несколько менее часто используемых параметров.

Например:

  • -sF: отправить пакет TCP FIN цели и судить по ответу цели;
[root@localhost ~]# nmap -sF www.newrank.cn
  • -sX: послать целевому пакету TCP NULL и судить по ответу целевого;
[root@localhost ~]# nmap -sX www.newrank.cn
  • -sN: отправлять пакеты FIN, PSH, URG цели и судить в соответствии с ответом цели;
[root@localhost ~]# nmap -sN www.newrank.cn
  • -sR: используется для подтверждения того, что это порт RPC;
[root@localhost ~]# nmap -sR www.newrank.cn
  • -sU: подтвердить, какие порты UDP открыты;
[root@localhost ~]# nmap -sU www.newrank.cn
  • -sP: Отправить пакет TCP ACK цели, если есть ответ, цель активна;
[root@localhost ~]# nmap -sP www.newrank.cn

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

Кстати, друзья-копатели, не забудьте дать мне бесплатный подписчик! На случай, если ты заблудишься и не сможешь найти меня в следующий раз.

Увидимся в следующий раз!