Вдохновился темами про сканирование интернета, решил попробовать.
Всю жизнь пользовался nmap. Вещь отличная, но для сканирования большого количества адресов малопригодная. Попробовал zmap, значительно быстрее работает, но, увы, очень простая. Перешел к masscan. Вот это вещь.
Ценность его в том, что он не только очень быстро сканирует открытые порты, но может еще и собирать так называемые баннеры, т.е. то, что отдает софт на этих портах при подключении.
Обратите внимание, что опции, задаваемые в командной строке, суммируются с теми, что заданы в /etc/masscan/masscan.conf, мне пришлось его поправить:
Код:
rate = 200000.00
output-format = list
output-status = open
output-filename = scan.txt
excludefile = /etc/masscan/exclude.conf
это конфиг для Linux, который может генерировать до 2500000 пакетов в секунду, в отличие от винды, где максимум приблизительно раз в десять меньше.
Если собираетесь сканировать внешнюю сеть, то прочитайте договор с провайдером. Законом сканирование не запрещено, но в договоре с провайдером может быть ограничение.
У меня с провайдером таких ограничений нет. Поэтому я решил просканировать все VNC-порты, 5900.
Код:
masscan --range 0.0.0.0/0 -p5900 --banners --open-only -eeno1 --exclude 255.255.255.255 --output-filename ipvnc.txt
по параметрам - это весь интернет, за исключением диапазонов из exclude.conf (см. конфиг), порт 5900, вывод баннеров, только открытые порты и списком в текст.
У меня канал 100Мбит, зеркальный, сканирование всего интернета заняло около 7 часов.
В файле ipvnc.txt получилось много строк, нас же интересуют, например, такие
Цитата: banner tcp 5900 х.х.х.х 1509612849 vnc RFB 003.003 auth=[none] width=800 height=480
Это обозначает, что откликнулось удаленное устройство с разрешением 800х480 и без авторизации (auth=[none]). Можно попробовать подключиться и посмотреть.
Предупрежу, что на данный момент таких около 1500, даже больше. Подключаться к каждому надоест очень быстро, тем более, что многие подключения упираются в окно авторизации. Поэтому я решил снимать скриншоты в автоматическом режиме с помощью vncsnapshot.
причешем полученное
Код:
cat ipvnc.txt | grep 'auth=\[none\]' | cut -f4 -d" ">vncipna.txt
и получим только список адресов. Затем создадим небольшой скриптик, который пробежит по списку и сделает скриншоты
Код:
#!/bin/bash
cat vncipna.txt | while read i
do
echo $i
timeout -k 15 -s 15 30 vncsnapshot -allowblank $i /временная директория/temp/$i.jpg
done
полученную гору скриншотов можно быстро отсортировать, выкинув ненужное по одинаковому размеру.
К моему удивлению, чудовищное количество устройств вообще не прикрыто ничем. Много китайской винды. Умные дома, аквариумы, какие-то устройства на заводе, камеры, кондиционеры, чего только нет.
Настоятельно рекомендую оставлять записки на рабочем столе о том, что десктоп открыт в сеть. Надеюсь, никому из читающих эту статью не придет в голову гадить людям?
Это ко всему прочему еще и уголовно наказуемо.
P.S. Обратите внимание, что если ругается на
pcap: failed to load libpcap shared library
HINT: you must install libpcap or WinPcap
FAIL: libpcap not loaded
то необходимо доставить пакет libpcap-devel