Я хочу отправить эхо-запрос с ICMP и сокетом python.Я отправлял пакет.Но моя программа зависает на recv из сокета.Почему моя розетка повешена?ОС Windows10.Запустите терминал в режиме администратора.
# -*- coding: utf-8 -*-
import socket
import struct
def ping(host, port):
with socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_ICMP) as sock:
sock.connect((host, port))
sock.settimeout(30)
icmp_message = struct.pack('!BBHHH', 8, 0, 8, 0, 0)
packet = icmp_message
print('send packet...')
sock.sendall(packet)
print('recv...')
data = sock.recv(1024)
def main():
ping('192.168.0.1', 80)
if __name__ == '__main__':
main()