Go to file
fly6516 2fb3a08fbf refactor(main): 优化 DNS响应解析函数
- 为 parse_dns_response 函数添加文档字符串,说明函数功能、参数和返回值
- 优化函数内部逻辑,明确各部分的解析目的和过程
-调整代码格式,提高可维护性
2025-01-08 14:54:12 +08:00
.idea fix: fix icmp feature 2025-01-06 14:28:59 +08:00
LICENSE docs: 添加项目文档和 MIT 2025-01-06 15:12:11 +08:00
main.py refactor(main): 优化 DNS响应解析函数 2025-01-08 14:54:12 +08:00
README.md feat(README): 更新功能描述并添加IP报文发送说明 2025-01-07 17:06:56 +08:00
代码解释.md docs(代码解释): 更新网络通信软件的代码解释文档 2025-01-08 03:32:26 +08:00
原理解释.md docs: 添加原理解释和校验和计算文档 2025-01-06 15:07:59 +08:00
校验和解释.md docs: 添加原理解释和校验和计算文档 2025-01-06 15:07:59 +08:00

网络通信软件

项目概述

该项目是一个基于Python的网络通信软件使用Tkinter实现图形化界面。用户可以通过该软件发送ICMP、UDP、TCP或DNS报文到指定的目标地址和端口。软件会展示本机信息主机名、MAC地址和IP地址并允许用户选择源IP地址、目标地址、端口号以及报文类型进行发送。

功能

  • 获取本机的主机名、MAC地址和IP地址。
  • 用户输入目标地址和端口号支持验证IP地址、域名和端口号的有效性。
  • 支持发送四种类型的报文ICMP、UDP、TCP和DNS。
  • ICMP报文会进行校验和计算并发送。
  • UDP和TCP报文会根据指定端口号构造并发送。
  • TCP连接建立后可以发送简单的字符串数据。
  • DNS查询会向DNS服务器发送请求并解析响应获取目标域名的IP地址。
  • 提供错误处理机制,显示网络错误、输入错误等信息。
  • 支持发送IP报文构造并发送自定义IP头部和负载数据。

使用方法

  1. 启动软件: 运行该Python脚本文件会弹出一个图形化界面。

  2. 选择源IP地址 软件会自动列出本机的所有IP地址用户可以从下拉框中选择一个作为源IP。

  3. 输入目标地址和端口: 在目标地址输入框中输入目标的IP地址或域名目标端口则输入目标的端口号。

  4. 选择报文类型: 用户可以选择发送ICMP、UDP、TCP、DNS或IP类型的报文。

  5. 发送报文: 点击“发送报文”按钮后,软件会构造并发送报文。如果目标地址、端口号或其他输入无效,软件会弹出错误提示。

  6. 查看结果: 软件会在界面上显示报文发送是否成功的信息,或者在发生错误时显示相应的错误提示。

安装依赖

该项目使用Python 3并依赖以下库

  • tkinter: 用于创建图形化界面。
  • socket: 用于网络通信。
  • struct: 用于构造网络报文。
  • re: 用于正则表达式匹配和验证。

可以通过以下命令安装相关库: