zoukankan      html  css  js  c++  java
  • Linux tcpdump命令使用方法

        tcpdump是Linux上常用的抓包命令,用于截取网络分组并输出分组内容,常用于网络问题分析和排查。tcpdump工具经常用于分析定位问题,比如多服务器间的消息发送、接收码流分析,界定消息发送、接收情况。消息发送时延等。

    tcpdump语法

      tcpdump [-i 接口] [-nn] [-w 文件名] [-c 次数] [-Ae][-qX] [过滤条件]   

    -i 指定监听的网络接口。默认为eth0。-i any 表示抓取所有抓取所有网络接口的包。

    -A 以ASCII格式打印出所有分组,并将链路层的头最小化。

    -c 在收到指定的数量的分组后,tcpdump就会停止。如果没有这个参数,tcpdump会持续不断的监听,直到用户输入ctrl+c为止。

    -n 不把网络地址转换成名字。

    -nn 直接以IP及端口号显示,而不是主机名与服务名

    -s 从每个分组中读取最开始的snaplen个字节,而不是默认的68个字节。

    -vv 输出详细的报文信息。

    -w 抓包结果写入文件

    -r 读取抓包结果。文件为-w所生成

      tcpdump命令带上指定参数可以更精确的获取需要的信息,避免截取过多的无用信息。以上是个人常用参数,还有很多参数自己不常使用所以不一一列出。

    tcpdump常用实例

    (1)获取主机192.168.0.0和主机192.168.0.1的所有分组

    tcpdump -i eth1 -A -nn -s 0 -w catch.cap host 192.168.0.0 and host 192.168.0.1

    (2)获取主机192.168.0.0和主机192.168.0.1或192.168.0.2的所有分组

    tcpdump -i eth1 -A -nn -s 0 -w catch.cap host 192.168.0.0 and host 192.168.0.1 or 192.168.0.2

    (3)获取主机192.168.0.0、端口号为10005和主机192.168.0.1的所有分组

    tcpdump -i eth1 -A -nn -s 0 -w catch.cap port 10005 host 192.168.0.0 and host 192.168.0.1

    (4)获取发送给目标主机为192.168.0.1的所有分组

    tcpdump -i any dst 192.168.0.1

    (5)获取本机端口为7776所有接收和发送的分组

    tcpdump -i any -n src port 7776

    tcpdump数据包分析

      tcpdump抓取的数据包通常是借助wireshark工具进行分析。Wireshark工具的分析方法可以参考<wireshark抓包新手使用教程>。将tcudump生成的catch.cap包导入到wireshark即可。wireshark常用过滤命令如下:

    #ip地址过滤

    ip.addr ==

    ip.src ==

    ip.dst ==

    #tcp/udp端口过滤

    tcp.port ==

    udp.port ==

    #contains关键字用法

    tcp contains youku

    udp contains youku

    http contains ok00

    #协议过滤

    dns and http

    dns or http

    arp or icmp

    sip and rtp

    #http包的过滤

    http.request.method== POST

    http.request.method== GET

    http.response.code == 200

    #packet lost如何查看

    tcp.analysis.flags tcp.flags.syn ==1

    #tcp包的syn字段为1

    tco.flags.reset ==1

    #过滤掉不需要的包,感叹号的用法

    !(arp or dns or icmp)

    参考资料

    1、http://blog.csdn.net/s_k_yliu/article/details/6665673/

    2、http://www.itshouce.com.cn/linux/linux-tcpdump.html

    3、https://segmentfault.com/a/1190000009320118

  • 相关阅读:
    mfc cef<转>
    js人形时钟
    opencv给图片添加文字水印<转>
    strcore.cpp(156) 内存泄漏
    WebAssembly相关
    mingw 搭建Emscripten 环境
    mingw 设置python 设置git环境变量
    android平台yuv缩放相关<转>
    多媒体基础知识之PCM数据《 转》
    iOS 5 故事板进阶(2)
  • 原文地址:https://www.cnblogs.com/linyfeng/p/7392139.html
Copyright © 2011-2022 走看看