#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. Нет в сетевом порядке байтов… Как бы я это сделал?