mirror of https://github.com/secdev/scapy.git
Tiny pcap fix
This commit is contained in:
parent
74dba54503
commit
d134238b56
|
@ -417,27 +417,32 @@ class NetworkInterface(object):
|
||||||
# Other attributes are optional
|
# Other attributes are optional
|
||||||
self._update_pcapdata()
|
self._update_pcapdata()
|
||||||
|
|
||||||
|
try:
|
||||||
|
# Npcap loopback interface
|
||||||
|
if self.name == scapy.consts.LOOPBACK_NAME and conf.use_npcap:
|
||||||
|
# https://nmap.org/npcap/guide/npcap-devguide.html
|
||||||
|
self.mac = "00:00:00:00:00:00"
|
||||||
|
self.ip = "127.0.0.1"
|
||||||
|
conf.cache_ipaddrs[self.pcap_name] = socket.inet_aton(self.ip)
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
self.mac = data['mac']
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.ip = socket.inet_ntoa(get_if_raw_addr(self))
|
self.ip = socket.inet_ntoa(get_if_raw_addr(self))
|
||||||
except (TypeError, NameError):
|
except (TypeError, NameError):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
# Windows native loopback interface
|
||||||
if not self.ip and self.name == scapy.consts.LOOPBACK_NAME:
|
if not self.ip and self.name == scapy.consts.LOOPBACK_NAME:
|
||||||
self.ip = "127.0.0.1"
|
self.ip = "127.0.0.1"
|
||||||
conf.cache_ipaddrs[self.pcap_name] = socket.inet_aton(self.ip)
|
conf.cache_ipaddrs[self.pcap_name] = socket.inet_aton(self.ip)
|
||||||
except (KeyError, AttributeError, NameError) as e:
|
except (KeyError, AttributeError, NameError) as e:
|
||||||
print(e)
|
print(e)
|
||||||
|
|
||||||
try:
|
|
||||||
if self.name == scapy.consts.LOOPBACK_NAME and conf.use_npcap:
|
|
||||||
# https://nmap.org/npcap/guide/npcap-devguide.html
|
|
||||||
self.mac = "00:00:00:00:00:00"
|
|
||||||
else:
|
|
||||||
self.mac = data['mac']
|
|
||||||
except KeyError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
def _update_pcapdata(self):
|
def _update_pcapdata(self):
|
||||||
if self.is_invalid():
|
if self.is_invalid():
|
||||||
return
|
return
|
||||||
|
@ -705,6 +710,7 @@ class NetworkInterfaceDict(UserDict):
|
||||||
|
|
||||||
def reload(self):
|
def reload(self):
|
||||||
"""Reload interface list"""
|
"""Reload interface list"""
|
||||||
|
self.restarted_adapter = False
|
||||||
self.data.clear()
|
self.data.clear()
|
||||||
self.load_from_powershell()
|
self.load_from_powershell()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue