python脚本获取本机IP的方式

#方法一:
#!/usr/bin/python
import socket
import fcntl
import struct
def get_ip_address(ifname):
    s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    return socket.inet_ntoa(fcntl.ioctl(
    s.fileno(),
    0x8915,
    struct.pack('256s',ifname[:15])
    )[20:24])
print(get_ip_address('br0'))
#方法二:
import socket, fcntl, struct #fcntl用于linux系统
def get_local_ip(ifname):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    inet = fcntl.ioctl(s.fileno(), 0x8915, struct.pack('256s', ifname[:15]))
    ret = socket.inet_ntoa(inet[20:24])
    return ret
print(get_local_ip("br0"))
#方法三:
import socket
print(socket.gethostbyname(socket.getfqdn(socket.gethostname())))
#请本地hosts文件配置电脑名指向本机对应IP,否者有可会报名或示127.0.0.1回环地址

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
作为AI语言模型,我无法执行操作系统级别的任务,但是我可以提供一些思路: 1. 使用命令行更改IP地址。在Windows操作系统中,可以使用以下命令更改IP地址: ``` netsh interface ip set address "本地连接" static 192.168.1.100 255.255.255.0 192.168.1.1 ``` 其中,“本地连接”是网卡名称,“192.168.1.100”是新的IP地址,“255.255.255.0”是子网掩码,“192.168.1.1”是默认网关。在Linux操作系统中,可以使用以下命令更改IP地址: ``` sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up ``` 其中,“eth0”是网卡名称,“192.168.1.100”是新的IP地址,“255.255.255.0”是子网掩码。 2. 使用Python编写脚本更改IP地址。可以使用Python的socket库和os库来编写脚本更改IP地址。下面是一个示例代码: ``` import socket import os # 设置新的IP地址和子网掩码 new_ip = '192.168.1.100' new_subnet_mask = '255.255.255.0' # 获取本机网卡名称 hostname = socket.gethostname() ip_addr = socket.gethostbyname(hostname) cmd = f'ifconfig | grep -B1 {ip_addr} | awk \'$1!="inet" && $2!="inet" {{print $1}}\'' nic_name = os.popen(cmd).read().strip() # 更改IP地址和子网掩码 os.system(f'sudo ifconfig {nic_name} {new_ip} netmask {new_subnet_mask} up') ``` 这段代码会获取本机IP地址和网卡名称,并使用os.system()函数执行命令更改IP地址和子网掩码。需要注意的是,该脚本需要在管理员权限下运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码哝小鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值