手机版 收藏 导航

在 Linux 7 中获取网卡 IP 地址的 Python 脚本示例是什么_在 Linux 7 中通过 ip 命令查看 IP 地址的用法是什么

原创   www.link114.cn   2024-01-24 21:29:50

在 Linux 7 中获取网卡 IP 地址的 Python 脚本示例是什么_在 Linux 7 中通过 ip 命令查看 IP 地址的用法是什么

在 Linux 7 中获取网卡 IP 地址的一种方法是使用 Python 脚本。以下是一个示例脚本:

import socket
import netifaces

def get_ip_address(interface_name):
    """获取指定网卡的 IP 地址"""
    try:
        interface_addresses = netifaces.ifaddresses(interface_name)
        ip_address = interface_addresses[netifaces.AF_INET][0]['addr']
        return ip_address
    except (ValueError, IndexError):
        return None

# 获取 eth0 网卡的 IP 地址
ip_address = get_ip_address('eth0')
print(f'IP address: {ip_address}')

另一种方法是使用 ip 命令直接查看 IP 地址。示例如下:

$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:11:22:33 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0
       valid_lft 3523sec preferred_lft 3523sec

从输出中可以看到 eth0 网卡的 IP 地址为 192.168.1.100