unknown 2 ヶ月 前
コミット
af83087ebe

+ 44 - 0
books/python_black/arp.py

@@ -0,0 +1,44 @@
+"""
+Структура APR пакета:
+
+Слово 1
+
+    Hardware type (HTYPE) (16 бит). Номер канального протокола.
+                                    Пример: 1 - ethernet
+    Protocol type (PTYPE) (16 бит). Тип сетевого протокола.
+                                    Пример: 0x8000 - IPv4
+
+Слово 2
+
+    Hardware length (HLEN) (8 бит) - Длина физического адреса в байтах.
+                                    В ethernet длина MAC = 6 байт.
+
+    Protocol length (PLEN) (8 бит) - Длина логического адреса в байтах.
+                                    Длана IPv4 = 4 байта.
+
+    Operation (OPER) (16 бит) - Код операции отправителя
+                                0x0001 - запрос, 0x0002 - ответ.
+
+Поле переменной длины
+
+    Sender harware address (SHA) - Физический адерс отпровителя
+
+Поле переменной длины
+
+    Sender protocol address (SPA) - Логический ардес отпровителя
+
+Поле переменной длины
+
+    Target hardware address (THA) - Физический адрес получателя. 
+                                    Не требуется при запросе.
+
+Поле переменной длины
+
+    Target protocol address (TPA) - Логический адрес получателя.
+
+"""
+
+
+import socket
+import time
+

+ 0 - 0
books/python_black/raw_packet/raw-packet → books/python_black/raw-packet


+ 0 - 18
books/python_black/raw_packet/cap.py

@@ -1,18 +0,0 @@
-import socket
-import textwrap
-
-
-def sniffer():
-    conn = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.ntohs(3))
-
-    while True:
-        raw_data, addr = conn.recvfrom(65535)
-
-        print(addr)
-
-
-def main():
-    sniffer()
-
-if __name__ == '__main__':
-    main()

+ 13 - 0
books/python_black/sniffer_ip_header_decode.py

@@ -5,6 +5,19 @@ import struct
 import sys
 
 """
+Структура Ethernet пакета:
+
+Preamble (7 байт) + SFD (1 байт) - необходимы сетевой карте для разспознавалния 
+                                    начала фрейма
+
+Destination address (6 байт) MAC адрес получателя
+
+Source address (6 байт) MAC адрес отправителя
+
+Length/type (2 байта) - длина  
+
+
+
 Структура IP пакета:
 Заголовок состоит из 5 слов (каждое слово 32 бита)