使用协议 ICMP 的命令行过滤器
Command line filter with protocol ICMP
我想使用 Wireshark 命令行 (tshark.exe) 来捕获 icmp 流量。
我用过这个并且对 src 和 dst 主机运行良好-
C:\Program Files\Wireshark>tshark.exe -f "src or dst host 192.192.1.1" -i 1 -a duration:10 -w C:\temp\mycap.cap
这很好用。但是,如果我只想捕获协议 "icmp" 的流量并将流量保存到文件中怎么办。这不起作用-
C:\Program Files\Wireshark>tshark.exe -f "icmp" -i 1 -a duration:10 -w C:\temp\mycap3.cap
如果我这样做就可以了-
C:\Program Files\Wireshark>tshark.exe -f "icmp"
对于上面的命令,有什么方法可以知道 wireshark 已经使用给定的 ip 列表捕获了特定数量的 icmp 流量?假设 10 个不同 ip 的 icmp 流量计数为 10。
或者,我需要怎样更改命令才能将 icmp 流量保存到给定持续时间的文件?
This does not work
有什么"does not work"?它不会将任何数据包写入文件吗?如果是这样,您确定有 ICMP 数据包要写入吗?
尝试在 运行 宁 TShark 时在另一个命令 window 中执行 "ping" 命令;如果 那个 捕获数据包,可能问题只是在 TShark 捕获的 10 秒内没有发送或接收 ICMP 流量。
If i do this then it works
该命令没有时间限制,因此如果它 运行 的时间较长,则可能足以发送或接收一些 ICMP 数据包。
For the above command, is there any way to know the wireshark has captured a particular count of icmp traffic with given list of ip?
好吧,如果这是 BSD 风格的 UN*X,例如 *BSD 或 OS X,您可以键入 control-T,它会报告捕获了多少数据包。但是,这是 Windows,所以这不起作用。
但是,如果您没有 运行 TShark 的 -q
标志,它应该打印出 运行ning 捕获数据包的计数;你应该用 C:\Program Files\Wireshark>tshark.exe -f "icmp"
.
看到那个计数
Lets say 10 count of icmp traffic for 10 different ip.
TShark 将报告捕获的数据包计数,但不会报告地址计数,只报告数据包总数。
Or, what do i need to change the command to save the icmp traffic to a file with given duration?
您键入的第一个命令 -a duration:10
、 是 持续 10 秒的正确命令。也许你需要更改的是持续时间,例如 -a duration:120
捕获 2 分钟,以便查看 ICMP 数据包。我在我的机器上 运行 tcpdump 超过 10 秒,过滤器 "icmp",没有看到 ICMP 流量; ICMP 数据包要么表示问题(希望在您的网络上很少见),要么是信息查询和 ping 的结果(也可能很少见),因此您可能根本没有很多 ICMP 流量。
我想使用 Wireshark 命令行 (tshark.exe) 来捕获 icmp 流量。
我用过这个并且对 src 和 dst 主机运行良好-
C:\Program Files\Wireshark>tshark.exe -f "src or dst host 192.192.1.1" -i 1 -a duration:10 -w C:\temp\mycap.cap
这很好用。但是,如果我只想捕获协议 "icmp" 的流量并将流量保存到文件中怎么办。这不起作用-
C:\Program Files\Wireshark>tshark.exe -f "icmp" -i 1 -a duration:10 -w C:\temp\mycap3.cap
如果我这样做就可以了-
C:\Program Files\Wireshark>tshark.exe -f "icmp"
对于上面的命令,有什么方法可以知道 wireshark 已经使用给定的 ip 列表捕获了特定数量的 icmp 流量?假设 10 个不同 ip 的 icmp 流量计数为 10。
或者,我需要怎样更改命令才能将 icmp 流量保存到给定持续时间的文件?
This does not work
有什么"does not work"?它不会将任何数据包写入文件吗?如果是这样,您确定有 ICMP 数据包要写入吗?
尝试在 运行 宁 TShark 时在另一个命令 window 中执行 "ping" 命令;如果 那个 捕获数据包,可能问题只是在 TShark 捕获的 10 秒内没有发送或接收 ICMP 流量。
If i do this then it works
该命令没有时间限制,因此如果它 运行 的时间较长,则可能足以发送或接收一些 ICMP 数据包。
For the above command, is there any way to know the wireshark has captured a particular count of icmp traffic with given list of ip?
好吧,如果这是 BSD 风格的 UN*X,例如 *BSD 或 OS X,您可以键入 control-T,它会报告捕获了多少数据包。但是,这是 Windows,所以这不起作用。
但是,如果您没有 运行 TShark 的 -q
标志,它应该打印出 运行ning 捕获数据包的计数;你应该用 C:\Program Files\Wireshark>tshark.exe -f "icmp"
.
Lets say 10 count of icmp traffic for 10 different ip.
TShark 将报告捕获的数据包计数,但不会报告地址计数,只报告数据包总数。
Or, what do i need to change the command to save the icmp traffic to a file with given duration?
您键入的第一个命令 -a duration:10
、 是 持续 10 秒的正确命令。也许你需要更改的是持续时间,例如 -a duration:120
捕获 2 分钟,以便查看 ICMP 数据包。我在我的机器上 运行 tcpdump 超过 10 秒,过滤器 "icmp",没有看到 ICMP 流量; ICMP 数据包要么表示问题(希望在您的网络上很少见),要么是信息查询和 ping 的结果(也可能很少见),因此您可能根本没有很多 ICMP 流量。