No description
This repository has been archived on 2026-06-16. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Python 93.6%
  • Lua 4.6%
  • Shell 1.3%
  • JavaScript 0.5%
Find a file
2022-06-02 15:43:34 +08:00
expr_1
make_traffic
PCAPs
satori
SUB_FEATUREs
SUB_PCAPs
zardaxt
detection.py
extract_feature.lua
fps.txt
get_fps.py
make_features.py
readme.md

实验一实验代码文件说明

环境Ubuntu。运行所需软件sudo apt install tshark lua lua-cjson。

make_traffic 实验原始流量搜集

  • make_traffic/get_network_data.py : 利用requests库编写的Python语言脚本运行在设备上对域名列表中的域名发起HTTP/HTTPS请求
  • make_traffic/get_PvNum.py : 从网址之家获取从Alexa中国访问量排名前200的域名的近三月的日均PVPage View值的代码
  • make_traffic/domain_pv.txt : Alexa中国访问量排名前200的域名及近三月的日均 PVPage View
  • make_traffic/Four_VM_devices.txt & make_traffic/Six_Real_devices.JPG 10台设备的名字源IP源MAC。
  • make_traffic/cut_pcap_four.lua & make_traffic/cut_pcap_six.lua : 将10台设备的流量从总流量中过滤出来。
  • PCAPS搜集到的10台设备的 60 分钟的流量。

TCP/IP被动流量操作系统指纹

  • satorisatori开源项目的代码
  • zardaxtzardaxt开源项目的代码
  • get_fps.py从satori开源项目和zardaxt开源项目中提取本实验所需的TCP/IP被动流量操作系统指纹库
  • fps.txt: 提取到的指纹库

流量特征提取

  • extract_feature.lua :按照数据包为单位提取流量特征
  • make_features.py调用extract_feature.lua构造实验负样本流量即非共享接入 IP 的流量(将搜集到的每台设备的 60 分钟的流量按照每份流量持续时长分别为 1、2、3、4、5 分钟均等的分为 60、30、20、15、12 小份,共构造了 600、300、200、150、120 小份流量作为实验负样本流量。)
    • 构造得到的负样本流量存储在 SUB_FEATUREs 文件夹中

实验算法实现论文中算法567

detection.py其中

  • dect_windows函数论文中算法 7
  • dect_linux函数论文中算法 5
  • dect_XNU函数论文中算法 6
  • dection函数 & dection_sip函数两个函数都实现了论文中图3.3所示的算法dection函数对负样本进行检测dection_sip函数首先构造正样本将负样本流量两两组合、并按照捕获时间将报文重新排序从而获得实验正样本流量即共享接入IP的流量然后dection_sip函数再对对正样本流量进行检测。
  • dect_db1函数基于全局 IPID 的对比实验的方法Bellovin [9]提出的方法)
  • dect_db2函数基于全局 TCP TimeStamp 的对比实验的方法Wicherski 等 [6]提出的方法)

实验一代码运行说明

  1. 运行 get_fps.py 得到TCP/IP被动流量操作系统指纹库
  2. 运行make_features.py构造实验负样本流量。
  3. 再运行detection.py输出论文中表 3.8 所示的实验结果