tcpprep:不允许命令行参数
tcpprep: Command line arguments not allowed
我不确定,为什么在 ubuntu 终端上执行以下命令会抛出错误。根据帮助文档中提到的 tcpprep 语法和选项,仍然会抛出错误。
root@test-vm:~# /usr/bin/tcpprep --cachefile='cachefile1' —-pcap='/pcaps/http.pcap'
tcpprep: Command line arguments not allowed
tcpprep (tcpprep) - Create a tcpreplay cache cache file from a pcap file
root@test-vm:~# /usr/bin/tcpprep -V
tcpprep version: 3.4.4 (build 2450) (debug)
您的命令有两个问题(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
用于使用您提供的 启发式 将捕获文件预处理为 client/server。通过服务器 192.168.122.201
和下一跳 mac 52:54:00:12:35:02
,
将 tcpprep manpage, there are 5 valid options (-acerp
). Given this capture file 视为 input.pcapng
-a/--auto
让 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
这在此捕获中没有用,因为此捕获中的所有流量都具有 52:54:00:12:35:02
、ff:ff:ff:ff:ff:ff
(广播)或 [=33= 的下一跳的目的地 mac ](多播)。尽管如此,来自下一跃点的流量不会是客户端流量,因此它看起来像:
tcpprep --mac=52:54:00:12:35:02 —-pcap=input.pcapng --cachefile=input.cache
-r/--regex
这是针对 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/--port
查看 Wireshark > Statistics > Endpoints,我们看到端口 [135,139,445,1024]/tcp、[137,138]/udp 与服务器 IP 相关联。与 dcerpc
一起使用的 1024/tcp 是唯一落在 0-1023 范围之外的,因此我们必须手动指定它。每 services syntax, we'd represent this as 'dcerpc 1024/tcp'. In order to specify port, we also need to specify a --services
file. We can specify one inline as a temporary file descriptor with process substitution。总而言之,
tcpprep --port --services=<(echo "dcerpc 1024/tcp") --pcap=input.pcapng --cachefile=input.cache
进一步阅读
有关更多示例和信息,请查看 the online docs。
我不确定,为什么在 ubuntu 终端上执行以下命令会抛出错误。根据帮助文档中提到的 tcpprep 语法和选项,仍然会抛出错误。
root@test-vm:~# /usr/bin/tcpprep --cachefile='cachefile1' —-pcap='/pcaps/http.pcap'
tcpprep: Command line arguments not allowed
tcpprep (tcpprep) - Create a tcpreplay cache cache file from a pcap file
root@test-vm:~# /usr/bin/tcpprep -V
tcpprep version: 3.4.4 (build 2450) (debug)
您的命令有两个问题(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
用于使用您提供的 启发式 将捕获文件预处理为 client/server。通过服务器 192.168.122.201
和下一跳 mac 52:54:00:12:35:02
,
-acerp
). Given this capture file 视为 input.pcapng
-a/--auto
让 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
这在此捕获中没有用,因为此捕获中的所有流量都具有 52:54:00:12:35:02
、ff:ff:ff:ff:ff:ff
(广播)或 [=33= 的下一跳的目的地 mac ](多播)。尽管如此,来自下一跃点的流量不会是客户端流量,因此它看起来像:
tcpprep --mac=52:54:00:12:35:02 —-pcap=input.pcapng --cachefile=input.cache
-r/--regex
这是针对 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/--port
查看 Wireshark > Statistics > Endpoints,我们看到端口 [135,139,445,1024]/tcp、[137,138]/udp 与服务器 IP 相关联。与 dcerpc
一起使用的 1024/tcp 是唯一落在 0-1023 范围之外的,因此我们必须手动指定它。每 services syntax, we'd represent this as 'dcerpc 1024/tcp'. In order to specify port, we also need to specify a --services
file. We can specify one inline as a temporary file descriptor with process substitution。总而言之,
tcpprep --port --services=<(echo "dcerpc 1024/tcp") --pcap=input.pcapng --cachefile=input.cache
进一步阅读
有关更多示例和信息,请查看 the online docs。