# netterminal **Repository Path**: alvari/netterminal ## Basic Information - **Project Name**: netterminal - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-02 - **Last Updated**: 2026-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一、安装 1. PyQt5(含QT Designer) 2. QFluentWidgets 使用与安装见https://qfluentwidgets.com/zh/pages/about # 二、文件结构 ```bash D:. |-- .vscode | |-- launch.json | +-- settings.json |-- core 核心逻辑 | |-- app 继承自core/ui中的Ui_xxx.py中的类,以实现功能与界面的隔离 | | |-- __init__.py | | |-- Frequency_pattern.py 跳频图样与网络拓扑界面 | | |-- jammer.py 干扰界面 | | |-- ParameterSetting.py 参数设置界面 | | |-- Return_indicators.py 统计回传界面 | | +-- ScriptSetting.py 脚本设置与数据链启动界面 | |-- components 实现下发端机指令的具体逻辑,每一个子文件夹以界面名命名,其存放对应界面执行的具体逻辑 | | |-- Frequency_pattern | | | |-- __init__.py | | | |-- patterndef.py | | | +-- returndata.py | | |-- ParameterSetting | | | |-- ComExtractParameters.py | | | +-- Param.py | | |-- Return_indicators | | | +-- returndata.py | | |-- ScriptSetting | | | |-- __init__.py | | | +-- commandgen.py | | +-- __init__.py | |-- devices 上位机的最底层,也是直接与端机交互的一层 | | |-- __init__.py | | |-- delay_calculation.py 计算转发式干扰的时延 | | |-- model.py 用于定义网络拓扑类、节点ip映射表、节点序号映射表、节点间距距离类 | | |-- model_server.py 维护model.py中定义的对象与表,每次启动时新建,进程结束后清除 | | |-- packtest.py 下发具体的指令给端机 | | +-- returnserver.py 回传监听 | |-- scripts 脚本文件,定义演绎剧本 | | |-- script.json | | +-- script.md 脚本格式说明 | +-- ui Designer创建UI界面,QFluentWidgets美化界面 | |-- images 上位机logo | | +-- logo.png | |-- __init__.py | |-- Frequency_pattern.ui | |-- jammer.ui | |-- ParameterSetting.ui | |-- Return_indicators.ui | |-- ScriptSetting.ui | |-- Ui_Frequency_pattern.py | |-- Ui_jammer.py | |-- Ui_ParameterSetting.py | |-- Ui_Return_indicators.py | +-- Ui_ScriptSetting.py |-- logs | |-- commandgen.log | |-- jammer.log | +-- returndata.log |-- Main.py 程序入口,QFluentWidgets主界面以及子界面Tab解锁上锁逻辑 +-- README.md ``` # 三、指令集 ## 端机->上位机 * 大端序(Big Endian):数据的高位字节存储在内存 / 传输的低地址 / 先发送位置,低位字节存储在高地址 / 后发送位置。符合人类的阅读习惯(比如我们写数字1234,总是高位1在前,低位4在后)。用简写BE来表示。 * 小端序(Little Endian):数据的低位字节存储在内存 / 传输的低地址 / 先发送位置,高位字节存储在高地址 / 后发送位置。是大多数计算机(x86/x86_64 架构)的默认存储方式。用简写LE来表示。 下表默认情况下采用16频点,每频点2Byte,身份标识1Byte | 功能 | Header(2 Bytes) | Priority(1 Byte) | Length(2 Bytes) | Payload(可变长) | | :--------------------------- | :-------------: | :--------------: | :--------------: | :------------------------------------- | | 待发数据 | 0xAAAA | 优先级 | len(payload) | payload | | 端机间数据包发送时间间隔 | 0xAAAB | 无此字段 | len(payload) | payload(0xd2) | | 所有通信成员跳频频率表集合 | 0xAAAC | 无此字段 | len(payload) | 大端序、16×2 Bytes | | 所有通信成员跳频序列集合 | 0xAAAE | 无此字段 | 5×(1+16×2) Bytes | 跳频成员数×(1 Byte成员标识+16×2 Bytes) | | 发送端-目的端机的跳频序列表 | 0xAAAD | 无此字段 | len(payload) | 大端序、16×2 Bytes | | 发送功率 | 0xAAAF | 无此字段 | 1 Byte | 1 Byte 功率值 | | 跳频起始时间+同步时间 | 0xABAB | 无此字段 | 16 Bytes | 8 Byte跳频起始时间+8 Byte同步时间 | | 无线电静默(不发送但进程存在) | 0xABAD | 无此字段 | 0 | 无 | | 接收方备份数据 | 0xABAA | 无此字段 | 0 | 无 | | 组网信号 | 0xABAC | 无此字段 | 0 | 无 | | 开始广播 | 0xABAE | 无此字段 | 0 | 无 | | 停止广播 | 0xABAF | 无此字段 | 0 | 无 | | 压制干扰攻击 | 0xAFAA | 无此字段 | 1 | 功率 | | 脉冲阻断攻击 | 0xAFAB | 无此字段 | 2 | 1Byete转发时延+1Byte功率 | | 报文碰撞攻击 | 0xAFAC | 优先级 | 2 | 1Byete转发时延+1Byte功率 | | 路由泛洪入侵 | 0xAFAD | 优先级 | 2 | 1Byete报文间隔+1Byte功率 | | 路由黑洞入侵 | 0xAFAE | 无此字段 | 0 | 无 | ## 上位机->端机 | 功能 | Header(2 Bytes) | Length(2 Bytes) | Payload(可变长) | | :--------------------------- | :-------------: | :--------------: | :------------------------------------- |