def __init__(self, interface_name, port_number): """ @param interface_name The name of the physical interface like eth1 """ self.interface_name = interface_name self.socket = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, 0) afpacket.enable_auxdata(self.socket) self.socket.bind((interface_name, self.ETH_P_ALL)) netutils.set_promisc(self.socket, interface_name) self.socket.settimeout(self.RCV_TIMEOUT)
def __init__(self, interface_name, device_number, port_number, config={}): """ @param interface_name The name of the physical interface like eth1 """ self.interface_name = interface_name self.device_number = device_number self.port_number = port_number self.socket = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, 0) afpacket.enable_auxdata(self.socket) self.socket.bind((interface_name, self.ETH_P_ALL)) netutils.set_promisc(self.socket, interface_name) self.socket.settimeout(self.RCV_TIMEOUT) self.recv_size = config.get("socket_recv_size", self.RCV_SIZE_DEFAULT)