ping_icmp.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:py-sys 作者: vicky-tan 项目源码 文件源码
def __send_icmp_request(self, icmp_socket, dest_addr, packet_id, sequence):

        # ICMP Header :
        # -------------------------------------------------------------------
        # | type(8) | code(8) | checksum(16) | packet_id(16) | sequence(16) |
        # -------------------------------------------------------------------
        #
        packet_checksum = 0

        header = struct.pack('bbHHh', ICMP_ECHO_REQUEST, 0, packet_checksum, packet_id, sequence)
        packet_bytes = struct.calcsize('d')

        data = (128 - packet_bytes) * '0'
        data = struct.pack('d', time.time()) + data

        packet_checksum = self.__checksum(header + data)

        header = struct.pack('bbHHh', ICMP_ECHO_REQUEST, 0, socket.htons(packet_checksum), packet_id, sequence)
        packet = header + data
        icmp_socket.sendto(packet, (dest_addr, 1))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号