USTC-TK2016工具使用教程


工具下载地址:USTC-TK2016 ps:使用git较zip下载更好
该工具的github README中有基本的安装和使用步骤,针对不同的运行环境会有一些小问题,以下是本人参考博文后重新整理的安装使用教程
环境
Windows 10操作系统
python 3.7
powershell 5.1
splitcap
1、Git安装
①windows安装git:下载地址,根据网上的安装教程进行安装,安装步骤中大部分设置为默认
②打开Git Bash,进入自己的工作目录,然后输入以下对应的git clone命令

# Clone the repository on "master" branch
$ git clone -b master https://github.com/yungshenglu/USTC-TK2016

2、使用
(1)将pcap数据集放入1_Pcap文件夹
(2)执行1_Pcap2Session.ps1文件:
①ps1文件需要在powershell中运行,Windows 10系统自带powershell。在任务栏中搜索powershell并点击右键使用管理员权限运行;
②在powershell中输入set-executionpolicy remotesigned,更改执行策略;


③如果将pcap文件按照session切割,将1_Pcap2Session.ps1文件的第10和第14行取消注释,第11行和第15行注释掉;如果将pcap文件按照flow切割,与前面恰好相反;


④在powershell中进入USTC-TK2016目录,输入.\1_Pcap2Session.ps1尝试运行ps1文件,出现:处理的异常: System.TypeInitializationException: "SplitCap.Program"的类型初始值设定项引发异常。USTC-TK2016\2_Session\AllLayers\…找不到指定文件的错误。前者是由于Splitcap版本过低导致的,在splitcap下载地址:link中下载最新版本的splitcap,将exe文件放入原来的0_ToolSplitCap_2-1文件夹下,删除原来的SplitCap.exe文件,或者在ps1文件中修改代码;后者按照源代码中的输出文件格式2_Session\AllLayers\$($f.BaseName)-ALL2_Session\AllLayers\$($f.BaseName)-L7(变量是pcap文件除去文件后缀的文件名),手动在指定目录下创建对应的文件夹
⑤再次运行,执行成功后在2_Session\AllLayers\2_Session\L7\目录下会有对应的pcap文件
(3)执行2_ProcessSession.ps1文件:
①打开ps1文件,将需要处理的源文件目录变量修改为:$SOURCE_SESSION_DIR = "2_Session\L7"或者$SOURCE_SESSION_DIR = "2_Session\AllLayers",即上一步数据切割后保存的文件目录
②根据ps1文件中的以下代码手动创建对应的文件夹

$paths = @(('3_ProcessedSession\FilteredSession\Train', '3_ProcessedSession\TrimedSession\Train'), ('3_ProcessedSession\FilteredSession\Test', '3_ProcessedSession\TrimedSession\Test'))

③输入.\2_ProcessSession.ps1尝试运行ps1文件,执行成功后

FilteredSession\ - Get the top 60000 large PCAP files
TrimedSession\ - Trim the filtered PCAP files into size 784 bytes (28 x 28) and append 0x00 if the PCAP file is shorter than 784 bytes
The files in subdirectory Test\ and Train\ is random picked from dataset.

(4)执行3_Session2Png.py文件:
①命令行输入python 3_Session2Png.py运行,生成的图片保存在4_Png目录下;
②运行时报错:TypeError: slice indices must be integers or None or have an __index__ method,根据报错提示查看对应的代码fh = numpy.reshape(fh[:rn*width],(-1,width)) ,因为[]中的数据变成了浮点数,不能作为数组的下标,需要将其强制转换为int型,修改为fh = numpy.reshape(fh[:int(rn*width)],(-1,width)) ,或者因为rn的值源于前面的rn = len(fh)/width,这里除法保留了小数部分,所以需要将单斜杠变为双斜杠只保留整数部分
(5)执行4_Png2Mnist.py文件:
①原文件的注释中要求python>2.5,代码中的print函数使用表明为python2环境,需要修改print语句为python3版本
②如果需要添加print语句测试某些变量,在增加代码时会遇到缩进的问题,因为Git的代码通常会出现4个空格和tab键不匹配问题,可以参考link进行修改

声明:Tsuki|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - USTC-TK2016工具使用教程


Carpe Diem and Do what I like