新浪微博的分析

早上刚刚起床先刷微博,打算就分析一下新浪微博。登陆之后抓取公布微博的数据包。进行分析。

1.抓包的要点:


1.关闭其它网络应用,保证本机网络流量的干净,便于分析。

2.先开启wireshark,后公布微博,微博公布成功马上停止。其它的应用类似。

3.查看conversion list ,太小的包不是必需检查。

4.最关键的一点:一定抓取到3次握手,切记切记。

5.大部分应用都是基于TCP的。所以TCP优先分析,其次是UDP。

2.实际分析


1.筛选出TCP的回话列表,如图


watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hhb3NqdQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

       我本地的流量比較干净,并且这次的分析比較明显,低于500Byte的数据包基本不含什么实用的信息。所以本次分析直接选择大小为6563的数据包就能够,实际情况可没这么少,应该会有非常多干扰的回话,须要去细致分析。

2.下面对65563的数据包进行分析:



      确定这次回话有三次握手。图红框内的部分。这样就能准确的在建立链接的时候就能识别应用。

     3.PC的web 微博基于http的,接下来就是分析HTTP报文内容。写出正确的正則表達式。以准确识别应用。



    实际发得微博内容:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hhb3NqdQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

       1.实际发的微博内容是n个a,在解析出的报文内容中text=aaaaaaaaaaaaaaaaaaaaaaaaaaa。

明显是我们发的微博内容。这样就能够更进一步确定这是我们发的微博的数据包。

        2.Host相应的是weibo.com

4.写出正确的正則表達式,以准确识别应用。





      1.确保一个公司的同样产品直接不能产生误识别,或者正則表達式之间没有包括关系。举个样例:你想识别微博,然后你仅仅写一个weibo.com。这样全部的微博产品都被识别,或者影响了。

     2.正則表達式的面不能太大,这样就产生应用之间的误识别。
        正則表達式的面也不能太小,这样网络报文随应用的细小变化。都会引起应用识别的不准确或者失效。、
        依据http报文内容进行分析。本样例中须要注意几个关键点:POST/GET、 Host、还有微博内容前面带着的关键词text,这个可能是差别与其他应用的关键点。

本例正則表達式:
      1.regex=^POST\x20\/aj\/mblog\/add.*weibo.*text
      2.regex=^POST\x20.*weibo.*text
      3.regex=^POST\x20.*add.*weibo.*text

4.regex=^POST\x20\/aj\/mblog\/add.*weibo
注:正則表達式的写法这里不详解,能够參考关于应用识别的上一篇文章。

这里我写几种范围不同的正則表達式,这就涉及到正則表達式范围大小的问题,依据实际情况把握。
        这里我依据实习公司的规则要求写一个识别发微博应用的规则。这有点不好意思。我做一下调整,避开不必要的麻烦。非常多应用的规则组成应用的协议库,以便识别应用。


       ApplicationId: SG_APP_SINA_WEIBO_LOGIN

       ApplicationName:SinaWeiboPublish  

       name_cn: 新浪微博公布

       ApplicationType: APP_SOCIAL_NETWORK

       ApplicationProtocol: TCP

       ScanLength: ^POST\x20.*add.*weibo.*text

