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端口进行输出

  • 相关阅读:
    linux查看CPU和内存信息
    linux yum命令详解
    查看文件中关键字前后几行的内容
    vue.js+web storm安装及第一个vue.js
    android GPS: code should explicitly check to see if permission is available
    ASP.NET MVC Identity 使用自己的SQL Server数据库
    阿里云服务器,tomcat启动,一直卡在At least one JAR was scanned for TLDs yet contained no TLDs就不动了
    ASP.NET MVC4 MVC 当前上下文中不存在名称“Scripts”
    python 将windows字体中的汉字生成图片的方法
    Java android DES+Base64加密解密
  • 原文地址:https://www.cnblogs.com/fanren224/p/8457197.html
Copyright © 2011-2022 走看看