hacker
A hacker is any highly skilled computer expert.
script kiddie
A script kiddie is an unskilled individual who uses scripts or programs developed by others to attach computer systems and networks and deface websites
команда пинга
pingНазвание происходит от морских гидролокаторов. Его работа аналогична позиционированию гидролокатора. Просто сеть посылаетICMPпакеты вместо звуковых волн. Цель этой команды состоит в том, чтобы определитьхозяинэто достижимо,расстояниетекущий хостКак далеко.
Собственно, два наших сетевых устройстваping, есть дваcaseиз.
тот же сегмент сети
Как показано выше, ведущий A, приходитеpingХост B, затем хост A, необходимо инкапсулироватьПакеты уровня 2, он проверит свойMACтаблица адресов, если нет BMACадрес, широковещательный пакет ARP будет отправлен [в предыдущемСетевые статьиЯ уже ясно дал понять, поэтому не буду повторяться здесь.]
После того, как коммутатор получит это сообщение, коммутаторMACадресная функция, поэтому он получит, сохранил ли он хостBизMAC.
Если есть, вернуть хостуA, если нет, то отправит на все портыARPПолучив трансляцию, другие хосты обнаружили, что ищут не себя, поэтому отбросили сообщение и проигнорировали его.
пока хозяинBПосле получения сообщения, я немедленно отвечу, мойMACЧто такое адрес и узнать хост в то же времяAизMACадрес и нажмите ту жеARPФормат сообщения возвращается хостуA, как показано на рисунке:
В это время ведущийAнаучился приниматьBизMAC, положи этоMACупаковано вICMPПакеты уровня 2 протокола к хостуBОтправить, формат сообщения следующий:
Адрес назначения
адрес источника
исходный IP-адрес
IP-адрес назначения
ICMP-сообщение
00-50-56-C0-00-03
00-50-56-C0-00-01
1.1.1.1
1.1.1.3
Echo request
Быть хозяиномBПосле получения этого сообщения обнаружено, что хостAизICPMЧтобы повторить запрос, просто нажмитетакой жеформат, возвращает значение хостуA,Законченов одном сегменте сетиизpingпроцесс~~
Адрес назначения
адрес источника
исходный IP-адрес
IP-адрес назначения
ICMP-сообщение
00-50-56-C0-00-01
00-50-56-C0-00-03
1.1.1.3
1.1.1.1
Echo answer
На самом деле я долго мотался в локальной сетиPING, реальный процесс не происходит1 мс~~
Различные сегменты сети
ХозяинAхочуpingхозяинC, Затем хостAобнаружить хозяинаCизIPи янеттот же сегмент сети.
ХозяинAпросто найдишлюзПроброс, но он не знает шлюзаMACКак насчет ситуации?
Он отправитARPшироковещательный, изученный шлюзMAC, повторно отправить пакетICMPсообщение дляшлюз маршрутизатор.
обнаруживает, что его адрес назначенияMACадрес, в зависимости от целиIP2.1.1.1,чек об оплатетаблица маршрутизации,Обнаружить2.1.1.1/24запись таблицы маршрутизации.
получить одинУказатель выхода, удалите оригиналMACголову. Добавьте своюMACадрес для хостаCВперед…
Если на шлюзе также нет хостаCизMACАдрес остается таким же, как на предыдущем шаге,ARPВещайте, чтобы учиться друг у друга....
маршрутизатор2Порт может узнать хостCизMAC, хозяинCтакже узнать маршрутизатор2портMAC.. Формат сообщения следующий:
Адрес назначения
адрес источника
исходный IP-адрес
IP-адрес назначения
ICMP-сообщение
00-50-56-C0-00-05
00-50-56-C0-00-04
1.1.1.1
2.1.1.1
Echo request
Наконец, в хостеCмаршрутизатор узнал2портMAC, маршрутизатор2проброс портов на роутер1порт.
Маршрутизация1порт узнал хостAизMACслучае, им не нужно делатьARPразбирать, будетICMPОтвет на эхо-запрос.
Адрес назначения
адрес источника
исходный IP-адрес
IP-адрес назначения
ICMP-сообщение
00-50-56-C0-00-04
00-50-56-C0-00-05
2.1.1.1
1.1.1.1
Echo Answer
Статьи кода
Теперь, когда вы понимаетеpingкоманда иICMP, то мы можем использоватькодреализоватьавтоматизацияинструменты~~~
Чжао Си Николаскисказал раньше:Не изобретайте велосипед. Итак, давайте знакомитьсяPythonиметь дело с网络协议изСетевой уровень,транспортный уровень,связующий слойэкспертscapy,а такжегусеничный фреймворкscrapyОтношения двоюродных братьев, шучу~~
Введение в Скапи
ScapyпользовательОтправить,Слушатьа такжеРазобратьи маскировать сетевые пакетыPythonпрограмма. Эти функции можно использовать для созданияобнаружить,сканированиеа такжеатаковать сетьИнструмент.
Установить
pip3 install scapy
API
построить пакет
>>> a=IP(ttl=10)
>>> a
< IP ttl=10 |>
>>> a.src
’127.0.0.1’
>>> a.dst="192.168.1.1"
>>> a
< IP ttl=10 dst=192.168.1.1 |>
>>> a.src
’192.168.8.14’
>>> del(a.ttl)
>>> a
< IP dst=192.168.1.1 |>
>>> a.ttl
64
Куча плюс слои (5-уровневая сетевая модель) Оператор **/** действует каккомбинацияэффект. При использовании этого оператораНижний уровеньв соответствии с еговерхний слой, делая этоОдинилинесколькоПоля по умолчанию перегружены.
(вы все еще можете назначить желаемое значение) строка также может использоваться в качестве необработанного слоя (raw layer).
принципа такжеAPIПонял, пора нам показатьреальная технологияЛа 1. Создайте пакет ICMP 2. Отправьте и получите ответ от целевого хоста. 3. Если целевой хост доступен,3для конечного кода и выхода из процесса
В это время мы можем пройтиPythonИнструмент обнаружения предназначен для оценки сетевого подключения целевого хоста.
Но это недостаточно умно, нам нужно добавить несколько процессов для сканирования всей сети на наличие активных хостов, поэтому:
Передайте I для сканированияP, рассчитать ток区域网все хозяева
Многопоточность перед вызовом нашего инструмента зонда, проверка каждого хоста в сети в цикле.
Хост, к которому можно подключиться, сохраняется
Подготовьте почву для того, что мы собираемся сделать позжеПодпишитесь на публичный аккаунт WeChat【mindev】,Отвечать【ping] может получить один процессpingизисходный код, присоединяйтесь к владельцу группыпланетаможет быть полученвсеисходный код.
Готов поделиться и обменяться с вами различными технологиями, личнымпубличный аккаунт[mindev] и Планета знаний[компьютерный мир]