在我的Python脚本中,我需要检索运行脚本的机器的IP地址及其网络地址和网络字节.
至于IP地址,我在档案中找到了解决方案:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("www.google.com",80))
myAddress = (s.getsockname()[0])
s.close()
Run Code Online (Sandbox Code Playgroud)
但是我应该如何寻找网络地址和网络字节?我需要将这些信息放入格式的tcpdump过滤器中$NetworkAddress/$NetworkBytes,如果这有帮助的话.
例:
128.1.2.0/20
Run Code Online (Sandbox Code Playgroud)
我inet 跑步的时候真的可以找到它ip addr.在Python中获取此信息的任何简单方法?
我正在尝试为我拥有的IP地址获取子网.
例如:
1
子网掩码 : 255.255.255.0
输入: 192.178.2.55
输出: 192.178.2.0
2
子网掩码 : 255.255.0.0
输入: 192.178.2.55
输出: 192.178.0.0
目前,我的方式(子网255.255.255.0)
ip = '192.178.2.55'
subnet = '.'.join(ip.split('.')[:2]) + '.0.0'
subnet
'192.178.0.0'
Run Code Online (Sandbox Code Playgroud)
我看到python有ipaddress库.但是我找不到可以执行上述任务的方法.
奖励:由于ipaddress支持IPv4和IPv6,如果两者都可以使用相同的功能.