def _get_npcap_dot11_adapters(): """ Get the npcap 802.11 adapters from the registry or None if npcap is not 802.11 enabled. """ hkey = winreg.HKEY_LOCAL_MACHINE node = r"SYSTEM\CurrentControlSet\Services\npcap\Parameters" try: key = winreg.OpenKey(hkey, node) dot11_adapters, _ = winreg.QueryValueEx(key, "Dot11Adapters") winreg.CloseKey(key) except WindowsError: return None return dot11_adapters
def _get_hardware_iface_guid(devid): """ Get the hardware interface guid for device with 'devid' number or None if such interface does not exist. """ devid = int(devid) + 1 hkey = winreg.HKEY_LOCAL_MACHINE node = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\{}".format(devid) try: key = winreg.OpenKey(hkey, node) guid, _ = winreg.QueryValueEx(key, "ServiceName") winreg.CloseKey(key) except WindowsError: return None guid = guid.strip() return guid if guid.startswith("{") and guid.endswith("}") else None
def _get_npcap_config(param_key): """ Get a Npcap parameter matching key in the registry. List: AdminOnly, DefaultFilterSettings, DltNull, Dot11Adapters, Dot11Support LoopbackAdapter, LoopbackSupport, NdisImPlatformBindingOptions, VlanSupport WinPcapCompatible """ hkey = winreg.HKEY_LOCAL_MACHINE node = r"SYSTEM\CurrentControlSet\Services\npcap\Parameters" try: key = winreg.OpenKey(hkey, node) dot11_adapters, _ = winreg.QueryValueEx(key, param_key) winreg.CloseKey(key) except WindowsError: return None return dot11_adapters