ping.py 文件源码

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

项目:Theseus 作者: Dylan-halls 项目源码 文件源码
def await_responce(self, iface):
        global rev
        r = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(0x0003))
        pkt = r.recvfrom(2048)

        eth = pkt[0][0:14]
        eth_d = struct.unpack("!6s6s2s", eth)
        res = binascii.hexlify(eth_d[0])

        dst_mac = self.format_mac(res.decode('utf-8'))

        local_mac = open('/sys/class/net/{}/address'.format(iface)).read().strip('\n')

        if dst_mac == local_mac:
            stop_time = datetime.datetime.now()
            arp_h = pkt[0][14:42]
            arp_d = struct.unpack("2s2s1s1s2s6s4s6s4s", arp_h)
            timee = stop_time - start_time
            rev += 1
            return self.format_mac(binascii.hexlify(arp_d[5]).decode('utf-8')), arp_d[6], timee.total_seconds() * 1000
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号