Python 实现:从 IP 范围获取 IP、MAC 与计算机名并保存到文件
以下是一个使用 Python 实现上述功能的示例代码: ```python import socket import struct import os def get_ip_range(start_ip, end_ip): # 将 IP 地址转换为整数 start = struct.unpack("!I", socket.inet_aton(start_ip))[0] end = struct.unpack("!I", socket.inet_aton(end_ip))[0] results = [] for ip_int in range(start, end + 1): # 将整数转换回 IP 地址 ip = socket.inet_ntoa(struct.pack("!I", ip_int)) try: hostname = socket.gethostbyaddr(ip)[0] except: hostname = "未知" mac_address = "未知" # 获取 MAC 地址的实现较为复杂,此处先设置为未知 # 判断是否为本机地址 if ip == socket.gethostbyname(socket.gethostname()): local_flag = "本机" else: local_flag = "" results.append((ip, local_flag, mac_address, hostname)) return results def save_results(results): with open("IP 地址.txt", "w") as f: for i, (ip, local_flag, mac_address, hostname) in enumerate(results, 1): f.write(f"{i} {ip} {local_flag} {mac_address} {hostname}\n") start_ip = input("请输入起始 IP 地址:") end_ip = input("请输入结束 IP 地址:") results = get_ip_range(start_ip, end_ip) save_results(results) # 额外注意的逻辑点: # 1. 实际获取 MAC 地址可能需要更复杂的方法,可能涉及系统调用或特定的网络库。 # 2. 处理网络相关操作时要注意异常情况,确保代码的健壮性。 # 3. 输入的 IP 地址格式需要进行有效验证,以防止错误输入导致程序异常。 ``` ######[AI写代码神器 | 456点数解答 | 2025-02-28 23:43:19]
- 批处理文件:依据参数表.xlsx精准修改文件.txt中p、t、s值(GPT | 811点数解答 | 2024-12-05 12:58:37)378
- 用批处理和Python实现“参数表.xlsx”与“文件.txt”数据匹配及修改(讯飞星火 | 531点数解答 | 2024-12-05 13:20:42)366
- 批处理文件:依据参数表.xlsx精准修改文件.txt特定参数值(阿里通义 | 495点数解答 | 2024-12-05 13:22:26)348
- Python 实现 DES 加密算法编程实验:从原理到单步调试全解析(字节豆包 | 4096点数解答 | 2025-11-09 22:06:30)70
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)458
- 揭秘软件工程师视角:域名与 IP 一对多关系,一个 IP 能否对应多个域名? (百度文心 | 61点数解答 | 2023-11-09 18:19:12)375
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- Java技巧:用 indexOf 方法获取字符串中某子字符串所有出现位置( | 691点数解答 | 2023-12-28 19:49:03)316
- Python 利用 win32com 库:将 Excel 转换为 A4 横向 PDF 并单独打印首列(字节豆包 | 507点数解答 | 2025-03-10 15:48:12)302
- Python 实现将当前目录文件名写入 url.txt,附三大实用改进建议!(字节豆包 | 127点数解答 | 2024-12-25 11:19:25)236
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)414
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)405