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:使用机器学习

results matching ""

    No results matching ""