def __init__(self, network_adapter, packet_size=65536, promiscious=True, wait_period=10): NetworkCapture.__init__(self) if network_adapter not in self.get_interfaces(): raise PCapInvalidNetworkAdapter("The network adapter specified '%s' does\ not exist or access is denied." % network_adapter) # pcap_open_live wants an int not a bool so must cast. promisc = 1 if promiscious else 0 self._pcap_t = winpcapy.pcap_open_live(network_adapter, packet_size, promisc, wait_period, self._error_buffer)
def bind(self, tuple): """ bind socket to a given interface/packet type pair """ # fp = pcap_open_live(sys.argv[1],65536,1,1000,errbuf) self._interface = tuple[0] self._ethertype = tuple[1] self._fp = capy.pcap_open_live( self._interface, self._so_snaplen, self._so_promicious, self._so_timeout, self._errbuf ) if not bool(self._fp): raise Exception("unable to open interface %s for packet capture." % self._interface)
def __enter__(self): errbuf = ctypes.create_string_buffer(winpcapy.PCAP_ERRBUF_SIZE) self._fp = winpcapy.pcap_open_live( self._iface.encode('utf-8'), 65536, 1, self._timeout, errbuf, ) if self._fp is None: raise RuntimeError('pcap_open_live failed: %s' % errbuf.value) return self
def bind(self, tuple): ''' bind socket to a given interface/packet type pair ''' #fp = pcap_open_live(sys.argv[1],65536,1,1000,errbuf) self._interface = tuple[0] self._ethertype = tuple[1] self._fp = capy.pcap_open_live(self._interface, self._so_snaplen, self._so_promicious, self._so_timeout, self._errbuf) if not bool(self._fp): raise Exception( 'unable to open interface %s for packet capture.' % self._interface)
def startCapture(self): self._clear() packet_handler=PHAND(self._packet_handler) ## Jump to the selected adapter self.nif_mng.find_devices() dev=self.nif_mng.devices for i in range(0, self.nif_mng.get_selected_devId() - 1): dev = dev.contents.next print i ## Open the device ## Open the adapter dev = dev.contents adhandle = pcap_open_live(dev.name,65536,1,1000,self.nif_mng.errbuf) if (adhandle == None): msg = "\nUnable to open the adapter. %s is not supported by Pcap-WinPcap\n" % dev.contents.name print(msg) logging.error(msg) ## Free the device list self.nif_mng.free_devices() sys.exit(-1) self.nif_mng.free_devices() pThread = Thread(target=pcap_loop, args=[adhandle, 0, packet_handler, None]) pThread.daemon = True pThread.start() if self.set_text_listener is not None: self.set_text_listener("") cnt = 0 while self.is_wait: cnt = cnt + 1 if self.set_progress_listener is not None: self.set_progress_listener(cnt) time.sleep(0.1) if cnt > 100: break if self.set_text_listener is not None: self.set_text_listener(u'測定終了!') pcap_breakloop(adhandle) pcap_close(adhandle) if (self.fleet_mng is not None) and (self.ship_mng is not None): return ArmyManager(self.fleet_mng, self.ship_mng) return None
def __init__(self, usePcap = False): self.Buffer = '' self.usPcap = usePcap self.PyVer2 = platform.python_version()[0]=='2' if not self.usPcap: try: self.Socket = socket.socket(socket.AF_INET,socket.SOCK_RAW)#,socket.IPPROTO_ICMP) self.Socket.setsockopt(socket.IPPROTO_IP,socket.IP_HDRINCL,1) self.Socket.setsockopt(socket.SOL_SOCKET,socket.SO_SNDTIMEO,1000) except socket.error as e: #self.Socket.close() raise MySocketError(e) else: from winpcapy import pcap_t,PCAP_ERRBUF_SIZE,pcap_open_live,PCAP_OPENFLAG_PROMISCUOUS self.Adapter = b'rpcap://\Device\NPF_{C224DE63-2D6E-4812-A601-827B3BF2E962}' self.Pcap_t = pcap_t self.ErrBuf = create_string_buffer(PCAP_ERRBUF_SIZE) self.Pcap_t = pcap_open_live(self.Adapter,65536,PCAP_OPENFLAG_PROMISCUOUS,1000,self.ErrBuf) if not bool(self.Pcap_t): print("Unable to open the adapter. It is not supported by WinPcap") print("__init__ OK !!!")
def restart_handlers(): global DEV0HANDLER, DEV1HANDLER DEV0HANDLER = winpcapy.pcap_open_live(DEV0, 65536, 0, 1000, ERRBUF) DEV1HANDLER = winpcapy.pcap_open_live(DEV1, 65536, 0, 1000, ERRBUF)
STEGSCENAR_FOLDER = 'steg' APPLISCENAR_FOLDER = 'appli' SCENARIO_NAME = None # PCAP VARS ERRBUF = winpcapy.create_string_buffer(winpcapy.PCAP_ERRBUF_SIZE) DEV0 = netconf.DEVICE1 DEV1 = netconf.DEVICE2 DEV0MAC = netconf.DEV1MAC DEV1MAC = netconf.DEV2MAC DEV0IP = netconf.DEV1IP DEV1IP = netconf.DEV2IP DEV0HANDLER = winpcapy.pcap_open_live(DEV0, 65536, 0, 1000, ERRBUF) DEV1HANDLER = winpcapy.pcap_open_live(DEV1, 65536, 0, 1000, ERRBUF) # BUFFER VARS DEV0RBUFFER = multiprocessing.Queue( ) # buffer entre readingspider et craftspider DEV0MBUFFER = multiprocessing.Queue( ) # buffer entre craftspider et middlespider DEV0CBUFFER = multiprocessing.Queue( ) # buffer entre applispider et craftspider DEV1WBUFFER = multiprocessing.Queue( ) # buffer entre middlespider et writing spider DEV1RBUFFER = multiprocessing.Queue( ) # buffer entre readingspider et craftspider
def restart_handlers(): global DEV0HANDLER, DEV1HANDLER DEV0HANDLER = winpcapy.pcap_open_live(DEV0,65536,0,1000,ERRBUF) DEV1HANDLER = winpcapy.pcap_open_live(DEV1,65536,0,1000,ERRBUF)
STEGSCENAR_FOLDER = 'steg' APPLISCENAR_FOLDER ='appli' SCENARIO_NAME = None # PCAP VARS ERRBUF = winpcapy.create_string_buffer(winpcapy.PCAP_ERRBUF_SIZE) DEV0 = netconf.DEVICE1 DEV1 = netconf.DEVICE2 DEV0MAC = netconf.DEV1MAC DEV1MAC = netconf.DEV2MAC DEV0IP = netconf.DEV1IP DEV1IP = netconf.DEV2IP DEV0HANDLER = winpcapy.pcap_open_live(DEV0,65536,0,1000,ERRBUF) DEV1HANDLER = winpcapy.pcap_open_live(DEV1,65536,0,1000,ERRBUF) # BUFFER VARS DEV0RBUFFER = multiprocessing.Queue() # buffer entre readingspider et craftspider DEV0MBUFFER = multiprocessing.Queue() # buffer entre craftspider et middlespider DEV0CBUFFER = multiprocessing.Queue() # buffer entre applispider et craftspider DEV1WBUFFER = multiprocessing.Queue() # buffer entre middlespider et writing spider DEV1RBUFFER = multiprocessing.Queue() # buffer entre readingspider et craftspider DEV1MBUFFER = multiprocessing.Queue() # buffer entre craftspider et middlespider DEV1CBUFFER = multiprocessing.Queue() # buffer entre applispider et craftspider DEV0WBUFFER = multiprocessing.Queue() # buffer entre middlespider et writing spider DEV0ABUFFER = multiprocessing.Queue() # buffer interne application