Этой команды нет в дистрибутиве Ubuntu, поэтому установим её с помощью эмулятора терминала:
sudo apt-get install nmap
Посканируем сначала своё хозяйство, прежде чем переходить к чужим машинам. Предположим, что мы подключены к Интернету с помощью модема, который настроен, как маршрутизатор, и имеет адрес 192.168.1.1, а сетевая карта машины настроена на адрес 192.168.1.2. Приступим.
В первую очередь нам любопытно, какие порты открыты в нашей машине. Например, открыт ли у нас порт 8080 для обращения к прокси-серверу? Чтобы это узнать, выполняем команду
nmap -p 8080 192.168.1.2
Если порт закрыт, получаем ответ вроде
8080/tcp closed http-proxy
Но не вводить же каждый раз номера портов вручную. Проще спросить, какие вообще порты открыты командой:
nmap 192.168.1.2
У меня были открыты следующие порты:
22/tcp open ssh
139/tcp open netbios-ssn
445/tcp open microsoft-ds
10000/tcp open snet-sensor-mgmt
Ненужные порты лучше всего закрыть. Как это делается, я уже писал. Теперь просканируем рутер. В рутере – своя ОС, и он тоже имеет порты. Сделаем это командой, в которой адрес будет уже не принадлежать харду машины:
nmap 192.168.1.1
Выводится примерно такой результат:
21/tcp closed ftp
23/tcp open telnet
80/tcp open http
5431/tcp open park-agent
Обратите внимание, что http-порт открыт в рутере, а не в вашей машине. Это значительно безопаснее, чем если бы вы настроили модем, как мост, и держали бы открытым свой http-порт.
Можно просканировать сразу много смежных адресов, указав после базового адреса через дробь маску. Например, просканируем свою локальную сеть:
nmap 192.168.1.0/24
В результате сканирования будут объединены два предыдущих результата, если, конечно, к портам рутера больше ничего не подключено. Быстрое сканирование портов нашей машины:
nmap -F 192.168.1.2
Результат будет похож на результат работы этой же команды без опции F, но поиск закрытых портов будет неглубоким. Если указать опцию -v, то выведенный результат будет максимально подробным. Чтобы просканировать только порты, работающие по протоколу TCP, перед адресом указывают опцию -sT. Для UDP указывают опцию -sU. Неискушённому пользователю, конечно, интересно, к каким именно сервисам привязаны открытые порты. Для этого перед адресом машины вставляют опцию -sV. Результат выводится примерно такой:
22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1 (protocol 2.0)
139/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
10000/tcp open http MiniServ 1.590 (Webmin httpd)
Теперь явно видно, что в работе находятся SSH, Samba и сисадминский инструмент webmin. Чтобы проверить, какие протоколы (не порты!) в данный момент поддерживает машина, нужно перед адресом машины вставить опцию -sO. Результат получится примерно такой:
Not shown: 249 closed protocols
PROTOCOL STATE SERVICE
1 open icmp
2 open igmp
6 open tcp
17 open udp
103 open|filtered pim
136 open|filtered udplite
255 open|filtered unknown
Ну как, нравятся возможности командного интерфейса? Тогда просканируйте порты «Вестей» вот такой командой:
sudo nmap -O kv.by
Успехов!
Комментарии
Чем не понравилось форматирование текста? Старался, старался... )
mike, у нас должно быть единообразное оформление статей. Хочу попросить Вас не ставить шрифтов, отступов и т.п. - пусть всё будет по умолчанию.
Только "за". Но тогда, пожалуйста, форматируйте сами. Читать же противно!