AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 38626
Accepted
Tony
Tony
Asked: 2009-07-10 13:17:49 +0800 CST2009-07-10 13:17:49 +0800 CST 2009-07-10 13:17:49 +0800 CST

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

  • 772

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

$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

等等

我试图让它更漂亮:

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 20:57:47.288103 IP 205.188.159.57.25 > 67.23.28.65.42385: S 1358829769:1358829769(0) ack 2644526721 win 5792 <mss 1460,sackOK,timestamp 4292123488 776170415,nop,wscale 2>
2009-07-09 20:57:47.288103 IP 67.23.28.65.42385 > 205.188.159.57.25: . ack 1 win 183 <nop,nop,timestamp 776170425 4292123488>
2009-07-09 20:57:47.368107 IP 205.188.159.57.25 > 67.23.28.65.42385: P 1:481(480) ack 1 win 1448 <nop,nop,timestamp 4292123568 776170425>
2009-07-09 20:57:47.368107 IP 67.23.28.65.42385 > 205.188.159.57.25: . ack 481 win 216 <nop,nop,timestamp 776170445 4292123568>
2009-07-09 20:57:47.368107 IP 67.23.28.65.42385 > 205.188.159.57.25: P 1:18(17) ack 481 win 216 <nop,nop,timestamp 776170445 4292123568>
2009-07-09 20:57:47.404109 IP 205.188.159.57.25 > 67.23.28.65.42385: . ack 18 win 1448 <nop,nop,timestamp 4292123606 776170445>
2009-07-09 20:57:47.404109 IP 205.188.159.57.25 > 67.23.28.65.42385: P 481:536(55) ack 18 win 1448 <nop,nop,timestamp 4292123606 776170445>
2009-07-09 20:57:47.404109 IP 67.23.28.65.42385 > 205.188.159.57.25: P 18:44(26) ack 536 win 216 <nop,nop,timestamp 776170454 4292123606>
2009-07-09 20:57:47.444112 IP 205.188.159.57.25 > 67.23.28.65.42385: P 536:581(45) ack 44 win 1448 <nop,nop,timestamp 4292123644 776170454>
2009-07-09 20:57:47.484114 IP 67.23.28.65.42385 > 205.188.159.57.25: . ack 581 win 216 <nop,nop,timestamp 776170474 4292123644>
2009-07-09 20:57:47.616121 IP 67.23.28.65.42385 > 205.188.159.57.25: P 44:50(6) ack 581 win 216 <nop,nop,timestamp 776170507 4292123644>
2009-07-09 20:57:47.652123 IP 205.188.159.57.25 > 67.23.28.65.42385: P 581:589(8) ack 50 win 1448 <nop,nop,timestamp 4292123855 776170507>
2009-07-09 20:57:47.652123 IP 67.23.28.65.42385 > 205.188.159.57.25: . ack 589 win 216 <nop,nop,timestamp 776170516 4292123855>
2009-07-09 20:57:47.652123 IP 67.23.28.65.42385 > 205.188.159.57.25: P 50:56(6) ack 589 win 216 <nop,nop,timestamp 776170516 4292123855>
2009-07-09 20:57:47.652123 IP 67.23.28.65.42385 > 205.188.159.57.25: F 56:56(0) ack 589 win 216 <nop,nop,timestamp 776170516 4292123855>
2009-07-09 20:57:47.668124 IP 67.23.28.65.49239 > 216.239.113.101.25: S 2642380481:2642380481(0) win 5840 <mss 1460,sackOK,timestamp 776170520 0,nop,wscale 5>
2009-07-09 20:57:47.692126 IP 205.188.159.57.25 > 67.23.28.65.42385: P 589:618(29) ack 57 win 1448 <nop,nop,timestamp 4292123893 776170516>
2009-07-09 20:57:47.692126 IP 67.23.28.65.42385 > 205.188.159.57.25: R 2644526777:2644526777(0) win 0
2009-07-09 20:57:47.692126 IP 205.188.159.57.25 > 67.23.28.65.42385: F 618:618(0) ack 57 win 1448 <nop,nop,timestamp 4292123893 776170516>
2009-07-09 20:57:47.692126 IP 67.23.28.65.42385 > 205.188.159.57.25: R 2644526777:2644526777(0) win 0

嗯......这更漂亮,但它没有显示实际的消息。实际上,我只需查看 RAW 文件就可以提取更多信息。仅查看 pcap 文件的所有内容的最佳(最好是最简单的)方法是什么?

更新

感谢下面的回复,我取得了一些进展。这是它现在的样子:

tcpdump -qns 0 -A -r blah.pcap
    20:57:47.368107 IP 205.188.159.57.25 > 67.23.28.65.42385: tcp 480
        0x0000:  4500 0214 834c 4000 3306 f649 cdbc 9f39  [email protected]
        0x0010:  4317 1c41 0019 a591 50fe 18ca 9da0 4681  C..A....P.....F.
        0x0020:  8018 05a8 848f 0000 0101 080a ffd4 9bb0  ................
        0x0030:  2e43 6bb9 3232 302d 726c 792d 6461 3033  .Ck.220-rly-da03
        0x0040:  2e6d 782e 616f 6c2e 636f 6d20 4553 4d54  .mx.aol.com.ESMT
        0x0050:  5020 6d61 696c 5f72 656c 6179 5f69 6e2d  P.mail_relay_in-
        0x0060:  6461 3033 2e34 3b20 5468 752c 2030 3920  da03.4;.Thu,.09.
        0x0070:  4a75 6c20 3230 3039 2031 363a 3537 3a34  Jul.2009.16:57:4
        0x0080:  3720 2d30 3430 300d 0a32 3230 2d41 6d65  7.-0400..220-Ame
        0x0090:  7269 6361 204f 6e6c 696e 6520 2841 4f4c  rica.Online.(AOL
        0x00a0:  2920 616e 6420 6974 7320 6166 6669 6c69  ).and.its.affili
        0x00b0:  6174 6564 2063 6f6d 7061 6e69 6573 2064  ated.companies.d

等等

这看起来不错,但它仍然使右侧的实际消息难以阅读。有没有办法以更友好的方式查看这些消息?

更新

这使它很漂亮:

tcpick -C -yP -r tcp_dump.pcap

谢谢!

log-files tcpdump pcap
  • 6 6 个回答
  • 663830 Views

6 个回答

  • Voted
  1. Best Answer
    Zoredache
    2009-07-10T13:32:07+08:002009-07-10T13:32:07+08:00

    Wireshark 可能是最好的,但如果您想/需要在不加载 GUI 的情况下查看有效负载,您可以使用 -X 或 -A 选项

    tcpdump -qns 0 -X -r serverfault_request.pcap

    14:28:33.800865 IP 10.2.4.243.41997 > 69.59.196.212.80: tcp 1097
            0x0000:  4500 047d b9c4 4000 4006 63b2 0a02 04f3  E..}..@[email protected].....
            0x0010:  453b c4d4 a40d 0050 f0d4 4747 f847 3ad5  E;.....P..GG.G:.
            0x0020:  8018 f8e0 1d74 0000 0101 080a 0425 4e6d  .....t.......%Nm
            0x0030:  0382 68a1 4745 5420 2f71 7565 7374 696f  ..h.GET./questio
            0x0040:  6e73 2048 5454 502f 312e 310d 0a48 6f73  ns.HTTP/1.1..Hos
            0x0050:  743a 2073 6572 7665 7266 6175 6c74 2e63  t:.serverfault.c
            0x0060:  6f6d 0d0a 5573 6572 2d41 6765 6e74 3a20  om..User-Agent:.
            0x0070:  4d6f 7a69 6c6c 612f 352e 3020 2858 3131  Mozilla/5.0.(X11
            0x0080:  3b20 553b 204c 696e 7578 2069 3638 363b  ;.U;.Linux.i686;
    

    tcpdump -qns 0 -A -r serverfault_request.pcap

    14:29:33.256929 IP 10.2.4.243.41997 > 69.59.196.212.80: tcp 1097
    E..}..@[email protected].
    ...E;...^M.P..^w.G.......t.....
    .%.}..l.GET /questions HTTP/1.1
    Host: serverfault.com
    

    还有许多其他工具可用于读取和获取统计信息、提取有效负载等。快速浏览一下 debian 软件包存储库中依赖于 libpcap 的事物的数量,列出了 50 多种工具,这些工具可用于以各种方式对捕获进行切片、切块、查看和操作。

    例如。

    • tcpick
    • tcpxtract
    • 157
  2. Dan Carley
    2009-07-10T13:21:37+08:002009-07-10T13:21:37+08:00

    线鲨。

    你可能永远不会回头 :)

    顺便说一句,您应该确保原始捕获的 snaplen 匹配或超过您正在捕获的流量的 MTU。否则内容会被截断。

    • 33
  3. Marcin
    2009-07-28T09:49:15+08:002009-07-28T09:49:15+08:00

    tshark -r file.pcap -V如果您在没有wireshark/gui 的情况下被卡住,这将非常有用。

    • 29
  4. chmeee
    2009-07-10T13:37:08+08:002009-07-10T13:37:08+08:00

    您可以使用gui 应用程序wireshark ,也可以使用cli 对应的tshark 。

    此外,您可以使用几种可视化工具来可视化 pcap:

    • tnv - 网络可视化器或基于时间的网络可视化器
    • afterglow - 一组有助于生成图形的脚本
    • INAV - 交互式网络主动流量可视化

    如果要分析 pcap 文件,可以使用出色的nsm-console。

    最后但同样重要的是,您可以将您的 pcap 上传到 pcapr.net 并在那里观看。pcapr.net 是一种用于分析和评论流量捕获的社交网站。

    • 25
  5. Emmanuel BERNAT
    2009-07-10T13:21:40+08:002009-07-10T13:21:40+08:00

    您可以简单地在Wireshark中加载 pcap 文件来浏览它们。

    • 4
  6. Rahul Panwar
    2012-11-27T02:59:00+08:002012-11-27T02:59:00+08:00

    您可以使用 tcpdump 直接查看/捕获远程数据包到wireshark。

    使用 WireShark 和 tcpdump 进行远程数据包捕获

    如何使用 tcpdump 在 pcap 文件中捕获(wireshark 转储)

    • 2

相关问题

  • 什么是好的日志查看器,例如 apache、postfix、syslog?

  • 是否有一种简单的方法可以生成有关 IIS 中“死”文件的报告?

  • 避免将某些丢失的文件记录到 Apache2 错误日志中

  • 什么是好的 sendmail 日志分析器?

  • 在 Windows 机器上检测拇指驱动器的使用

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve