我有点困惑与互联网上丰富的tcpdump教程。 我有一些在虚拟化服务器上运行的虚拟机。在哪里我正在debugging一个问题。端口53是有问题的。 我有一个桥接设置,其中有问题的计算机上的4个局域网卡中的一个是活动的,它是xen-br0我想检查是否有任何请求通过局域网上的其他机器在服务器的端口53上传输。 我也想看看局域网或其他机器上的客户操作系统是否在端口53发送stream量。由于通过tcpdump生成了大量的消息,我发现很难在所需的端口上grep输出。
那么,如果有人能给出一个有用的例子,我该如何使用它。 提前致谢。
你可以使用这个命令:tcpdump -n -s 1500 -i eth0 udp port 53(用你的以太网接口的名字replace'eth0',例如'fxp0')这显示所有进出你的机器的数据包的UDP端口53(DNS)来源: DNS练习1
如果您只想查看udp / tcp端口53上的谁正在与谁交谈, 而不需要具有这种对话的详细负载,则最好的办法就是使用netflow。
我敢猜测你正在使用linux。 如果是这样,你可以使用ulogd从你正在接收的stream量中生成netflow信息,然后使用nfdump (如果你是面向命令行的)和/或nfsen (如果你是更多的可视types)来处理它(nfdump / nfsen是同一个开源项目的一部分)。
例如,ulogd只有一个iptables规则被启用:
-A INPUT -j ULOG --ulog-cprange 48 --ulog-qthreshold 50
并运行fprobe-ulog,以便ulogd生成的每一个stream都进入netflow收集器(在本例中为nfdump),监听您configurationnfdump侦听的端口(在本例中为端口9995):
29040 ? Ssl 65:55 /usr/sbin/fprobe-ulog -Xeth0:100 localhost:9995
所以,如果你想知道,谁试图在端口udp / tcp 53上与你的服务器通话,你可以使用nfdump查询你的stream量:
root@my_machine:/usr/local/nfdump/bin/nfdump -R 2011 'dst port 53 && dst ip XXX.XXX.212.184' | more Date flow start Duration Proto Src IP Addr:Port Dst IP Addr:Port Packets Bytes Flows 2011-01-07 06:23:28.031 0.000 UDP 200.80.42.244:54 -> XXX.XXX.212.184:53 1 63 1 2011-01-07 20:34:07.287 0.000 UDP 38.229.1.72:42196 -> XXX.XXX.212.184:53 1 119 1 2011-01-08 04:29:53.287 0.000 UDP 194.199.24.101:45274 -> XXX.XXX.212.184:53 1 57 1 2011-01-28 08:47:45.171 0.000 UDP 38.229.1.72:42914 -> XXX.XXX.212.184:53 1 119 1 2011-02-18 04:56:48.359 22.335 UDP 200.186.243.203:60808 -> XXX.XXX.212.184:53 3 211 1 2011-02-18 04:57:07.363 9.026 TCP 200.186.243.203:60970 -> XXX.XXX.212.184:53 3 144 1 2011-02-18 04:58:48.845 2.389 UDP 200.186.243.203:60808 -> XXX.XXX.212.184:53 2 116 1 2011-02-18 04:58:48.844 8.385 TCP 200.186.243.203:61051 -> XXX.XXX.212.184:53 3 144 1 2011-02-18 04:59:00.829 32.490 UDP 200.146.126.135:39171 -> XXX.XXX.212.184:53 5 339 1 2011-02-18 04:59:22.738 9.132 TCP 200.146.126.135:57213 -> XXX.XXX.212.184:53 3 152 1 ... ... ... Summary: total flows: 310, total bytes: 47456, total packets: 839, avg bps: 0, avg pps: 0, avg bpp: 56 Time window: 2011-01-07 06:23:28 - 2011-03-03 05:57:55 Total flows processed: 3087449, Blocks skipped: 0, Bytes read: 161058180 Sys: 0.966s flows/second: 3193300.5 Wall: 0.854s flows/second: 3611887.9
对于你所描述的这个特定的问题,安装ulogd和nfdump / nfsen可能听起来有点过分,但是经验告诉我,启用你的基础设施netflow将会对你在将来可能需要做的任何types的stream量/非常值得的努力。
嘿,我知道这不是一个完整的解决scheme,但它很快,可能会派上用场
lsof -i:53
这应该给你一个使用端口的想法。 (PS我从来没有用它的DNS)