nmap抓取的数据的调研 郝伟,刘加勇 2020/01/11
- NMap表
字段 | 作用 | 示例1 | 示例2 |
---|---|---|---|
type | 分类 | ssh | http |
port | 商品 | 22 | 80 |
product | 产品的名称 | OpenSSH | Apache httpd |
state | 产品状态 | open | open |
version | 版本 | 8.1p1 Debian 1 | 2.4.23 |
extrainfo | 扩展信息 | protocol 2.0 | (Win32) OpenSSL/1.0.2j PHP/5.4.45 |
- POC 表
字段 | 作用 | 示例1 | 示例2 |
---|---|---|---|
key | POC的名称 | D-Link-DSL-2750E-Router_DefaultPass | NUUO-NVRmini_DefaultPass |
port | 端口 | 80 | 80 |
rule | - | D-Link DSL-2750E Router | NUUO NVRmini |
path | 路径 | hardware/others/D-Link-DSL-2750E-Router_DefaultPass.un | hardware/others/NUUO-NVRmini_DefaultPass.un |
create | - | - | - |
1. 一些思路
- 对每个字符串进行归类,并标特征码,然后分好类的字符串进行比对,相似度高的即可判定
- 通过分房的方式,得到大量词汇,再进行判定
2. pandas文件读写
file_in=r'd:\data\pocs.csv'
file_out=r'd:\data\pocs1.csv'
# 读取CSV文件
pocs=pd.read_csv(file_in)
# 保存为CSV文件
pocs.to_csv(file_out, index=True, sep=',')
一段格式化好的json文本
{
"ip": "192.168.101.3",
"ipinfo": {
"ports": {
"22": {
"state": "open",
"name": "ssh",
"product": "OpenSSH",
"version": "7.6p1 Ubuntu 4ubuntu0.3",
"extrainfo": "Ubuntu Linux; protocol 2.0"
},
"80": {
"state": "open",
"name": "http",
"product": "WSGIServer/0.2 CPython/3.6.9",
"version": "",
"extrainfo": ""
},
"3306": {
"state": "open",
"name": "mysql",
"product": "MySQL",
"version": "5.7.32-0ubuntu0.18.04.1",
"extrainfo": ""
}
},
"system": "Linux",
"vendor": "Linux"
}
}
3. 机器学习库的结构
000000_key_name_\t000000Name\t
4. 参考资料
[1] C#Json读写库Json.NET,https://www.newtonsoft.com/json [2] Json在线格式化,http://www.bejson.com/jsonviewernew/
5. 日志
2021/01/12
- 感觉使用Python功能上受了一些限制,决定还是使用C#编写
- 调研 [1] 仍然不满意
- 自己编写了Json解析算法基本实现了解析功能
2021/01/11 Monday
- 对数据进行进一步分析,初步设计了两种方案
- 方案1:分词后对比
- 方案2:使用机器学习