📜  在本地网络 ubuntu 上查找 ip 地址 - Python (1)

📅  最后修改于: 2023-12-03 15:23:34.496000             🧑  作者: Mango

在本地网络 Ubuntu 上查找 IP 地址 - Python

在本地网络 Ubuntu 上查找 IP 地址是一项很基础、但却很有用的操作,我们可以使用 Python 编写一个简单的程序来实现这个功能。

使用 Python 查找本地 IP 地址

Python 中内置有 socket 模块,我们可以使用该模块来查找本地 IP 地址。以下是示例代码:

import socket

hostname = socket.gethostname()
local_ip = socket.gethostbyname(hostname)

print("Hostname:", hostname)
print("Local IP Address:", local_ip)

该示例代码通过 socket.gethostname() 获取主机名,然后通过 socket.gethostbyname() 获取 IP 地址。使用 print() 函数输出结果。

查找本地网络中的其他设备 IP 地址

如果我们想查找本地网络中其他设备的 IP 地址,可以使用 nmap 工具来扫描网络。我们可以使用 Python 调用 nmap 来实现。

以下是示例代码:

import nmap

scanner = nmap.PortScanner()
scanner.scan(hosts='192.168.0.0/24', arguments='-n -sP -PE -PA21,23,80,3389')

for host in scanner.all_hosts():
    if scanner[host].state() == 'up':  # 如果主机状态为 UP
        print('Host %s (%s) is up' % (host, scanner[host]['vendor']))  # 输出主机名和厂商信息

该示例代码通过 nmap 扫描局域网中的所有设备,并输出主机名和厂商信息。

总结

在本地网络 Ubuntu 上查找 IP 地址是一项很基础、但却很有用的操作。Python 中可以通过 socket 模块来查找本地 IP 地址,可以通过 nmap 工具来实现扫描局域网中的其他设备并查找其 IP 地址。