您的命令有两个问题(tcpprep
错误含糊不清或错误无济于事)。
问题 #1:命令乱序
tcpprep 要求-i/--pcap
先于-o/--cachefile
. 您可以按如下方式解决此问题,但随后会出现不同的错误:
bash$ /usr/bin/tcpprep —-pcap='/pcaps/http.pcap' --cachefile='cachefile1'
Fatal Error in tcpprep_api.c:tcpprep_post_args() line 387:
Must specify a processing mode: -a, -c, -r, -p
请注意,上面的错误甚至不准确!-e/--mac
也可以用!
问题#2:必须指定处理模式
tcpprep
用于使用您提供的启发式将捕获文件预处理到客户端/服务器中。查看tcpprep 手册页,有 5 个有效选项 ( -acerp
)。鉴于此捕获文件与input.pcapng
server192.168.122.201
和 next hop mac一样52:54:00:12:35:02
,
-a/--自动
让 tcpprep 根据 5 种启发式方法之一确定:bridge
、router
、client
、server
、first
。前任:
tcpprep --auto=first —-pcap=input.pcapng --cachefile=input.cache
-c/--cidr
按 cidr 范围指定服务器。我们看到服务器位于 192.168.122.201、192.168.122.202 和 192.168.3.40,因此总结为192.168.0.0/16
:
tcpprep --cidr=192.168.0.0/16 --pcap=input.pcapng --cachefile=input.cache
-e/--mac
这在此捕获中没有那么有用,因为此捕获中的所有流量都具有下一跳的 dest mac 52:54:00:12:35:02
,ff:ff:ff:ff:ff:ff
(广播)或33:33:00:01:00:02
(多播)。尽管如此,来自下一跳的流量不会是客户端流量,所以看起来像:
tcpprep --mac=52:54:00:12:35:02 —-pcap=input.pcapng --cachefile=input.cache
-r/--正则表达式
这适用于 IP 范围,是使用--cidr
. 如果您有多个 IP,例如 10.0.20.1、10.1.20.1、10.2.20.1...,其中汇总不起作用而正则表达式将起作用,这将更加有用。这是我们可以用来总结服务器的一个正则表达式:
tcpprep --regex="192\.168\.(122|3).*" —-pcap=input.pcapng --cachefile=input.cache
-p/--端口
查看 Wireshark > Statistics > Endpoints,我们看到端口 [135,139,445,1024]/tcp、[137,138]/udp 与服务器 IP 相关联。1024/tcp,使用 withdcerpc
是唯一一个不在 0-1023 范围内的,所以我们必须手动指定它。根据服务语法,我们将其表示为“dcerpc 1024/tcp”。为了指定端口,我们还需要指定一个--services
文件。我们可以使用进程替换指定一个内联作为临时文件描述符。共,
tcpprep --port --services=<(echo "dcerpc 1024/tcp") --pcap=input.pcapng --cachefile=input.cache
延伸阅读
有关更多示例和信息,请查看在线文档。