我创建了一个 tcpdump 文件:
tcpdump -i eth0 host xxx.208.xxx.59 -n -s 0 -vvv -w /tmp/dump.dmp
Run Code Online (Sandbox Code Playgroud)
持续时间约为3小时。
此文件现在有 450 MB。我现在可以说 IP xxx.208.xxx.59 在 3 小时内产生了 450 MB 的流量吗?
我想知道一种工具,以编程方式测量每个 IP 应用于服务器的负载(以 KB/s 为单位)。
到目前为止,tcpdump 在告诉我每秒发送的数据包数量方面做得很好,但我相信很多都没有显示(以 350KB/s 的速度下载,而每秒只输出 150 个数据包)。
我这样做是否正确?iftop 将是完美的,但我需要一个可以通过标准输出(没有 ncurses)连接的程序。
我正在编写一个与网络一起使用的应用程序。为了执行一些测试,我需要重现前一天的流程。但同时不允许停止当前工作的监听器。我也无法重写现有程序以保存传入流。为了解决我的任务,我决定使用 tcpdump。
我使用以下命令在目标机器上运行 tcpdump:
tcpdump -w capture.cap -n "dst host host.domain.com and port 5555"
Run Code Online (Sandbox Code Playgroud)
当我用 tcpick 或 scapy 阅读 capture.cap 时。我可以看到所有超过 1472 字节的有用数据都被截断为长度为 1472。但在标头中它仍然写入数据包的原始长度。我可以判断,UDP 数据包拆分为多个,然后再次连接。但是 tcpdump 可能会过滤掉所有没有标头的包(应该只出现在第一个包中)
有没有办法转储完整的 UDP 包?
我正在尝试查找 Kubernetes 集群上运行的哪个应用程序正在使用特定端口与 RabbitMQ 集群进行通信。在 RabbitMQ 上,我看到连接来自 192.168.1.10:34226。192.168.1.10是Kubernetes节点之一。登录到 192.168.1.10 后,我检查是否通过 tcpdump 命令从该节点建立了连接tcpdump -i eth0 port 34226。我看到两个方向的交通。现在我正在尝试查找哪个进程正在建立此连接。首先我尝试了 netstat:
netstat -tapn | grep 34226
结果什么也没发现。然后我尝试了 ss 但仍然一无所获。连接已建立,通过 tcpdump 我可以看到发送到 RabbitMQ 的心跳数据包以及来自 RabbitMQ 的响应。但 netstat 和 ss 不报告已建立的连接。
更新1
我发现这与网络命名空间有关。我的问题与this问题类似,但我需要找到从34226端口建立连接的进程的PID。
继此问题之后,我如何判断tcpdump对特定端口使用特定协议分析器?
我正在使用在端口 5053 上运行的测试服务器进行一些 DNS 开发,但我不知道如何判断tcpdump这真的是 DNS 流量。
我不能使用wireshark - 数据包没有通过有GUI 的机器。
CentOS 5.x
我需要收集发送到特定 IP 地址/虚拟接口的 https 请求的数据包捕获。tcpdump 是否有特定的开关/参数允许这样做?其他 IP 接收大量流量,因此我不想捕获与它们有关的数据,并且稍后必须将它们过滤掉......
为什么在使用“端口”时要在“tcpdump”过滤器中强制使用“tcp”,给定端口号在 TCP 标头中定义(而不是 IP)
换句话说,是
tcpdump tcp and port 10000
Run Code Online (Sandbox Code Playgroud)
同义词
tcpdump port 10000
Run Code Online (Sandbox Code Playgroud) 我在 192.168.0.1 和 192.168.0.100 上有对我的 dd-wrt 路由器和计算机的 root 访问权限。
我需要让来自其他计算机(192.168.0.101)的流量通过路由器(进出互联网)并在我的 192.168.0.100 机器上的wireshark 中检查它。如何才能做到这一点?可能在路由器上使用 iptables。
我在使用 tcpdump 将所有 Internet 流量记录在具有以下限制的接口上时遇到了一些问题:
我正在使用以下命令:
tcpdump -pni eth0 -s65535 -G 3600 -C 100 -w '/var/log/tcpdump/trace_%Y-%m-%d_%H:%M:%S.pcap'
因此,我每小时都会收到一个日志文件,但如果文件大于 100,它似乎不会拆分文件。
有谁知道我在哪里搞砸了?为帮助干杯
我在 tshark 中使用这个命令:
tshark -r pcapfile "tcp and ip.src==192.168.1.1" -T text -V -x | grep 'Total Length'
Run Code Online (Sandbox Code Playgroud)
这本质上仅解析来自源 ip 的连接的 pcap,并查找每个数据包的总长度(以字节为单位)。我得到这样的输出:
Total Length: 125
Total Length: 210
Total Length: 40
Total Length: 125
> etc, etc....
Run Code Online (Sandbox Code Playgroud)
我需要做的是从 Total Length 中获取数字并将它们相加,以便我可以了解在 pcap 的时间范围内从单个 IP 通过线路传递了多少数据。
有没有我可以在我用来执行此操作的命令的末尾添加的命令?或者有没有一种方法可以直接到标准输出,然后将其通过管道传输到可以解析和计算我所追求的程序?任何人都知道可以执行此操作的带有 tcpdump 的类似命令?