Python-web-communicate/README.md
fly6516 047ff93932 feat(README): 更新功能描述并添加IP报文发送说明
- 在项目概述中添加了支持发送IP报文的功能描述
- 在使用方法中增加了IP报文类型的选择说明
- 调整了报文类型选择的描述,使用户了解新增的IP报文选项
2025-01-07 17:06:56 +08:00

48 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 网络通信软件
## 项目概述
该项目是一个基于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`: 用于正则表达式匹配和验证。
可以通过以下命令安装相关库: