Python 取证 Dshell 和 Scapy
Dshell 是一个基于 Python 的网络取证分析工具包。该工具包由美国陆军研究实验室开发。该开源工具包于 2014 年发布。该工具包的主要重点是轻松进行取证调查。
该工具包由下表列出的大量解码器组成。
序号. | 解码器名称和描述 |
---|---|
1 |
dns 这用于提取与 DNS 相关的查询 |
2 |
保留ip 确定 DNS 问题的解决方案 |
3 |
大流量 网络流量列表 |
4 |
rip-http 它用于从 HTTP 流量中提取文件 |
5 |
协议 用于识别非标准协议 |
美国陆军实验室在 GitHub 中维护了克隆仓库,链接如下:
https://github.com/USarmyResearchLab/Dshell
克隆包含一个脚本 安装-ubuntu.py () 用于安装此工具包。
一旦安装成功,它会自动构建稍后使用的可执行文件和依赖项。
依赖关系如下:
dependencies = { "Crypto": "crypto", "dpkt": "dpkt", "IPy": "ipy", "pcap": "pypcap" }
此工具包可用于处理 pcap(数据包捕获)文件,这些文件通常在事件或警报期间记录。这些 pcap 文件由 Linux 平台上的 libpcap 或 Windows 平台上的 WinPcap 创建。
Scapy
Scapy 是一个基于 Python 的工具,用于分析和操纵网络流量。以下是 Scapy 工具包的链接:
http://www.secdev.org/projects/scapy/
该工具包用于分析数据包操作。它非常有能力解码大量协议的数据包并捕获它们。 Scapy 与 Dshell 工具包的不同之处在于向调查人员提供了有关网络流量的详细描述。这些描述是实时记录的。
Scapy 能够使用第三方工具或操作系统指纹进行绘图。
考虑以下示例。
import scapy, GeoIP #Imports scapy and GeoIP toolkit from scapy import * geoIp = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE) #locates the Geo IP address def locatePackage(pkg): src = pkg.getlayer(IP).src #gets source IP address dst = pkg.getlayer(IP).dst #gets destination IP address srcCountry = geoIp.country_code_by_addr(src) #gets Country details of source dstCountry = geoIp.country_code_by_addr(dst) #gets country details of destination print src+"("+srcCountry+") >> "+dst+"("+dstCountry+")\n"
这个脚本在网络数据包中给出了国家细节的详细描述,他们正在相互通信。
上面的脚本将产生以下输出。