Q. 如何使用 Linux / UNIX 平台下的 TCPDump 工具捕获特定协议或端口比如 80 (http)?如何使用 TCPDump 将流记录下来,然后(根据记录)查找到问题所在?
        A. TCPDump 是一个用于网络监控和数据采集的工具。它可以给我们节约大量的时间,并能用于网络调试或者服务器相关的问题的解决。Tcpdump 会将通过匹配布尔表达式的网络接口的包的内容的描述信息打印出来。
        监控 eth1 接口的所有包
        tcpdump -i eth1
        监控端口 80 (HTTP) 的所有网络流量
        tcpdump -i eth1 'port 80'
        监控端口 25 (SMTP) 的所有网络流量
        tcpdump -vv -x -X -s 1500 -i eth1 'port 25'
        其中,
  • -vv:更详细的输出信息。
  • -x:在解析和打印时,作为打印每一包的头信息的补充(默认情况下 TCPDump 只打印每一包的头信息),将每一包的数据内容也打印出来。
  • -X:在解析和打印时,作为打印每一包的头信息的补充,将每一包的内容信息也以十六进制和 ASCII 码的方式打印出来。这样对于解析新协议是很方便的。
  • -s 1500:粗略地显示每一包的信息而不是默认的 68。这在查看大量信息时是很有用的。
  • -i eth1:监控 eth1 接口。
        使用定时任务捕获流量信息
        TCPDump 可以用于查找攻击和其他一些问题。比如你的 Web 服务器每天半夜遇到的问题。将以下命令写进 定时任务,它将定时捕捉 30000 包的信息并将裸数据写进一个叫做 port.80.debug.txt 的文件里:
        @midnight /usr/sbin/tcpdump -n -c 30000 -w /root/port.80.debug.txt
        第二天你可以登录服务器,读取 /root/port.80.debug.txt 文件:
        tcpdump -X -vv -r /root/port.80.debug.txt
        这种简单的技术可以用来记录和调试问题。
        更多阅读
  • man page tcpdump
原文链接: http://www.cyberciti.biz/faq/tcpdump-capture-record-protocols-port/
GitHub 加速计划 / li / linux-dash
10
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:1 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