zoukankan      html  css  js  c++  java
  • tcpdump

    tcpdump命令格式

    tcpdump option filter

    filter 是过滤包的条件,可以使用not,or,and进行组合 。windows下用wireshark
    命令需要root身份执行。

    选项:

    -i 指定网卡接口,-i any 监听所有端口,不指定表示数字最小的网卡接口

    -n   显示ip,不显示域名

    -N  不打印主机的域名部分. 比如, 如果设置了此选现, tcpdump 将会打印'tieba' 而不是 'tieba.baidu.com'

    -w - |strings    把包数据用字符展示出来,-w a.cap   把抓包结果写入a.cap中,

    -C 1      如果a.cap 超过1M 大小,则新开一个文件,  -C fileSize , 单位是MB

    -r 从某个文件读取, -r a.cap 

    -X    以十六进制以及ASCII的形式打印数据内容

    -x     除了打印出header外,还打印packet里面的数据(十六进制的形式)

    -xx  以十六进制的形式打印header, data内容

    -A  把每一个packet都用以ASCII的形式打印出来

    -c 100 表示抓100个包

     -D 查看机器上有哪些网络接口

    -e  把连接层的头打印出来

    -j timestamp type   修改输出的时间格式

    -J  显示支持的时间格式

    -l |tee dump.log  tee是一个命令,在屏幕上显示dump内容,并把内容输出到dump.log中  ,tcpdump -l > dump.log

    -q 就是quiet output, 尽量少的打印一些信息

    -S  打印真实的,绝对的tcp seq no

    -s  256  指定抓包文件的大小,默认抓取包长度是65535,单位是字节

    -t   不要打时间戳

    -tt   打出timstamp,从1970-1-1 以来的秒数,以及微秒数

    -v    打印出详细结果

    -vv   打印出更加详细的结果

    一、基本语法

    1.1、过滤主机


    tcpdump -i eth1 host 192.168.1.1

    tcpdump -i eth1 src host 192.168.1.1

    tcpdump -i eth1 dst host 192.168.1.1

    1.2、过滤端口


    tcpdump -i eth1 port 25

    tcpdump -i eth1 src port 25

    tcpdump -i eth1 dst port 25

    1.3、网络过滤

    tcpdump -i eth1 net 192.168
    tcpdump -i eth1 src net 192.168
    tcpdump -i eth1 dst net 192.168

    1.4、协议过滤

    tcpdump -i eth1 arp
    tcpdump -i eth1 ip
    tcpdump -i eth1 tcp
    tcpdump -i eth1 udp
    tcpdump -i eth1 icmp

    1.5、常用表达式

    非 : ! or "not" (去掉双引号)
    且 : && or "and"
    或 : || or "or"
    抓取所有经过eth1,目的地址是192.168.1.254或192.168.1.200端口是80的TCP数据
    tcpdump -i eth1 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.200)))'
    抓取所有经过eth1,目标MAC地址是00:01:02:03:04:05的ICMP数据
    tcpdump -i eth1 '((icmp) and ((ether dst host 00:01:02:03:04:05)))'
    抓取所有经过eth1,目的网络是192.168,但目的主机不是192.168.1.200的TCP数据
    tcpdump -i eth1 '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))'

    使用tcpdump抓取HTTP包

    tcpdump  -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854

    0x4745 为"GET"前两个字母"GE",0x4854 为"HTTP"前两个字母"HT"。

    tcpdump tcp port 80 -n -X -s 0 指定80端口进行输出

  • 相关阅读:
    ORBSLAM2的资源
    工程思想
    Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH和ROS_PACKAGE_PATH
    CMkeList文件编写
    SLAM资料
    windows下隐藏文件夹
    Ubuntu16装Flash
    知识管理
    学习纲领
    lsof详解
  • 原文地址:https://www.cnblogs.com/fanren224/p/8457197.html
Copyright © 2011-2022 走看看