def send_ping(raw_socket, dest_addr, pkt_id, seq_code, data_length=48):
"""Echo request.
"""
pkt_crc16 = 0
# icmp_type(1B):icmp_code(1B):crc16(2B):id(2):seq(2b)
header = struct.pack('>bbHHH', 8, 0, pkt_crc16, pkt_id, seq_code)
data = b'p' * data_length
pkt_crc16 = calc_crc16(header + data)
header = struct.pack('>bbHHH', 8, 0, pkt_crc16, pkt_id, seq_code)
packet = header + data
raw_socket.sendto(packet, (dest_addr, socket.MSG_OOB))
评论列表
文章目录