为什么tcpdump不能给我更多的细节? 每一次只有 – 16:22:26.128541 [| ether] # ./tcpdump -vv not port 22 tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 16:22:26.128541 [|ether] 16:22:26.128541 [|ether] 16:22:26.128541 [|ether] 16:22:26.128541 [|ether] 16:22:26.128541 [|ether]
以查找在我的Linux(RHEL,内核2.6.18)服务器上连接到同一交换机的TCP重新传输的原因。 我有一个客户端 – 服务器对每隔200us发送一个“Hello”,并在客户机上用tcpdump捕获数据包。 我用来模拟客户端和服务器的命令是: while [ 0 ]; do echo "Hello"; usleep 200; done | nc server 18510 while [ 0 ]; do echo "Hello"; usleep 200; done | nc -l 18510 当服务器机器正在忙于其他请求时,客户偶尔会发生突然重新传输。 但tcpdump的输出似乎不合理。 16:04:58.898970 IP server.18510 > client.34533: P 4531:4537(6) ack 3204 win 123 <nop,nop,timestamp 1923778643 3452833828> 16:04:58.901797 IP client.34533 > server.18510: P […]
我在tcpdump输出中发现了一个奇怪的行。 通常情况下,UDP数据包的转储forms如下: timestamp IP srcaddress.port > dstaddress.port: UDP, length packetlength 但是这只是: timestamp IP srcaddress > dstaddress: udp 注意丢失的端口号,小写的udp和丢失的数据包长度。 有人知道这是什么吗?
我可以使用tcpdump来检测源自特定IP(我的远程IP)的端口80(Apache)上的中止连接。 我可以在我的Web浏览器中重新生成Aborted连接,但是我无法validation请求是否到达我的服务器。 我试过这个,但是不知道连接是否中止。 tcpdump -n -i eth0 -s 0 src or dst port 80|grep -F "XXX.XXX.XXX.XXX"
通过使用tcpdump -nlASX -s 0 -vvv port 80我得到像这样的东西: 14:58:55.121160 IP (tos 0x0, ttl 64, id 49764, offset 0, flags [DF], proto TCP (6), length 1480) 206.72.206.58.http > 2.187.196.7.4624: Flags [.], cksum 0x6900 (incorrect -> 0xcd18), seq 1672149449:1672150889, ack 4202197968, win 15340, length 1440 0x0000: 4500 05c8 c264 4000 4006 0f86 ce48 ce3a E….d@.@….H.: 0x0010: 02bb c407 […]
从host1连接到host2时,出现错误(有时) Errno::ETIMEDOUT: Connection timed out – connect(2) 尝试连接时在主机1上的TCP转储(tcpdump -vv -i eth0 -s 0'端口22和主机host2'): 19:13:47.510774 IP (tos 0x0, ttl 64, id 44238, offset 0, flags [DF], proto TCP (6), length 60) host1.50274 > host2.ssh: Flags [S], cksum 0x1409 (correct), seq 2693070134, win 5840, options [mss 1460,sackOK,TS val 867914232 ecr 0,nop,wscale 7], length 0 19:13:50.508713 IP (tos […]
我正尝试使用tcpdump在Ubuntu LTS上的回环设备上捕获大约15 Mbit的stream量,并且看到丢弃的数据包。 CPU是一个惊人的i7,我还没有看到CPU使用率超过15%,在我试图运行测量。 负载可以忽略不计… 捕获使用-w写入文件。 我已经尝试了以下(build议在这里: https : //stackoverflow.com/a/7018039/55267 ): 将/proc/sys/net/core/netdev_max_backlog和/proc/sys/net/core/netdev_budget设为任意高值。 没有效果。 -nn没有效果 试图改变txqueuelen 。 没有效果。 尝试使用gulp。 没有效果。 吞咽指示我: echo 4194304> / proc / sys / net / core / rmem_max echo 4194304> / proc / sys / net / core / rmem_default 没有效果…. 在无损捕获方面有没有什么特别的回环设备? 我怎样才能做到无损捕获?
我有一台带有NT20E采集卡的服务器(PCI Express上的2x10Gb数据包采集卡)。 我希望能够将输出转储为pcap格式,但是因为这不是作为ethX接口列出的,所以tcpdump无法捕获数据。 我现在的问题是:我怎么能够转储这个卡接收的数据呢?
在我们的防火墙日志中注意到,从我们的Web服务器每隔5分钟就会连续build立三个连接,并尝试发送一个数据包到目标端口43(whois端口),通过所有源端口循环(即59466,59467,59468,5分钟稍后的3个端口)到3个不同的IP地址…: 193.0.6.135,200.3.14.10,196.216.2.130 成熟,Lacnic和Afrinic 我知道所有3家公司都是互联网注册商,但是如何通过我们所有的源端口每5分钟循环发送一次数据包就显得有些奇怪。 它看起来像反向端口扫描给我。 这是正常的吗? 编辑: TCPDUMP输出,这个只有2分钟的时间。 注意到有一些补丁会在同一分钟内连续运行20次。 速度和频率各不相同,但没有超过5分钟的差距。 [user@xxxxxxx xxxxxxx]# tcpdump -v -s 5000 -i eth0 port 35921 or port 35920 or port 35919 or port 35916 or port 35917 or port 35918 tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 5000 bytes 08:56:33.517976 IP (tos 0x0, ttl 64, id 8127, offset […]
我想显示发送和接收的零字节TCP keepalive。 虽然这通常很有用,但在这种情况下,我想certificate我对JDBC驱动程序所做的更改(添加tcpKeepAlive = true)会导致keepalive被周期性地发送(在我已经在/proc/sys/net/ipv4/tcp_keepalive_timeconfiguration的时间间隔/proc/sys/net/ipv4/tcp_keepalive_time ,我知道正在工作)。 他们看起来像这样: 21:35:00.150604 IP 1.2.3.4.53019 > 5.6.7.8.postgres: . ack 635465 win 772 <nop,nop,timestamp 1666835314 1722393170> 但我想弄清楚一个filter,所以它不显示所有的stream量。 我发现ip[2:2] ,它允许你过滤总包长度。 零字节ACK的长度是否是常数? # not it, but maybe close tcpdump -nn 'ip[2:2] = 50' 谢谢!