本实验程序实现了基于RNN模型的SSH协议暴力破解流量分析。
- 首先搭建SSH服务器,编写脚本(utils/data_generator.py)模拟生成正常流量和暴力破解流量(data/raw)。
- 接着以数据包为单位提取间隔时间、协议等相应特征,生成训练/测试数据(utils/data_preprocessor.py)。
- 最后利用GRU、LSTM、BiLSTM三种RNN模型(model/models.py), 对训练/测试数据进行正常流量和暴力破解流量二分类预测(train_main.py), 并输出记录训练/测试结果(log)。
本实验程序采用Python语言编写,主要使用如下软件包:
- pcap
- dpkt
- paramiko
- tqdm
- numpy
- pandas
- sklearn
- pytorch
- torchvision
数据生成和预处理文件的启动运行请参考utils目录下的README.md
RNN模型训练测试文件的启动命令为:
python train_main.py --MODEL XXX
其中'XXX'可以为'GRU'、'LSTM'或'BiLSTM'
|—— README.md
|—— train_main.py
|—— data
|—— raw
|—— train.csv
|—— test.csv
|—— model
|—— models.py
|—— utils
|—— README.md
|—— data_generator.py
|—— data_preprocessor.py
|—— log