def __init__(self, ifname):
self.ifname = ifname
self.poll = select.epoll()
self.sock = socket.socket(socket.AF_PACKET, socket.SOCK_RAW,
socket.htons(pnet.ETH_P_ALL))
self.poll.register(self.sock, select.POLLIN | select.POLLPRI |
select.POLLHUP | select.POLLERR)
attach_filter(self.sock, bootp_filter())
self.sock.setblocking(0)
self.sock.bind((ifname, 3))
ifreq = get_ifreq(self.sock, ifname)
self.src = pnet.HWAddress(ifreq[18:24])
评论列表
文章目录