Неверно сконструирован заголовок ICMP?

#python #sockets #networking #icmp

#python #сокеты #сеть #icmp

Вопрос:

Я создаю pinger на python и использую это мой ICMP-пакет:

 ICMP_PACKET = 'x08x00xF7x00x00x00x00'
  

Есть ли какие-либо проблемы с этим пакетом? Кажется, я не могу понять, что я делаю неправильно. Весь код такой:

 ICMP_HEADER = 'x08x00xF7x00x00x00x00'
ipadd = socket.gethostbyname('www.google.com')
socket.setdefaulttimeout(1)
try:
    sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, 1)
    sock.sendto(header, (ipadd, 0))
    reply = sock.recv(1024)
    print(reply)
except:
    pass    
  

Комментарии:

1. И что происходит, когда вы запускаете свою программу? Возможно, вы захотите перехватить любые исключения и распечатать их, иначе будет невозможно узнать, что произошло, когда что-то пойдет не так. Кроме того, вы помните, что пакет должен быть в сетевом порядке байтов?

2. Нет в сетевом порядке байтов… Как бы я это сделал?