Суть вопроса в создании raw сокета с целью формирования arp пакета. Есть пример кода:
connect = socket.socket(
socket.PF_PACKET, socket.SOCK_RAW, socket.htons(0x0806))
PF_PACKET - определяет, что реализация протоколов будет поверх физического уровня.
SOCK_RAW - тип сокета позволяющий добавлять заголовки к канальному(link) уровню.
socket.htons(0x0806) - 3 аргумент который мне не понятен.
Объясните значение третьего аргумента и поправьте меня там где я не прав