![如何捕获应用程序联系人的地址?](https://linux22.com/image/21447/%E5%A6%82%E4%BD%95%E6%8D%95%E8%8E%B7%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E8%81%94%E7%B3%BB%E4%BA%BA%E7%9A%84%E5%9C%B0%E5%9D%80%EF%BC%9F.png)
应用程序在每次启动时都会联系互联网主机。似乎只需要一瞬间的时间。我不知道它是 HTTP、普通 TCP 还是 UDP 或者使用什么,但倾向于假设 HTTP。我可以使用什么工具来跟踪此连接?
答案1
看一下 线鲨。
答案2
查看所有网络流量
在终端中,以 root 身份运行
tcpdump
并观察数据包飞翔。如果您有其他网络活动,请将其过滤掉。例如,要显示除传入和传出 SSH 流量之外的所有内容:
tcpdump not port 22
观察应用程序正在做什么
跑步strace -o myapp.strace myapp
。这会将应用程序执行的每个系统调用写入日志myapp.strace
。查找以connect(
;开头的行这些是打开 TCP 或 UDP 连接的应用程序。目标 IP 地址和端口位于该行。该协议由之前的调用决定socket
,并且通常非常接近。到端口 53 的流量是 DNS 流量。