需要网络流量数据集
需要做长度序列的实验,需要与应用产生的会话的完整的数据包的长度,上下行流量长度用正负好区分开,并且标注好这些流量属于哪一类应用,如视频类或者聊天类软件
关于#wireshark#的问题:需要网络应用流量数据集需要做长度序列的实验,需要与应用产生的会话的数据包的长度,如视频类或者聊天类软件
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
17条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
要解决这个问题,首先你需要收集并分析Wireshark捕获到的网络流量数据。为了实现这个目标,你需要在Wireshark捕获模式下运行一个脚本,这个脚本将记录每一条流的数据包长度,并根据其内容(即是否是视频、聊天等应用)进行分类。
下面是一个简单的Python脚本示例,它将读取Wireshark捕获的日志文件,统计每个应用的数据包长度,并将其打印出来。这个脚本假设Wireshark捕获的是标准TCP/IP协议的UDP数据包,如果你使用的捕获类型不同,可能需要调整一些参数。
import os from collections import defaultdict def analyze_traffic(log_file): # 假设日志文件包含以下格式: # 192.168.1.1 - - [07/Apr/2023:14:57:02 +0000] "GET /video.mp4 HTTP/1.1" 200 1234 # 192.168.1.1 - - [07/Apr/2023:14:57:02 +0000] "POST /chatroom HTTP/1.1" 200 1234 # 创建字典来存储应用名称及其对应的流量长度 app_traffic = defaultdict(int) with open(log_file, 'r') as file: for line in file: parts = line.split() protocol, src_ip, dst_ip, _, method, status_code, _ = parts[:7] if method.lower() == 'get' and status_code.isdigit(): # 尝试解析URL来获取应用名称 try: url_parts = parts[7].split('/') application_name = url_parts[-1] except IndexError: continue else: # 计算应用数据包长度 length = int(status_code) app_traffic[application_name] += length return app_traffic if __name__ == '__main__': log_file = '/path/to/wireshark/log.txt' traffic_data = analyze_traffic(log_file) print("App Traffic Lengths:") for app, length in traffic_data.items(): print(f"{app}: {length}")
使用说明
- **替换
/path/to/wireshark/log.txt
**为你的Wireshark日志文件路径。 - 运行此脚本后,将会输出每个应用的数据包长度。
这个脚本只是一个基础示例,实际应用中可能会涉及更复杂的逻辑,比如处理多线程、并发请求等问题。此外,还需要考虑如何正确地从Wireshark捕获中提取数据,以及如何对数据进行有效的管理和分析。
对于实时监控应用流量和长度序列,通常建议采用专门的流量分析工具或服务,如Network Monitor、Datadog等。这些工具可以提供更强大的功能,包括但不限于性能监控、流量可视化、报警等功能,从而更好地满足您的需求。
解决 无用评论 打赏 举报 编辑记录- **替换
悬赏问题
- ¥15 找一个QT页面+目标识别(行人检测)的开源项目
- ¥15 有没有整苹果智能分拣线上图像数据
- ¥20 有没有人会这个东西的
- ¥15 cfx考虑调整“enforce system memory limit”参数的设置
- ¥30 航迹分离,航迹增强,误差分析
- ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
- ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
- ¥15 LLM accuracy检测
- ¥15 pycharm添加远程解释器报错
- ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口