linux - tshark:特定传出端口的 http 事务信息

标签 linux node.js http pcap tshark

尝试与另一个服务交谈时,我正在尝试调试 Node 中的 ETIMEDOUT 问题。
我的设置是
1 台运行 Node 应用程序的服务器,它使用模块 dockerode 对容器进行检查。
1 台运行 docker 的服务器。

堆: Error: connect ETIMEDOUT at errnoException (net.js:901:11) at Object.afterConnect [as oncomplete] (net.js:892:19)
我想弄清楚为什么会这样。我在 tshark 上阅读了一些内容,它似乎有我想要的数据。

我目前正在使用这个:sudo tshark -i eth0获取我的信息。示例输出:
17 0.005451 10.0.1.10 -> 10.0.1.219 TCP 66 58321 > 4242 [ACK] Seq=146 Ack=2121 Win=31232 Len=0 TSval=431658268 TSecr=799817403 18 0.006179 10.0.1.10 -> 10.0.1.219 TCP 66 58321 > 4242 [FIN, ACK] Seq=146 Ack=2121 Win=31232 Len=0 TSval=431658268 TSecr=799817403 19 0.006228 10.0.1.219 -> 10.0.1.10 TCP 66 4242 > 58321 [FIN, ACK] Seq=2121 Ack=147 Win=28032 Len=0 TSval=799817403 TSecr=431658268 20 0.006406 10.0.1.10 -> 10.0.1.219 TCP 66 58321 > 4242 [ACK] Seq=147 Ack=2122 Win=31232 Len=0 TSval=431658268 TSecr=799817403 21 0.077692 10.0.1.10 -> 10.0.1.219 TCP 74 58326 > 4242 [SYN] Seq=0 Win=26883 Len=0 MSS=8961 SACK_PERM=1 TSval=431658286 TSecr=0 WS=128 21 22 0.077710 10.0.1.219 -> 10.0.1.10 TCP 74 4242 > 58326 [SYN, ACK] Seq=0 Ack=1 Win=26847 Len=0 MSS=8961 SACK_PERM=1 TSval=799817421 TSecr=431658286 WS=128 23 0.077927 10.0.1.10 -> 10.0.1.219 TCP 66 58326 > 4242 [ACK] Seq=1 Ack=1 Win=27008 Len=0 TSval=431658286 TSecr=799817421 24 0.078240 10.0.1.10 -> 10.0.1.219 HTTP 211 GET /containers/fbc1d9a897d46691c402daf34b35c017bcbcc04332dba603a71093e50cc61341/json HTTP/1.1 25 0.078253 10.0.1.219 -> 10.0.1.10 TCP 66 4242 > 58326 [ACK] Seq=1 Ack=146 Win=28032 Len=0 TSval=799817421 TSecr=431658286 26 0.078824 10.0.1.219 -> 10.0.1.10 HTTP 2184 HTTP/1.1 200 OK (application/json) 27 0.079043 10.0.1.10 -> 10.0.1.219 TCP 66 58326 > 4242 [ACK] Seq=146 Ack=2119 Win=31232 Len=0 TSval=431658286 TSecr=799817421 28 0.079831 10.0.1.10 -> 10.0.1.219 TCP 66 58326 > 4242 [FIN, ACK] Seq=146 Ack=2119 Win=31232 Len=0 TSval=431658286 TSecr=799817421 29 0.079880 10.0.1.219 -> 10.0.1.10 TCP 66 4242 > 58326 [FIN, ACK] Seq=2119 Ack=147 Win=28032 Len=0 TSval=799817422 TSecr=431658286 30 0.080129 10.0.1.10 -> 10.0.1.219 TCP 66 58326 > 4242 [ACK] Seq=147 Ack=2120 Win=31232 Len=0 TSval=431658287 TSecr=799817422 31 0.084797 10.0.1.10 -> 10.0.1.219 TCP 74 58328 > 4242 [SYN] Seq=0 Win=26883 Len=0 MSS=8961 SACK_PERM=1 TSval=431658288 TSecr=0 WS=128 32 0.084813 10.0.1.219 -> 10.0.1.10 TCP 74 4242 > 58328 [SYN, ACK] Seq=0 Ack=1 Win=26847 Len=0 MSS=8961 SACK_PERM=1 TSval=799817423 TSecr=431658288 WS=128 33 0.084998 10.0.1.10 -> 10.0.1.219 TCP 66 58328 > 4242 [ACK] Seq=1 Ack=1 Win=27008 Len=0 TSval=431658288 TSecr=799817423 34 0.085061 10.0.1.10 -> 10.0.1.219 HTTP 211 GET /containers/3b3714d4226c2307122ec5521e0241ad2f7a62f34b0e0fc0e08ae6213287621b/json HTTP/1.1 35 0.085070 10.0.1.219 -> 10.0.1.10 TCP 66 4242 > 58328 [ACK] Seq=1 Ack=146 Win=28032 Len=0 TSval=799817423 TSecr=431658288 36 0.085618 10.0.1.219 -> 10.0.1.10 HTTP 2184 HTTP/1.1 200 OK (application/json)
我希望能够知道哪些调用与 HTTP 获取请求相关联。

我知道的信息:
我们发送请求的服务器 = 10.0.1.10 端口 4242
HTTP url 是/container/xxx/json
发生错误时,我知道导致 ETIMEDOUT 的 URL

有关如何关联与 HTTP 调用相关的调用的任何帮助,以便我找出问题所在?提前致谢!

系统信息以备不时之需:$ uname -a Linux host 3.13.0-29-generic #53-Ubuntu SMP Wed Jun 4 21:00:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

最佳答案

我想出了如何做到这一点,添加 -z proto,colinfo,tcp.stream,tcp.stream -w dump给出一个数字,您可以用来映射从握手到关闭的整个交易

关于linux - tshark:特定传出端口的 http 事务信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27413515/

相关文章:

java - Android: Volley HTTP 补丁请求

linux - Visual Studio Code 在 Linux 上找不到 g++ 编译器

c++做套接字关闭自己运行时

node.js - Node.JS服务层设计

http - 具有获取值的文件夹

Java Http 服务器。 HttpHandler 被调用两次

linux -/usr/sbin/resetpw Linux 变体

python - Linux Mint,Os 脚本不适用于多个 Python 版本

javascript - 在 Mongoose 模型中访问 Express.js 请求上下文

javascript - 如何将数据从一个组件传递到另一个组件