ZYZ233 2024-06-26 16:32 采纳率: 0%
浏览 12
已结题

关于#wireshark#的问题:需要网络应用流量数据集需要做长度序列的实验,需要与应用产生的会话的数据包的长度,如视频类或者聊天类软件

需要网络流量数据集
需要做长度序列的实验,需要与应用产生的会话的完整的数据包的长度,上下行流量长度用正负好区分开,并且标注好这些流量属于哪一类应用,如视频类或者聊天类软件

  • 写回答

17条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-26 16:32
    关注

    引自免费微信小程序:皆我百晓生

    要解决这个问题,首先你需要收集并分析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等。这些工具可以提供更强大的功能,包括但不限于性能监控、流量可视化、报警等功能,从而更好地满足您的需求。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月27日
  • 修改了问题 6月26日
  • 创建了问题 6月26日

悬赏问题

  • ¥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 如何让子窗口鼠标滚动独立,不要传递消息给主窗口