📜  Python取证-Dshell和Scapy

📅  最后修改于: 2020-11-06 05:29:45             🧑  作者: Mango


壳牌

Dshell是基于Python的网络取证分析工具包。该工具包由美国陆军研究实验室开发。该开源工具包于2014年发布。该工具包的主要重点是轻松进行法医调查。

该工具包包含大量的解码器,下表中列出了这些解码器。

Sr.No. Decoder Name & Description
1

dns

This is used to extract DNS related queries

2

reservedips

Identifies the solutions for DNS problems

3

large-flows

Listing of the netflows

4

rip-http

It is used extract the files from the HTTP traffic

5

Protocols

Used for identification of non-standard protocols

美国陆军实验室通过以下链接在GitHub中维护了克隆存储库-

https://github.com/USArmyResearchLab/Dshell

克隆存储库

该克隆包含用于安装此工具包的脚本install-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"

该脚本详细描述了彼此通信的网络数据包中的国家/地区详细信息。

上面的脚本将产生以下输出。

DShell和Scapy输出