zoukankan      html  css  js  c++  java
  • Android移动网络如何抓取数据包

    1)下载tcpdump工具

    tcpdump(dump the traffic on a network)是Linux中强大的网络数据采集分析工具之一,可以将网络中传送的数据包头完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。Android系统是基于Linux,可以使用tcpdump来抓取数据包。由于普通用户不能正常执行tcpdump,具备root权限的用户才可以直接执行它来获取网络上的信息,所以使用它的前提条件是:手机需要具备root权限。

    2)将下载好的tcpdump拷贝到手机

    adb push D:/tcpdump /data/local(将下载到D盘的tcpdump工具拷贝到/data/local目录下)

    3)修改文件权限

    ①通过命令修改文件权限

    adb shell chmod 777 /data/local (777代表目标文件或目录是任何人都可以读、写、执行)

    ②通过RE文件管理器修改文件权限

    4)使用tcpdump抓包

    /data/local/tcpdump -p -vv -s 0 -w /sdcard/mycapture.pcap(网络操作的log存入到/sdcard/mycapture.pcap下)

    tcpdump使用方法:

                tcpdump [ -adeflnqtv] [ -c 数量 ] [ -F 文件名 ][ -i 网络接口 ] [ -r 文件名] [-s snaplen ] [ -T 类型 ] [ -w 文件名 ] [表达式 ]

    tcpdump选项介绍:

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

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

       -dd     将匹配信息包的代码以c语言程序段的格式给出;

       -ddd   将匹配信息包的代码以十进制的形式给出;

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

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

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

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

               -q            快速输出,只输出较少的协议信息;

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

       -v       输出一个稍微详细的信息;

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

       -c       在收到指定包的数目后,tcpdump就会停止;

       -F      从指定的文件中读取表达式,忽略其它的表达式;

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

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

               -s             从每个分组中读取最开始的snaplen个字节;

               -T          将监听到的包直接解释为指定类型的报文;

       -w       直接将包写入文件中,并不分析和打印出来;

    5)执行网络操作

    以反作弊sdk报活日志发送为例:全新安装搜狗输入法→等待1min,发送报活日志→更改手机时间,后调一天,发送报活日志。该网络操作完毕后,关闭DOS窗口即可停止。

    6)将mycapture.pcap拷贝到电脑中,用Wireshark打开

    Wireshark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。用wireshark可以筛选出指定host的请求。

     

  • 相关阅读:
    jpa命名规则 jpa使用sql语句 @Query
    spring data jpa 查询No property ... found for...Did you mean '...'?
    maven配置sqlServer的依赖
    SpringBoot 使用Swagger2打造在线接口文档(附汉化教程)
    本地git库gitlab库链接服务器库 idea git 配置 gitlab 配置 git生成ssh公钥
    连接sqlServer数据库&jpa调用存储过程Java获取存储过程返回的多个结果集JAVA调用sqlserver存储过程的实现(返回多个结果集的实现)jdbc多结果集(getMoreResults)
    Springmvc的handler method参数绑定常用的注解
    Java map 详解
    Http请求中Content-Type讲解以及在Spring MVC注解中produce和consumes配置详解
    @Controller和@RestController的区别
  • 原文地址:https://www.cnblogs.com/scios/p/7402615.html
Copyright © 2011-2022 走看看