Это мой 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
Оригинальность непростая.Если вы считаете, что эта статья полезна для вас, ставьте лайк, комментируйте или пересылайте эту статью, потому что это будет моей мотивацией выпускать больше качественных статей, спасибо!
Кстати, друзья-копатели, не забудьте дать мне бесплатный подписчик! На случай, если ты заблудишься и не сможешь найти меня в следующий раз.
Увидимся в следующий раз!