arp.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. """
  2. Структура APR пакета:
  3. Слово 1
  4. Hardware type (HTYPE) (16 бит). Номер канального протокола.
  5. Пример: 1 - ethernet
  6. Protocol type (PTYPE) (16 бит). Тип сетевого протокола.
  7. Пример: 0x8000 - IPv4
  8. Слово 2
  9. Hardware length (HLEN) (8 бит) - Длина физического адреса в байтах.
  10. В ethernet длина MAC = 6 байт.
  11. Protocol length (PLEN) (8 бит) - Длина логического адреса в байтах.
  12. Длана IPv4 = 4 байта.
  13. Operation (OPER) (16 бит) - Код операции отправителя
  14. 0x0001 - запрос, 0x0002 - ответ.
  15. Поле переменной длины
  16. Sender harware address (SHA) - Физический адерс отпровителя
  17. Поле переменной длины
  18. Sender protocol address (SPA) - Логический ардес отпровителя
  19. Поле переменной длины
  20. Target hardware address (THA) - Физический адрес получателя.
  21. Не требуется при запросе.
  22. Поле переменной длины
  23. Target protocol address (TPA) - Логический адрес получателя.
  24. """
  25. import socket
  26. import time