标签: tcpdump

如何以友好的格式读取 pcap 文件?

pcap 文件上的一个简单的 cat 看起来很糟糕:

$cat tcp_dump.pcap

?ò????YVJ?
          JJ
            ?@@.?E<??@@
?CA??qe?U?????h?
.Ceh?YVJ??
          JJ
            ?@@.?E<??@@
CA??qe?U?????z?
.ChV?YVJ$?JJ
            ?@@.?E<-/@@A?CA??9????F???A&?
.Ck??YVJgeJJ@@.??#3E<@3{n??9CA??P???F???<K?
??`.Ck??YVJgeBB
               ?@@.?E4-0@@AFCA??9????F?P?????
.Ck???`?YVJ?""@@.??#3E?L@3?I??9CA??P???F?????
???.Ck?220-rly-da03.mx
Run Code Online (Sandbox Code Playgroud)

等等。

我试图让它更漂亮:

sudo tcpdump -ttttnnr tcp_dump.pcap
reading from file tcp_dump.pcap, link-type EN10MB (Ethernet)
2009-07-09 20:57:40.819734 IP 67.23.28.65.49237 > 216.239.113.101.25: S 2535121895:2535121895(0) win 5840 <mss 1460,sackOK,timestamp 776168808 0,nop,wscale 5>
2009-07-09 20:57:43.819905 IP 67.23.28.65.49237 > 216.239.113.101.25: S 2535121895:2535121895(0) win 5840 <mss 1460,sackOK,timestamp 776169558 0,nop,wscale 5>
2009-07-09 20:57:47.248100 IP 67.23.28.65.42385 > 205.188.159.57.25: S 2644526720:2644526720(0) win 5840 <mss 1460,sackOK,timestamp 776170415 0,nop,wscale 5>
2009-07-09 …
Run Code Online (Sandbox Code Playgroud)

log-files tcpdump pcap

153
推荐指数
5
解决办法
61万
查看次数

带有 tcpdump 的 http 标头的人类可读格式

我想在 Linux 机器中查看从 Apache(侦听端口 80)到 Tomcat(端口 4080)发送的 HTTP 标头。

根据维基百科

标头字段是明文字符串格式的冒号分隔的名称-值对。

我尝试了以下tcpdump命令的一些变体:

$ sudo tcpdump -lnX dst port 4080 -c 10

11:29:28.605894 IP SOME_IP.33273 > SOME_IP.4080: P 0:49(49) ack 1 win 23 <nop,nop,timestamp 1191760962 509391143>
    0x0000:  4500 0065 3a9f 4000 3f06 0084 628a 9ec4  E..e:.@.?...b...
    0x0010:  628a 9c97 81f9 0ff0 9e87 eee0 144b 90e1  b............K..
    0x0020:  8018 0017 fb43 0000 0101 080a 4708 d442  .....C......G..B
    0x0030:  1e5c b127 4845 4144 202f 6461 7070 6572  .\.'HEAD./dapper
    0x0040: …
Run Code Online (Sandbox Code Playgroud)

http http-headers tcpdump rhel6

80
推荐指数
2
解决办法
18万
查看次数

如何通过 Tcpdump 捕获 ack 或 syn 数据包?

我想使用过滤规则只捕获 ack 或 syn 数据包。我该怎么做呢?

tcp tcpdump

62
推荐指数
4
解决办法
17万
查看次数

如何将 pcap 文件拆分为一组较小的文件

我有一个巨大的 pcap 文件(由 tcpdump 生成)。当我尝试在wireshark中打开它时,该程序没有响应。有没有办法将一个文件分成一组较小的文件以一个一个地打开它们?文件中捕获的流量由两台服务器上的两个程序生成,因此我无法使用 tcpdump 'host' 或 'port' 过滤器拆分文件。我也试过 linux 'split' 命令 :-) 但没有运气。Wireshark 无法识别该格式。

tcpdump pcap

52
推荐指数
2
解决办法
10万
查看次数

使用 tcpdump 监控 HTTP 流量

为了监视服务器和 Web 服务器之间的 HTTP 流量,我目前使用tcpdump. 这工作正常,但我想摆脱输出中的一些多余数据(我知道tcpflowwireshark,但它们在我的环境中不容易获得)。

tcpdump手册页:

打印所有进出端口 80 的 IPv4 HTTP 数据包,即仅打印包含数据的数据包,而不是,例如,SYN 和 FIN 数据包以及仅 ACK 数据包。

tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

这个命令

sudo tcpdump -A 'src example.com 和 tcp 端口 80 和 (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2) ) != 0)'

提供以下输出:

19:44:03.529413 IP 192.0.32.10.http > 10.0.1.6.52369: Flags [P.], seq 918827135:918827862, ack 351213824, options 437noval, 439pnoval, 437noval, 4399, 439

E...@....... ....P..6.0.......D...... __..e=3...__HTTP/1.1 200 OK …

tcpdump tshark

42
推荐指数
3
解决办法
11万
查看次数

如何使 tcpdump 不打印 tcp 标头?

我试过这个:

tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'
Run Code Online (Sandbox Code Playgroud)

我只需要它的 ascii 部分。我如何删除其余的?

linux tcpdump

32
推荐指数
4
解决办法
4万
查看次数

tcpdump 会看到被 iptables 丢弃的数据包吗?

我有一个带有这些简单规则的防火墙:

iptables -A INPUT -p tcp -s 127.0.0.1/32 --dport 6000 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.16.20/32 --dport 6000 -j ACCEPT
iptables -A INPUT -p tcp --dport 6000 -j REJECT
Run Code Online (Sandbox Code Playgroud)

现在,假设我像这样使用TCPDUMP

tcpdump port 6000
Run Code Online (Sandbox Code Playgroud)

我有主机192.168.16.21试图连接到端口6000

将/应该tcpdump输出一些来自192.168.16.21?

firewall iptables tcp tcpdump

31
推荐指数
1
解决办法
3万
查看次数

多个接口上的 Tcpdump

我需要在 CentOS 5 服务器上捕获流量,该服务器充当具有 2 个 wan 接口和 1 个 LAN 的 Web 代理。为了解决一个奇怪的代理问题,我想捕获一个完整的对话。由于外部连接在两个WAN接口之间是平衡的,我想知道是否可以在所有接口上同时捕获。

我以前使用过 tcpdump,但它一次只允许一个接口。我可以启动 3 个并行进程以在所有接口上进行捕获,但最终会得到 3 个不同的捕获文件。

这样做的正确方法是什么?

centos tcpdump centos5

30
推荐指数
3
解决办法
11万
查看次数

TCPDUMP 中有太多不正确的校验和错误

我发现在 GNU Linux 64 位服务器上执行的TCPDUMP 中有太多不正确的校验和错误。导出中有接近 50% 的错误校验和?

cksum 0xe61f(不正确(-> 0x8c37)

我们如何解释这些数据?它对性能影响很大吗?

network-monitoring tcpdump checksum

27
推荐指数
1
解决办法
8万
查看次数

网络和子网掩码上的 tcpdump 过滤器

我正在使用以下 tcpdump 命令:

tcpdump -w net75.out -s 0 host 65.207.95.222
Run Code Online (Sandbox Code Playgroud)

我想将单个主机上的过滤器更改为以下子网中的所有地址:

65.192.0.0/10
Run Code Online (Sandbox Code Playgroud)

我一直无法弄清楚如何指定 tcpdump 过滤器来执行此操作。

请指教。

subnet filter tcpdump

27
推荐指数
1
解决办法
13万
查看次数