Сбор информации о сети
Эта статья носит общепознавательный характер, так как для большинства, приведенные примеры не будут чем то новым, так же целью автора не является углубляться в те или иные темы, поскольку полноценную информацию об nmap, вы без труда можете найти в сети. Сбор информации о сети довольно интересное и иногда сложное занятие, в идеале вы должны обладать сильными навыками в архитектуре сетей и TCP\IP стека. Однако, даже далеко не все системные администраторы могут похвастаться такого качества знаниями. Что уж говорить когда речь идет о пользователях. Администраторы например могут сканировать свою сеть и хосты в ней, с целью обнаружения пробелов в безопасности. Любопытные просто могут совершенствовать свой навык с компьютером и сетью, злоумышленник, о них и писать не стоит, эти ребята знают что делают и без моих советов. И все таки, надеюсь эта статься будет вам интересно, в ней собраны реальные примеры, а все операции вам придется выполнять из командной строки руками, что может обогатить ваш опыт работы с Линукс, а так же, возможно вы откроете для себя что то новое.
Простой пример
Вы подключились к бесплатной Wi-Fi сети и знаете, что там точно есть интернет, но к сожалению, админы сети забыли запустить DHCP сервер. Это значит, что для того, что бы подключиться к сети и начать сёрфинг в интернет, вам необходимо собрать следующие данные:
— IP address сети
— Маска сети
— DNS сервера в сети
— Шлюз
Задача: Собрать как можно больше полезной информации о сети к которой вы подключились.
Методика
Первое, что нужно сделать, это просмотреть таблицу маршрутизации ядра в сети:
booch@alexlinux:~$ netstat -r Таблица маршрутизации ядра протокола IP Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 wlan0 link-local * 255.255.0.0 U 0 0 0 wlan0 default 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0
booch@alexlinux:~$ netstat -r Таблица маршрутизации ядра протокола IP Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 wlan0 link-local * 255.255.0.0 U 0 0 0 wlan0 default 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0
где
— r — выдать хранящуюся в ядре таблицу маршрутизации
Таким образом мы получили адрес шлюза сети, это 192.168.1.1
Маску сети 255.255.255.0
Теперь не помешало бы узнать DNS, его может спалить нам шлюз:
booch@alexlinux:~$ host -aT 192.168.1.1 Trying "1.1.168.192.in-addr.arpa" Host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN) Received 98 bytes from 80.179.52.100#53 in 14 ms
booch@alexlinux:~$ host -aT 192.168.1.1 Trying "1.1.168.192.in-addr.arpa" Host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN) Received 98 bytes from 80.179.52.100#53 in 14 ms
Эта команда более актуальна для доменов, но и тут результат не плохой, мы можем видеть, что первый DNS в сети это 80.179.52.100
Так же, узнать DNS в сети поможет команда:
booch@alexlinux:~$ nslookup 192.168.1.1 Server: 80.179.52.100 Address: 80.179.52.100#53 ** server can't find 1.1.168.192.in-addr.arpa.: NXDOMAIN
booch@alexlinux:~$ nslookup 192.168.1.1 Server: 80.179.52.100 Address: 80.179.52.100#53 ** server can't find 1.1.168.192.in-addr.arpa.: NXDOMAIN
Данные которые мы получили:
IP-адрес сети: 192.168.1.0
Маска сети: 255.255.255.0
Шлюз: 192.168.1.1
DNS сервер: 80.179.52.100
Теперь вы можете смело подключать к сети.
Пропингуйте любой адрес сети, типа 192.168.1.133 что бы узнать свободен он или нет.
Далее откройте файл:
Впишите туда собранные данные:
auto lo iface eth0 inet static #наш интерфейс address 192.168.1.133 #указываем IP-адрес машины netmask 255.255.255.0 #указываем маску подсети gateway 192.168.1.1 #указываем шлюз
auto lo iface eth0 inet static #наш интерфейс address 192.168.1.133 #указываем IP-адрес машины netmask 255.255.255.0 #указываем маску подсети gateway 192.168.1.1 #указываем шлюз
Так же не забудьте файл /etc/resolv.conf:
Пропишите там DNS сервер:
Не забудьте, что в Убунту вам понадобиться уронить NM:
Рестартуем сеть:
Возможно в сети есть открытые виндозные шары, в таком случае неплохо было бы это узнать:
Таким образом вы получите все данные о доступных сетевых папках и принтерах.
Сканирование
Так же полезным было бы узнать, сколько компьютеров уже подключено к сети, какие ОС они используют, какие порты на них открыты, и наконец какие IP-адреса им принадлежат.
Нам известно, что адрес сети 192.168.1.1, соответственно мы можем просветить все адреса в сети, зная что первый будет 192.168.1.1 а последний 192.168.1.254
В сканировании сети нам поможет утилита nmap.
Давайте начнем с простого:
booch@alexlinux:~$ nmap 192.168.1.1-254 Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:15 IDT Interesting ports on 192.168.1.1: Not shown: 955 filtered ports, 44 closed ports PORT STATE SERVICE 80/tcp open http Interesting ports on 192.168.1.100: Not shown: 996 closed ports PORT STATE SERVICE 80/tcp open http 139/tcp open netbios-ssn 777/tcp open unknown Interesting ports on 192.168.1.102: Not shown: 991 closed ports PORT STATE SERVICE 22/tcp open ssh 111/tcp open rpcbind 1151/tcp filtered unknown 1233/tcp filtered unknown 1501/tcp filtered sas-3 2049/tcp open nfs 6006/tcp filtered X11:6 9110/tcp filtered unknown 10180/tcp filtered unknown Nmap done: 254 IP addresses (3 hosts up) scanned in 54.73 seconds
booch@alexlinux:~$ nmap 192.168.1.1-254 Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:15 IDT Interesting ports on 192.168.1.1: Not shown: 955 filtered ports, 44 closed ports PORT STATE SERVICE 80/tcp open http Interesting ports on 192.168.1.100: Not shown: 996 closed ports PORT STATE SERVICE 80/tcp open http 139/tcp open netbios-ssn 777/tcp open unknown Interesting ports on 192.168.1.102: Not shown: 991 closed ports PORT STATE SERVICE 22/tcp open ssh 111/tcp open rpcbind 1151/tcp filtered unknown 1233/tcp filtered unknown 1501/tcp filtered sas-3 2049/tcp open nfs 6006/tcp filtered X11:6 9110/tcp filtered unknown 10180/tcp filtered unknown Nmap done: 254 IP addresses (3 hosts up) scanned in 54.73 seconds
Как мы можем видеть, результат не плох, но и не точен. Забегая вперед скажу, что в сети на самом деле подключены 4 устройства, это:
192.168.1.1 — роутер
192.168.1.100 — головной компьютер
192.168.1.101 — телефон iPhone
192.168.1.102 — нетбук
Как видно из листинга nmap обнаружил всего три устройства с адресами: 192.168.1.1, 192.168.1.100, 192.168.1.102
iPhone — остался не замеченным.
Зато мы получили список открытых портов и служб запущенных на них.
Давайте теперь покопаемся немного глубже в сети и попробуем всё таки определеть все устройства, так например компьютеры на которых установлен Antivirus Kaspersky часто не желают палиться, плюс некоторые компьютеры так же успешно скрывают свое пребывание в сети, прячась за файерволами и брендмаурами.
-sP — scan Ping — сканнер просто опрашивает все компьютеры в сети. Вот почему iPhone не удалось закопаться, так как любое устройство отвечает на ping пакеты.
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:31 IDT Host 192.168.1.1 is up (0.0071s latency). MAC Address: 00:25:86:C0:3B:AC (Tp-link Technologies Co.) Host 192.168.1.100 is up. Host 192.168.1.101 is up (0.042s latency). MAC Address: 00:24:36:06:7D:09 (Apple) Host 192.168.1.102 is up (0.029s latency). MAC Address: 00:15:AF:E4:EC:C9 (AzureWave Technologies) Nmap done: 254 IP addresses (4 hosts up) scanned in 6.68 seconds
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:31 IDT Host 192.168.1.1 is up (0.0071s latency). MAC Address: 00:25:86:C0:3B:AC (Tp-link Technologies Co.) Host 192.168.1.100 is up. Host 192.168.1.101 is up (0.042s latency). MAC Address: 00:24:36:06:7D:09 (Apple) Host 192.168.1.102 is up (0.029s latency). MAC Address: 00:15:AF:E4:EC:C9 (AzureWave Technologies) Nmap done: 254 IP addresses (4 hosts up) scanned in 6.68 seconds
О! Как видите в этот раз улов куда гораздо лучше. Благодаря ключу -sP мы увидели все устройства сети, включая хитрый iPhone. Мы узнали IP-адрес каждого из них, а так же MAC-адрес каждого устройства.
Мало того, ненасытный nmap спал нам вендоров, и как видите в данном случае не спалился только ноутбук под управлением системы Ubuntu 10.04 так как никакой информации мы о нем не получили, зато для устройства с адресом 192.168.1.1 мы видем Tp-link Technologies Co, сразу становиться понятно, что это.
В случае с нетбуком, мы увидели лишь производителя сетевухи, но это уже не плохо. Поверьте, выполнив эту команду в сети, где есть устройства с Windows на борту, вы оттяпаете куда больше информации, особенно если там стоят старые версии ОС и нет фаерволлов.
Давайте теперь посмотрим сеть с другим флагом:
booch@alexlinux:~$ sudo nmap -PO 192.168.1.0-254 Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:40 IDT Interesting ports on 192.168.1.1: Not shown: 955 filtered ports, 44 closed ports PORT STATE SERVICE 80/tcp open http MAC Address: 00:25:86:C0:3B:AC (Tp-link Technologies Co.) Interesting ports on 192.168.1.100: Not shown: 996 closed ports PORT STATE SERVICE 80/tcp open http 139/tcp open netbios-ssn 445/tcp open microsoft-ds 777/tcp open unknown All 1000 scanned ports on 192.168.1.101 are filtered MAC Address: 00:24:36:06:7D:09 (Apple) Interesting ports on 192.168.1.102: Not shown: 997 closed ports PORT STATE SERVICE 22/tcp open ssh 111/tcp open rpcbind 2049/tcp open nfs MAC Address: 00:15:AF:E4:EC:C9 (AzureWave Technologies) Nmap done: 255 IP addresses (4 hosts up) scanned in 111.96 seconds
booch@alexlinux:~$ sudo nmap -PO 192.168.1.0-254 Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:40 IDT Interesting ports on 192.168.1.1: Not shown: 955 filtered ports, 44 closed ports PORT STATE SERVICE 80/tcp open http MAC Address: 00:25:86:C0:3B:AC (Tp-link Technologies Co.) Interesting ports on 192.168.1.100: Not shown: 996 closed ports PORT STATE SERVICE 80/tcp open http 139/tcp open netbios-ssn 445/tcp open microsoft-ds 777/tcp open unknown All 1000 scanned ports on 192.168.1.101 are filtered MAC Address: 00:24:36:06:7D:09 (Apple) Interesting ports on 192.168.1.102: Not shown: 997 closed ports PORT STATE SERVICE 22/tcp open ssh 111/tcp open rpcbind 2049/tcp open nfs MAC Address: 00:15:AF:E4:EC:C9 (AzureWave Technologies) Nmap done: 255 IP addresses (4 hosts up) scanned in 111.96 seconds
В данном случае, флаг -PO выдал нам перекрестную информацию, т.е. ту которую мы видели просто выполнив nmap + информацию которая была получена от флага -sP. Это упрощает задачу.
Еще один интересный ключ, это -sV (scan version) он покажет вам что именно работает на доступных портах, а так же поможет определить тип ОС.
booch@alexlinux:~$ sudo nmap -sV 192.168.1.0-254 Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:55 IDT Interesting ports on 192.168.1.1: Not shown: 955 filtered ports, 44 closed ports PORT STATE SERVICE VERSION 80/tcp open http TP-LINK WR641G/642G WAP http config MAC Address: 00:25:86:C0:3B:AC (Tp-link Technologies Co.) Service Info: Device: WAP Interesting ports on 192.168.1.100: Not shown: 996 closed ports PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.2.14 ((Ubuntu)) 139/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP) 445/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP) 777/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu4 (protocol 2.0) Service Info: OS: Linux Interesting ports on 192.168.1.102: Not shown: 997 closed ports PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu3 (protocol 2.0) 111/tcp open rpcbind 2049/tcp open rpcbind MAC Address: 00:15:AF:E4:EC:C9 (AzureWave Technologies) Service Info: OS: Linux Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 255 IP addresses (3 hosts up) scanned in 37.81 seconds
booch@alexlinux:~$ sudo nmap -sV 192.168.1.0-254 Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:55 IDT Interesting ports on 192.168.1.1: Not shown: 955 filtered ports, 44 closed ports PORT STATE SERVICE VERSION 80/tcp open http TP-LINK WR641G/642G WAP http config MAC Address: 00:25:86:C0:3B:AC (Tp-link Technologies Co.) Service Info: Device: WAP Interesting ports on 192.168.1.100: Not shown: 996 closed ports PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.2.14 ((Ubuntu)) 139/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP) 445/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP) 777/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu4 (protocol 2.0) Service Info: OS: Linux Interesting ports on 192.168.1.102: Not shown: 997 closed ports PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu3 (protocol 2.0) 111/tcp open rpcbind 2049/tcp open rpcbind MAC Address: 00:15:AF:E4:EC:C9 (AzureWave Technologies) Service Info: OS: Linux Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 255 IP addresses (3 hosts up) scanned in 37.81 seconds
Посмотрите сколько информации мне удалось скасить для Линукс машин под завязку загруженными такими сервисами как: Apache, SSH, NFS, Samba, rdesktop, MySQL, cups and other.
И снова, уверяю вас, после сканирования Windows машины урожай будет много больше и интереснее.
А вот например результат сканирования сайта ubuntu.com
booch@alexlinux:~$ sudo nmap -sV ubuntu.com Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-30 00:01 IDT Interesting ports on vostok.canonical.com (91.189.94.156): Not shown: 998 filtered ports PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 4.7p1 Debian 12ubuntu1.CAT.8.04.1 (protocol 2.0) 80/tcp open http Apache httpd 2.2.8 ((Ubuntu) mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.8 OpenSSL/0.9.8g) Service Info: OS: Linux Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 16.51 seconds
booch@alexlinux:~$ sudo nmap -sV ubuntu.com Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-30 00:01 IDT Interesting ports on vostok.canonical.com (91.189.94.156): Not shown: 998 filtered ports PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 4.7p1 Debian 12ubuntu1.CAT.8.04.1 (protocol 2.0) 80/tcp open http Apache httpd 2.2.8 ((Ubuntu) mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.8 OpenSSL/0.9.8g) Service Info: OS: Linux Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 16.51 seconds
На закуску. Попробуйте поиграть с флагами и опциями, иногда очень трудно определить даже ОС удлаенного хоста, так как сис. админы не дураки и закрыли все что могли, и всё же это возможно. Например таким набором флагов:
booch@alexlinux:~$ sudo nmap -O -A -T4 -v www.walla.co.il
booch@alexlinux:~$ sudo nmap -O -A -T4 -v www.walla.co.il
или просто (- О — операционная система):
Так же можно попробовать сканировать наиболее популярные порты:
Полезные сетевые утилиты
Для сканирования и изучения сети у вас есть целый буект инструментов, таких как:
- ping
- host
- nslookup
- traceroute
- mtr
- nmap
- netstat
- smbtree
- ifconfig
Для беспроводных сетей:
- iwlist
- iwconfig
Так же можно юзать утилиты анализаторы:
- wireshark
- trawshow
- iptraf
- tcpdump
Все программы доступны из репозиториев и просты в использовании. Получить много информации и знаний вы так же сможете набрав man перед любой из этих утилит. Удачи!
Alexander Neverov
Posted on Четверг 5th Август, 2010, 7:59дп
спасибо, оч познавательно) у меня все руки не доходят описывать так четко то, что узнаю, работая в убунту( вроде уже и собственный бложек заве, и накрапал что то, да и по работе каждый день что то новое узнаю, а все нет времени да нет вреени(
Master Jedi
Posted on Суббота 7th Август, 2010, 5:09пп
Всегда пожалуйста)
Прохожий
Posted on Пятница 20th Август, 2010, 6:54дп
Есть серьёзные ошибки.
1)netstat -r
Перепутаны причина и следствие, команда показала вам шлюз, только потому, что сетевое подключение( включая шлюз) уже настроено.
2)Пропингуйте любой адрес сети, типа 192.168.1.133 что бы узнать свободен он или нет
Что-бы пропинговать какой-либо адрес в сети, необходимо уже иметь адрес,назначение себе адреса от балды, может привести к конфликту в сети.
Нанчать себе адрес и т.д. подключившись к «какой-то Wi-Fi сети» /МХО/обней из коммандной строки, а не редактированием конфигов и перезапуском сервисов(учим iproute2 и echo).
4)Нам известно, что адрес сети 192.168.1.1
Всё-же адрес сети 192.168.1.0 в данном контексте. Задать этот диапазон адресов можно используя маску(так кошернее) 192.168.1.0/24 и на одну цифру короче =).
5)любое устройство отвечает на ping пакеты.
Это не так.
admin
Posted on Воскресенье 22nd Август, 2010, 11:42дп
Ага в нашем случае:
>1)netstat -r
>Перепутаны причина и следствие, команда показала вам шлюз, >только потому, что сетевое подключение( включая шлюз) уже
>настроено.
Если шлюз не настроен, он нам нафиг не нужен, на крайний случай: #nmap 0.0.0.0-254 ключи прилогаются.
>2)Пропингуйте любой адрес сети, типа 192.168.1.133 что бы >узнать свободен он или нет
>Что-бы пропинговать какой-либо адрес в сети, необходимо уже >иметь адрес,назначение себе адреса от балды, может привести к >конфликту в сети.
>конфигов и перезапуском сервисов(учим iproute2 и echo).
Наверно вы крайне не внимательный читатель:
sudo nmap -sP 192.168.1.1-254 покажет все устройства в сети. конфликт IP возникает только у Линукс VS Windows 98\XP
>4)Нам известно, что адрес сети 192.168.1.1
>Всё-же адрес сети 192.168.1.0 в данном контексте.
Это правильно, опечатка, исправил.
>Задать этот диапазон адресов можно используя маску(так >кошернее) 192.168.1.0/24 и на одну цифру короче =).
да только это статья для новичков, по этому я считаю в данном случае 255.255.255.0 понятнее для народа. не каждый учил в универе «архитектуру сетей»
>Нанчать себе адрес и т.д. подключившись к «какой-то Wi-Fi >сети» /МХО/обней из коммандной строки, а не редактированием
Если вы про это:
# ifconfig eth0 192.168.1.102 netmask 255.255.255.0 broadcast 192.168.1.255
Или про это:
# iwconfig wlan0 mode Ad-Hoc channel 1 essid myNetwork
то пожалуйста, но это только до рестарта, конфиг это стат, и после рестарта компа не надо будет поднимать все настройки интерфейса заново. И еще раз, стаья для новичков.
lm_
Posted on Вторник 7th Сентябрь, 2010, 2:44дп
arp
source
Posted on Среда 23rd Март, 2016, 10:54дп
еще одно спасибо
OptionBase
Posted on Воскресенье 27th Март, 2016, 4:39пп
однозначно в закладки!