zoukankan      html  css  js  c++  java
  • TCPDump工具

    主要功能:捕获和分析数据包。

    TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供 and、or、not等逻辑语句来帮助你去掉无用的信息。

    命令格式:tcpdump [ 选项 ] [ -c 数量 ] [ -i 网络接口 ] [ -w 文件名 ] [ 表达式 ]

    常用选项:

    • -l:使标准输出变为缓冲行形式;

    • -c:抓包次数;

    • -nn:直接以 IP 及 Port Number 显示,而非主机名与服务名称;

    • -s :<数据包大小> 设置每个数据包的大小;

    • -i:指定监听的网络接口;

    • -r:从指定的文件中读取包;

    • -w:输出信息保存到指定文件;

    • -a:将网络地址和广播地址转变成名字;

    • -d:将匹配信息包的代码以人们能够理解的汇编格式给出;

    • -e:在输出行打印出数据链路层的头部信息;

    • -f:将外部的Internet地址以数字的形式打印出来;

    • -t:在输出的每一行不打印时间戳;

    • -v :输出稍微详细的报文信息;加一个v更详细。

    四种表达式:过滤报文条件

    • 1、关于类型的关键字,主要包括host,net,port, 例如 host210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host。

    • 2、确定传输方向的关键字,主要包括src, dst ,dst or src, dst and src ,这些关键字指明了传输的方向。例如 src210.27.48.2 ,指明ip包中源地址是210.27.48.2, dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。

    • 3、协议的关键字,主要包括ip,arp,tcp,udp等类型。

    • 4、三种逻辑运算,与运算是’and’,'&&’; 或运算是’or’ ,’||’; 非运算是 ‘not ‘ ‘! ‘。

    其他重要的关键字如下: broadcast,less(小于),greater(大于)

    举例说明:

    1、截获eth0网卡10次收发所有数据包并将抓包结果保存到test文件,再读取test抓包结果文件

    tcpdump i eth0 c 10 w test

    tcpdump r test

    2、截获来访问80端口的所有数据包(指定端口范围portrange 1-1024)

    tcpdump port 80

    3、截获所有来自主机114.254.151.51的进出所有数据包

    tcpdump host 114.254.151.51

    4、截获ip包中源地址是114.254.151.51的(目的是dst)

    tcpdump src 114.254.151.51

    5、截获主机114.254.151.51和主机114.254.151.52的通信

    tcpdum host 114.254.151.51 and 114.254.151.52

    6、截获tcp协议并且源地址114.254.151.51来访问80的端口

    tcpdump tcp and src 114.254.151.51 and port 80

    7、截获主机114.254.151.51除了和114.254.151.52之外的所有ip包

    tcpdump ip host 114.254.151.51 and ! 114.254.151.52

    8、截获长度大于1000数据包,对于DDOS攻击时,可以使用

    tcpdump -i eth0 greater 1000

  • 相关阅读:
    老王讲架构:负载均衡
    支付宝系统架构内部剖析
    Effective Java 第三版——61. 基本类型优于装箱的基本类型
    Effective Java 第三版——60. 需要精确的结果时避免使用float和double类型
    Effective Java 第三版——59. 熟悉并使用Java类库
    Effective Java 第三版——58. for-each循环优于传统for循环
    Effective Java 第三版——57. 最小化局部变量的作用域
    Effective Java 第三版——56. 为所有已公开的API元素编写文档注释
    Effective Java 第三版——55. 明智而审慎地返回Optional
    Effective Java 第三版——54. 返回空的数组或集合不要返回null
  • 原文地址:https://www.cnblogs.com/thouger/p/5089813.html
Copyright © 2011-2022 走看看