使⽤USTC-TK2016⼯具对USTC-TFC2016数据集进⾏处理——报错解决记录 关于如何运⾏以及下载USTC-TK2016数据处理⼯具,在项⽬的github中已经说得很详细了,本帖主要是记录⼀下运⾏过程中的报错及解决⽅案。
错误⼀:
打开 PowerShell,运⾏第⼀步 1_Pcap2Session.ps1,报错:
Error: No files matched '2_Session\AllLayers'
No files to process
Error: No files matched '2_Session\L7'
No files to process
如图:
这我就纳闷了,脚本运⾏所在路径既没问题,2_Session 下的⽂件夹也应该是⾃动⽣成的,怎么会提⽰没有匹配的⽂件呢。看了⼀下程序,到原因了。按照github上的要求把USTC-TFC2016数据集下载下来并放到 1_Pcap ⽂件夹下,结构如下图: 1_Pcap
└─USTC-TFC2016
├─Benign
│ BitTorrent.pcap
│ Facetime.pcap
│ FTP.pcap
│ Gmail.pcap
│ MySQL.pcap
│ Outlook.pcap
│ Skype.pcap
│ SMB.7z
│ Weibo.7z
│ WorldOfWarcraft.pcap
│对比分析法
└─Malware
Cridex.7z
Geodo.7z
集韵Htbot.7z
Miuref.pcap
Neris.7z
Nsis-ay.7z
Shifu.7z车有利
Tinba.pcap
Virut.7z
火筒式加热炉
Zeus.pcap
但是代码中却是这样写的
1_Pcap2Session.ps1
问题就出在第⼀⾏,这样肯定不到⽂件啊,1_Pcap ⽂件夹下哪有 pcap ⽂件,应修改为:
#foreach($f in gci 1_Pcap *.pcap)
#更改为:
foreach($f in gci 1_Pcap\USTC-TFC2016\Benign *.pcap)#这⾥路径按照⾃⼰的修改,不⼀定和我完全⼀样
foreach($f in gci 1_Pcap\USTC-TFC2016\Malware *.pcap)
#分别处理恶意流量和正常流量
再次运⾏就不会报这个错误了
错误⼆:
确定脚本程序没问题后接着运⾏,⼜报错了
未处理的异常: System.TypeInitializationException: “SplitCap.Program”的类型初始值设定项引发异常。 ---> System.IO.FileNotFoundException: 未能加载⽂件或程序集“PacketParser, Version=1.5.0.0,
Culture=neutral, PublicKeyToken=null ”或它的某⼀个依赖项。系统不到指定的⽂件。
⽂件名:“PacketParser, Version=1.5.0.0, Culture=neutral, PublicKeyToken=null”
在 ()
br35要启⽤程序集绑定失败⽇志记录,请将注册表值[HKLM\Software\Microsoft\Fusion!EnableLog](DWORD)设置为 1。
注意: 会有⼀些与程序集绑定失败⽇志记录关联的性能损失。
要关闭此功能,请移除注册表值[HKLM\Software\Microsoft\Fusion!EnableLog]。
衡水学院图书馆--- 内部异常堆栈跟踪的结尾 ---
在 SplitCap.Program.Main(String[] args)
USTC-TK2016
├─0_Tool
│
└─SplitCap_2-1
<
<
<
再次运⾏就不会报错了,注意:运⾏ 1_Pcap2Session.ps1 脚本花费的时间会⽐较长