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/

TCPDump:捕获并记录特定协议 / 端口的更多相关文章

  1. TCP协议端口状态说明:CLOSE-WAIT、TIME-WAIT 、LISTENING、SYN_SENT、ESTABLISHED、LAST-ACK ...

    了解TCP协议端口的连接状态,对排除和定位网络或系统故障会有很大帮助,因此了解一下是有必要的: 一.LISTENING  提供某种服务,侦听远方TCP端口的连接请求,当提供的服务没有被连接时,处于LI ...

  2. 捕获和记录SQL Server中发生的死锁

    经带在论坛上看到有人在问怎么捕获和记录死锁信息,在这里,我将自己的一些心得贡献出来,与大家分享,也请各位指正. 我们知道,可以使用SQL Server自带的Profiler工具来跟踪死锁信息.但这种方 ...

  3. (4.7)怎么捕获和记录SQL Server中发生的死锁?

    转自:https://blog.csdn.net/c_enhui/article/details/19498327 怎么捕获和记录SQL Server中发生的死锁? 关键词:死锁记录,死锁捕获 sql ...

  4. TCP/IP和OSI/RM以及协议端口

    TCP/IP:数据链路层:ARP,RARP网络层: IP,ICMP,IGMP传输层:TCP ,UDP,UGP应用层:Telnet,FTP,SMTP,SNMP. OSI:物理层:EIA/TIA-232, ...

  5. 基于tcpdump实例讲解TCP/IP协议

    前言 虽然网络编程的socket大家很多都会操作,但是很多还是不熟悉socket编程中,底层TCP/IP协议的交互过程,本文会一个简单的客户端程序和服务端程序的交互过程,使用tcpdump抓包,实例讲 ...

  6. windows 10 防火墙设置规则:允许特定ip端口

    本例中以如何设置ip为10.242.62.239的电脑通过3306端口访问我的电脑 为例 1, 打开防火墙高级设置,如图所示,操作如下 入站规则->新建规则->自定义->下一步 2, ...

  7. tcpdump抓包二进制tcp协议详细分析

    1.tcpdump -i eth0 port 11751 and src host 192.168.1.34 -x -s0 tcpdump: verbose output suppressed, us ...

  8. 【日志过滤】Nginx日志过滤 使用ngx_log_if不记录特定日志

    ngx_log_if是Nginx的一个第三方模块.它在Github上的描述是这样介绍的:ngx_log_if是一个独立的模块,允许您控制不要写的访问日志,类似于Apache的"CustomL ...

  9. 斐迅面试记录—Http协议中的Header

    HTTP Request的Header信息 1.HTTP请求方式 如下表: 说明:  主要使用到“GET”和“POST”. 实例: POST /test/tupian/cm HTTP/1.1 分成三部 ...

随机推荐

  1. poj 1850/poj 1496

    http://poj.org/problem?id=1850 -----------------http://poj.org/problem?id=1496 两题解法类似..本题为组合数学的题,要求所 ...

  2. box-shadow 被其他div遮住 shadow was hidden/covered by another div

    使用z-index 来处理 (z-index必须在使用了position的情况下才有效) 参考http://stackoverflow.com/questions/5505118/css-box-sh ...

  3. QT绘制半透明窗体(改写paintEvent,超级简单)

    在派生类中重载QDialog的void paintEvent(QPaintEvent *)事件,在这个函数中加入以下代码 QPainter painter(this);    QLinearGradi ...

  4. Eclipse 编码区-保护色-快捷大全

    Eclipse快捷键大全 Eclipse编码区-保护色-快捷设置 1.设置路径:         windows-preferences-general-editors-text Editors-ba ...

  5. JSON XML IO数据操作

    一.XML解析 通过继承org.xml.sax.helpers.DefaultHandler类,覆写characters(),startDocument(),startElement(),endEle ...

  6. linux搭建java环境

    建议使用EXCEL查看 准备文件 apache-tomcat-7.0.57.tar tomcat web容器 server-jre-7u76-linux-x64.tar  java jdk java执 ...

  7. oracle rowid 详解

    oracle rowid详解 今天是2013-09-15,存储在数据库中的每一行数据都有一个地址,oracle使用rowid数据类型在存储地址.rowid有如下类别: 1)physical rowid ...

  8. VS插件开发——格式化变量定义语句块

    插件介绍 代码地址:https://github.com/sun2043430/vs2008_format_variable_define_plugin/ 在vs里,对选中的变量定义块进行格式化,效果 ...

  9. 颜色空间RGB与HSV(HSL)的转换

    一般的3D编程只需要使用RGB颜色空间就好了,但其实美术人员更多的是使用HSV(HSL),因为可以方便的调整饱和度和亮度. 有时候美术需要程序帮助调整饱和度来达到特定风格的渲染效果,这时候就需要转换颜 ...

  10. Linux下Django开发学习(一)

    一,环境配置: 环境:Ubuntu 14.04 LTS, Python 2.7,  Django 1.8 安装Python : Ubuntu自带python2.7,不用安装 安装pip:sudo ap ...