Skip to content

Dizzy-K/knm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

knm

鼠标键盘流量包分析取证
author:FzWjScjDizzyK


环境要求

  1. python库
    1. matplotlib
    2. tqdm
  2. tshark(作者还没研究明白pyshark,暂时只能先靠着tshark提取。别问,问就是DizzyK菜,没得洗呜呜呜)

安装方法

pip install -r requestment.txt
apt-get install tshark

使用方法

python knm.py <cmd> [arg] [opts]
        cmds:
            pca(p) <pcadile> (<outfile>)            转换pca的USB流量为data(文件)
            keyboard(k) <datafile> (<outfile>)      识别提取出的data(文件)并还原data(文件)为键盘输入内容
            mouse(m) <datafile> (<outfile>)         识别提取出的data(文件)并还原data(文件)为坐标并绘图
            -v          version                     读取版本号及作者信息

参数解释

datafile:USB数据,可以通过初始流量包获得
outfile:输出文件(可以不输入,不输入时默认为outpca、outmouse、outkeyboard)
keyboard(k):解析键盘流量
mouse(m):解析鼠标流量
pca(p):将pcapng等USB流量包模式提取有用数据
-v:版本描述及作者信息


功能讲述

DONE

  • 读取流量包信息
  • 分析鼠标、键盘流量
  • 代码重构
  • 键盘流量直接输出内容
  • 键盘流量扩容字典
  • 鼠标流量作图
    • 轨迹作图
    • 左右键作图
  • 更改pca的输出,使之能够更好的应用于mouse和keyboard
  • 报错信息完善
    • cmd wrong
    • 流量包文件不存在
    • 未指明输出文件(默认为outpca、outmouse、outkeyboard)
    • keyboard、mouse输入文件格式错误
  • 进度条

TODO

  • 自动识别流量类别
  • 外设流量分析
    • 触摸板
    • 打击垫
    • 手柄
  • 不标准的鼠标键盘流量协议分析
  • pyshark代替tshark
  • And so on......

使用范例

  1. 提取USB流量信息

    python knm.py p usb.pcap [output filename]

    在当前文件夹得到提取结果(若未填写[output filename], 则默认为outpca.txt)

  2. 提取键盘流量信息

    python knm.py k [input filename] [output filename]

    其中, [input filename]为必填项(若未填写[output filename], 则默认为outkeyboard.txt)。
    在当前文件夹得到提取结果并将结果直接打印在终端上。

  3. 提取鼠标流量信息

    python knm.py m [input filename] [output filename]

    其中, [input filename]为必填项(若未填写[output filename], 则默认为outmouse.txt)
    在当前文件夹得到提取结果并询问是否按照坐标点作图

  4. 作图
    直接输入序号(0\1\2\3)
    0: 作出全部鼠标轨迹图 1: 作出鼠标左击轨迹图 2: 是作出鼠标右击轨迹图 3: 是将上述三幅图合成一幅输出(但精度较低,请酌情使用)

About

鼠标键盘流量包取证

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%