基于DPI(深度报文解析)的应用识别2------实际分析的更多相关文章

  1. 基于DPI(深度报文解析)的应用识别

    一.概述 1.DPI(Deep packet inspection,深度报文解析) 所谓“深度”是和普通的报文分析层次相比较而言的,“普通报文检测”仅分析IP包4 层以下的内容,包括源地址.目的地址. ...

  2. DPI深度报文检测架构及关键技术实现

    DPI深度报文检测架构及关键技术实现 当前DPI(Deep Packet Inspect深度报文识别)技术是安全领域的关键技术点之一,围绕DPI技术衍生出的安全产品类型也非常的多样.在分析DPI的进一 ...

  3. 基于深度学习的人脸性别识别系统(含UI界面,Python代码)

    摘要:人脸性别识别是人脸识别领域的一个热门方向,本文详细介绍基于深度学习的人脸性别识别系统,在介绍算法原理的同时,给出Python的实现代码以及PyQt的UI界面.在界面中可以选择人脸图片.视频进行检 ...

  4. 行人重识别(ReID) ——基于深度学习的行人重识别研究综述

    转自:https://zhuanlan.zhihu.com/p/31921944 前言:行人重识别(Person Re-identification)也称行人再识别,本文简称为ReID,是利用计算机视 ...

  5. 解析基于keras深度学习框架下yolov3的算法

    一.前言 由于前一段时间以及实现了基于keras深度学习框架下yolov3的算法,本来想趁着余热将自己的心得体会进行总结,但由于前几天有点事就没有完成计划,现在趁午休时间整理一下. 二.Keras框架 ...

  6. 基于tensorflow的MNIST手写数字识别(二)--入门篇

    http://www.jianshu.com/p/4195577585e6 基于tensorflow的MNIST手写字识别(一)--白话卷积神经网络模型 基于tensorflow的MNIST手写数字识 ...

  7. 人工智能深度学习框架MXNet实战:深度神经网络的交通标志识别训练

    人工智能深度学习框架MXNet实战:深度神经网络的交通标志识别训练 MXNet 是一个轻量级.可移植.灵活的分布式深度学习框架,2017 年 1 月 23 日,该项目进入 Apache 基金会,成为 ...

  8. 报文解析及CRC类

    /// <summary> /// 报文解析转换类 /// </summary> public class DatagramConvert { public static En ...

  9. ISO8583报文解析

    在此只写了一个8583报文的拆包,组包其实也差不多的. 不多说直接上文件, 具体思路过程,在解析类里面写的有. 其中包含了四个文件 8583resp.txt报文 ISO8583medata配置文件 B ...

随机推荐

  1. 跳出双重for循环的案例__________跳出了,则不再执行标签ok下的for循环代码

    ok: for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { System.out.print("*" ...

  2. 一种压缩图片的方法---Machine learning 之 K-Means

    背景描述: RGB编码:对于一个直接用24bit表示每一个而像素的图像来说,每一个pixel使用8-bit无符号整数(0-255)来表示红or绿or蓝. 压缩目的: 将128x128大小的图片由原来的 ...

  3. # --with-http_random_index_module模块

    作用: 从目录中随机选取一个随机作为主业 环境 nginx -V 检测是否已经安装了该模块 语法 案例 在/usr/share/nginx下随机创建3个html文件 修改配置文件

  4. AndroidStudio怎样导入library项目库

    先打开一个Project,然后将libraryr的项目作为module进行导入: File菜单->import module菜单 以上只是导入进来,还没有作为与project真正有效的一部分.需 ...

  5. 关于Membership和身份认证的记录

    在今天写好的code中测试环节,当我用webconfig中的测试数据库就是ok的,但是更替为正式的就不行了: 报错的类是MemberShip,那就关系到身份认证的环节了 找了几个链接,记录下 1.身份 ...

  6. 【Linux】七种文件类型

    Linux中的七种文件类型 d 目录文件. l 符号链接(指向另一个文件). s 套接字文件. b 块设备文件,二进制文件. c 字符设备文件. p 命名管道文件. - 普通文件

  7. error C3859: 超过了PCH的虚拟内存范围;请使用“-Zm33”或更大的命令行选项重新编译

    编译 ORB_SLAM的Release版本时,出现了此问题: 错误 2 error C3859: 超过了 PCH 的虚拟内存范围;请使用"-Zm465"或更大的命令行 修改方法: ...

  8. 【sqli-labs】 less19 POST - Header Injection - Referer field - Error based (基于头部的Referer POST报错注入)

    这个和less18一样,都是基于header的注入 这次的字段是referer Referer: ' AND UpdateXml(1,concat(0x7e,database(),0x7e),1),1 ...

  9. GFS分布式文件系统理论个人总结

    GlusterFS 两种模式 可以通过TCP/IP和RDMA高速网络互连,客户端可通过原生Gluster协议访问数据 没有GlusterFS客户端的可以通过NFS/CIFS标准协议通过存储网关访问数据 ...

  10. 【转载】Jmeter分布式部署测试-----远程连接多台电脑做压力性能测试

    在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,所以,当需要模拟数以万计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起J ...