zoukankan      html  css  js  c++  java
  • tcpdump的简单使用

    0X01.抓包

    二话不说直接上命令

    tcpdump -i wlan0 -s 0 -w file.pcap

    简单说一下每个参数的作用,

    -i  接指定网络接口,eth0/wlan0

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

    -w 将抓取的数据保存到指定文件,后面接一个指定的文件名

     如图抓取了919个数据包.

    0X02.既然抓包完成,我们来读取一下内容:

    tcpdump -r file1.pcap

    -r 读取指定文件

    -A 以ACSll码格式进行表示

    -X 以16进制格式显示

    0X03.除了抓取所有流经网络接口的数据包,我们还可以只抓取指定协议端口的数据包.

    命令:(这里说一下如果不将抓到的包保存文件,那么就会动态显示)

    tcpdump -i wlan0 tcp port 80 -w file2.pcap

    tcp 指定只抓取tcp协议的包

    port 80 抓取80端口的包

    好,下面上图

    0X04.tcpdump的显示筛选器.

    先放命令:

    tcpdump -n -r file1.pcap | awk '{print $3}' |sort -u

    -n 不将ip解析为域名

    | 管道符,将上一个命令的输出作为后一个命令的输入

     awk '{print $3}'  这一句只将第三列筛选出来(也即是ip)

    sort -u 去除重复项

    0X05.下一个筛选显示源ip

    命令:

    tcpdump -n src host 10.152.23.31 -r file1.pcap

    src host ip 筛选源IP

    dst host ip 筛选目标ip

     0X06.筛选指定协议端口,并以ascll码格式显示

    命令:

    tcpdump -n -A tcp port 80 -r file2.pcap 

     tcpdump -n -X tcp port 80 -r file2.pcap

    同理以16进制显示数据包内容

    0X07.tcpdump 高级筛选(可以精确到字节)

    这里简单说一下tcp包结构.

    TCP包头结构如下,8个位为一个字节,每一行为四个字节,一共是32个位,源端口占了前面的16个位,两个字节;

    目的端口一样;第四行第三列是标签位

     0                                      1                                     2                                    3
    
     0  1  2  3  4  5  6  7  8  9  0 1  2  3  4  5  6  7  8  9  0 1  2  3  4  5  6  7 8  9  0  1
    
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    
    |                  Source Port                    |                          Destination Port          |
    
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    
    |                                                              Sequence Number                                     |
    
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    
    |                                                   Acknowledgment Nuber                                      |
    
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    
    |  Date    |                                 |C|E|U|A|P|R|A|F|                                             |
    
    | Offset |   Res.                      |W|C|R|C|S|S|Y|I|                 Windwos              |
    
    |              |                                 |R|E|G|K|H|T|N|N|                                             |
     
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    
    |            Checksum                               |                    Urgent Pointer                    |
    
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    
    |                      Options                        |                          Padding                          |
    
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    
    |                                                          data                                                              |
    
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    当tcp三次握手完成以后,服务度和客户端建立链接就会发送真正的数据请求内容,

    此时flag既标记位就会是ack 和psh开头,表示数据传输的最起始位置

    从wireshark我们可以知道flag标记位以0,1表示,因此我们在这里筛选ack和psh位.二进制编码就是00011000

    转化为十进制就是24

    命令:

    tcpdump -A -n 'tcp[13]=24' -r file1.pcap

    每一行四个字节,到第四行就是第13个字节.

    因此

    越有故事的人越沉静简单,越肤浅单薄的人越浮躁不安,真正的强者不是没有眼泪的人,而是含着眼泪依然奔跑的人,我们要敢于背上超出自己预料的包袱。努力之后,你会发现,自己要比想象的优秀很多。 坚持梦想,负重前行。
  • 相关阅读:
    任意文件读取与下载漏洞
    命令执行与代码执行漏洞原理
    安全面试知识汇总
    科学使用Github(gayhub)搜索想要的项目
    业务逻辑漏洞--注册-登录-改密码页面总结
    Linux提权之SUID提权
    攻防世界XCTF--伪造请求头XFF和Referer(第九题)
    攻防世界XCTF--两种传输方式get_post(第八题)
    攻防世界XCTF--一个简单的PHP后端验证(第七题)
    课时14.DTD文档声明上(掌握)
  • 原文地址:https://www.cnblogs.com/mke2fs/p/9978263.html
Copyright © 2011-2022 走看看