Python 取证 - Dshell and Scapy
-
DShell
Dshell是一个基于 Python 的网络取证分析工具包。该工具包由美国陆军研究实验室开发。该开源工具包于 2014 年发布。该工具包的主要重点是轻松进行取证调查。该工具包由下表列出的大量解码器组成。序号 解码器名称和描述 1 dns这用于提取与 DNS 相关的查询2 reservedips确定 DNS 问题的解决方案3 large-flows网络流量列表4 rip-http它用于从 HTTP 流量中提取文件5 Protocols用于识别非标准协议美国陆军实验室在以下链接中维护了 GitHub 中的克隆存储库 -克隆包含一个脚本install-ubuntu.py ()用于安装此工具包。一旦安装成功,它会自动构建稍后使用的可执行文件和依赖项。依赖项如下 -dependencies = { "Crypto": "crypto", "dpkt": "dpkt", "IPy": "ipy", "pcap": "pypcap" }
此工具包可用于处理 pcap(数据包捕获)文件,这些文件通常在事件或警报期间记录。这些 pcap 文件由 Linux 平台上的 libpcap 或 Windows 平台上的 WinPcap 创建。 -
Scapy
Scapy 是一个基于 Python 的工具,用于分析和操纵网络流量。以下是 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"
这个脚本在网络数据包中给出了国家细节的详细描述,他们正在相互通信。上面的脚本将产生以下输出。