forked from p15670423/monkey
Island: Remove disused local_ips() functions
This commit is contained in:
parent
4bc9f735be
commit
285e6aaa35
|
@ -1,57 +1,9 @@
|
||||||
import array
|
|
||||||
import ipaddress
|
import ipaddress
|
||||||
import socket
|
|
||||||
import struct
|
|
||||||
import sys
|
|
||||||
from typing import Sequence
|
from typing import Sequence
|
||||||
|
|
||||||
from netifaces import AF_INET, ifaddresses, interfaces
|
from netifaces import AF_INET, ifaddresses, interfaces
|
||||||
from ring import lru
|
from ring import lru
|
||||||
|
|
||||||
# Local ips function
|
|
||||||
# TODO: I can't find anywhere these are actually used. Confirm this is the case, remove these
|
|
||||||
# functions, and test.
|
|
||||||
if sys.platform == "win32":
|
|
||||||
|
|
||||||
def local_ips():
|
|
||||||
local_hostname = socket.gethostname()
|
|
||||||
return socket.gethostbyname_ex(local_hostname)[2]
|
|
||||||
|
|
||||||
else:
|
|
||||||
import fcntl
|
|
||||||
|
|
||||||
def local_ips():
|
|
||||||
result = []
|
|
||||||
try:
|
|
||||||
is_64bits = sys.maxsize > 2**32
|
|
||||||
struct_size = 40 if is_64bits else 32
|
|
||||||
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
|
||||||
max_possible = 8 # initial value
|
|
||||||
while True:
|
|
||||||
struct_bytes = max_possible * struct_size
|
|
||||||
names = array.array("B", "\0" * struct_bytes)
|
|
||||||
outbytes = struct.unpack(
|
|
||||||
"iL",
|
|
||||||
fcntl.ioctl(
|
|
||||||
s.fileno(),
|
|
||||||
0x8912, # SIOCGIFCONF
|
|
||||||
struct.pack("iL", struct_bytes, names.buffer_info()[0]),
|
|
||||||
),
|
|
||||||
)[0]
|
|
||||||
if outbytes == struct_bytes:
|
|
||||||
max_possible *= 2
|
|
||||||
else:
|
|
||||||
break
|
|
||||||
namestr = names.tostring()
|
|
||||||
|
|
||||||
for i in range(0, outbytes, struct_size):
|
|
||||||
addr = socket.inet_ntoa(namestr[i + 20 : i + 24])
|
|
||||||
if not addr.startswith("127"):
|
|
||||||
result.append(addr)
|
|
||||||
# name of interface is (namestr[i:i+16].split('\0', 1)[0]
|
|
||||||
finally:
|
|
||||||
return result
|
|
||||||
|
|
||||||
|
|
||||||
# The local IP addresses list should not change often. Therefore, we can cache the result and never
|
# The local IP addresses list should not change often. Therefore, we can cache the result and never
|
||||||
# call this function more than once. This stopgap measure is here since this function is called a
|
# call this function more than once. This stopgap measure is here since this function is called a
|
||||||
|
|
Loading…
Reference in New Issue