精华内容
下载资源
问答
  • 前文分享了Wireshark安装入门和一个抓取网站用户名和密码的案例,本篇文章将继续深入学习Wireshark抓包原理知识,并分享数据流追踪、专家信息操作,最后结合NetworkMiner工具抓取了图像资源和用户名密码。...

    这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步。前文分享了Wireshark安装入门和一个抓取网站用户名和密码的案例,本篇文章将继续深入学习Wireshark的抓包原理知识,并分享数据流追踪、专家信息操作,最后结合NetworkMiner工具抓取了图像资源和用户名密码。本文参考了PingingLab陈鑫杰老师的部分内容,非常推荐大家观看他的教程。同时,Bilibili是学习网络安全和编程的好地方喔,大家可以去试试。

    Wireshark作为网络分析的最佳利器之一,非常推荐网络安全初学者学习。作者作为网络安全的小白,分享一些自学基础教程给大家,希望你们喜欢。同时,更希望你能与我一起操作深入进步,后续也将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不容易,大神请飘过,不喜勿喷,谢谢!

    下载地址:https://github.com/eastmountyxz/NetworkSecuritySelf-study
    百度网盘:https://pan.baidu.com/s/1dsunH8EmOB_tlHYXXguOeA 提取码:izeb

    前文学习:
    [网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例
    [网络安全自学篇] 二.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记
    [网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例
    [网络安全自学篇] 四.实验吧CTF实战之WEB渗透和隐写术解密
    [网络安全自学篇] 五.IDA Pro反汇编工具初识及逆向工程解密实战
    [网络安全自学篇] 六.OllyDbg动态分析工具基础用法及Crakeme逆向破解
    [网络安全自学篇] 七.快手视频下载之Chrome浏览器Network分析及Python爬虫探讨
    [网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
    [网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性
    [网络安全自学篇] 十.论文之基于机器学习算法的主机恶意代码
    [网络安全自学篇] 十一.虚拟机VMware+Kali安装入门及Sqlmap基本用法
    [网络安全自学篇] 十二.Wireshark安装入门及抓取网站用户名密码(一)

    前文欣赏:
    [渗透&攻防] 一.从数据库原理学习网络攻防及防止SQL注入
    [渗透&攻防] 二.SQL MAP工具从零解读数据库及基础用法
    [渗透&攻防] 三.数据库之差异备份及Caidao利器
    [渗透&攻防] 四.详解MySQL数据库攻防及Fiddler神器分析数据包

    参考文献:
    《安全之路Web渗透技术及实战案例解析》陈小兵老师
    《Wireshark数据包分析实战》第二版 Chris Sanders
    《Wireshark网络分析》第二版 Laura Chappell
    《TCP/IP协议栈详解卷一》 W.Richard Stevens

    《Wireshark协议分析从入门到精通》-51cto老师(强推)
    使用Wireshark抓包获取在网页中输入的账号密码 - 鹏晓星博友
    安全科普:利用WireShark破解网站密码 - JackFree大神
    用wireshark抓包分析TCP三次握手、四次挥手以及TCP实现可靠传输的机制 - suddoo大神
    Wireshark如何抓明文用户名和密码 - liu_yanzhao大神
    网络抓包工具 wireshark 入门教程 - zhuyunier
    https://www.bilibili.com/video/av29479068

    声明:本人坚决反对利用社会工程学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。


    一.Wireshark抓包原理

    (一).网络抓包原理

    网络中不论传输什么,最终通过物理介质发送的都是二进制,类似于0101的Bit流。纯文本(字符串)中文通常采用UTF-8编码,英文用ASCII编码;非纯文本音频、视频、图片、压缩包等按不同编码封装好,转换成二进制传输。在IP网络中,通过Wireshark抓包,获取的原始数据都是二进制。

    哪种网络情况下能够抓取到包呢?下面结合网络原理讲解。网络抓包主要存在三种情况:本机环境、集线器环境和交换机环境。

    1.本机环境
    本机环境直接抓包本机网卡进出的流量。Wireshark会绑定我们的网卡,不需要借助第三方设备(交换机、集线路由器)就能抓取我们的网络通信流量,这是最基本的抓包方式。

    2.集线器环境
    集线器环境可以做流量防洪,同一冲突域。集线器的英文是“Hub”,“Hub”是“中心”的意思,集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI参考模型第一层,即“物理层”。

    假设三台电脑通信,PC1处安装Wireshark,当PC2、PC3发送数据包到集线器网络里面(冲突域或广播域),由于集线器是物理层产品,不能识别MAC地址、IP地址,它会将接收包往其他所有接口泛洪,此时Wireshark就能抓到从同一个集线器其他电脑发过来的数据包,即局域网中的数据包。这是一种典型的老网络做法,现在基本淘汰。

    3.交换机环境

    交换机环境是更加常见的方式,包括端口镜像、ARP欺骗、MAC泛洪。

    (1)端口镜像
    交换机是一种数据链路层甚至网络层的产品,它的转包接包严格按照交换机上的MAC地址表通信。所以正常情况下,PC2和PC3通信流量是很难流到PC1的网卡上。当PC2和PC3通信时,PC1是无法通过Wireshark抓到包。但是我们可以在交换机端口做SAPN端口镜像操作,它会将其他两个口的流量复制一份到PC1处,PC1的网卡和Wireshark设置为混插模式,此时就能进行抓包。该模式常用于很多付费的流量分析软件。

    (2)ARP劫持
    假设我们没有权限在交换机上做端口镜像技术,因为有MAC地址表,又想获取整个局域网中的流量,窃取到PC2、PC3上的流量。这可以通过著名的ARP攻击软件Cain&Abel实现,其流程是:

    • 首先,PC2发送ARP请求广播包,交换机收到包之后会发给PC1和PC3。
    • PC1和PC3接收到,正常情况下PC1会丢弃该包,因为询问的是PC3,但ARP欺骗会回复“我是IP3,对应地址为MAC1”,这就是典型的ARP欺骗或ARP病毒。
    • 最后PC2会将流量封装成底层的MAC1回复过去。如果PC3和PC1都回应,但APR有个特性叫后到优先,PC1会做一个错误的绑定,将数据包发到MAC1,从而导致PC2和PC3的通信流量都会经过PC1,这也是典型的流量劫持、局域网攻击。

    (3)MAC泛洪
    通过工具泛洪带来大量垃圾包,产生大量MAC地址,此时交换机MAC地址表会变为右边这张表(爆表),MAC2和MAC3被挤出了MAC地址表。一旦这种MAC地址被挤出MAC地址表,按照交换机原理,如果收到的数据包是未知,它会对外泛洪,此时PC2和PC3对外流量泛洪。

    (二).底层框架原理

    那么,抓包的底层架构是怎样的?下面开始讲解Wireshark的底层原理。

    Wireshark包括5层架构:

    • 最底层Win-/libpcap:Wireshark抓包时依赖的库文件(驱动文件、库文件)
    • Capture:抓包引擎,利用libpcap/WinPcap底层抓取网络数据包,libpcap/WinPcap提供了通用的抓包接口,能从不同类型的网络接口(包括以太网、令牌环网、ATM网等)获取数据包
    • Wiretap:此时获取的是一些比特流,通过Wiretap(格式支持引擎)能从抓包文件中读取数据包,支持多种文件格式
    • Core:核心引擎,通过函数调用将其他模块连接在一起,起到联动调用的作用,包分析引擎涉及Protocol-Tree(保存数据包的协议信息,协议结构采用树形结构,解析协议报文时只需从根节点通过函数句柄依次调用各层解析函数即可)、Dissectors(各种协议解码器,支持700多种协议解析,解码器能识别出协议字段,并显示出字段值,Wireshark采用协议树的形式对数据流量的各层次协议逐层处理)、Plugins(一些协议解码器以插件形式实现,源码在plugins目录)、Display-Filters(显示过滤引擎,源码在epan/dfilter目录)。
    • GTK1/2:图形处理工具,处理用户的输入输出显示,最终存储至Harddisk硬盘中。

    PS:了解基本的原理知识挺重要的,尤其为后续深入的研究。


    二.界面功能介绍

    Wireshark运行后,其界面如下图所示,包括标题栏、菜单栏、工具栏、数据包过滤栏、数据包列表区、数据包详细区、数据包字节区、数据包统计区。

    从上下按序编号如下图所示。

    下面简单介绍一些界面常识。

    1.点击“捕获”->“选项”如下图所示,可以设置输入接口和过滤器。

    2.数据包详细区用得最多,它是解析数据包核心区域。数据包包含时间流、谁发给谁(原始IP地址和目的IP地址)、协议、长度、内容等,当双击它能看到对应的详细信息。

    数据包详细区、数据包字节区包含比特字节信息。

    3.统计栏的内容也值得大家去深入学习,后面会分享流量图信息。

    4.显示界面中可以设置字体大小,如下图所示。

    5.列设置包括默认列表、增加列、修改列、隐藏列、删除列,设置默认即可,下图是选中某行右键“应用为列”即可增加列。

    增加后如下图所示:

    选中该列名称,右键“删除列”即可。点击“编辑列”可以对名称进行修改。

    6.时间设置涉及时间格式和参考时间。

    修改之后如下图所示,不在显示时间间隔。

    7.名字解析主要用于判断厂商信息,名词解析库,基本知识如下图所示。

    设备相关信息如下图所示:

    8.开启传输域名解析。

    开启之后可以看到解析的域名(domain)及对应的DNS。

    9.查看解析地址。

    显示结果如下:

    10.数据包操作包括数据包标记、注释数据包、合并数据包、打印数据包、导出数据包,通过不同的协议设置不同的配色方案。

    如下图所示修改为红色。

    11.文件->打印。

    接下来作者将继续分享Wireshark的实际案例知识,首先讲解数据流追踪、专家信息获取和统计摘要获取的知识。


    三.数据流追踪和专家统计说明

    1.数据流追踪
    数据流追踪主要是将TCP、UDP、SSL数据流进行重组并完整呈现出来,其点击路径为:Analyze -> Follow -> TCP stream 分析。跟踪TCP流实现如下图所示:

    我们在访问网页的时候,除了HTTP协议,大部分的流量应该是通过TCP协议生成数据包的,如下图所示。红色部分表示浏览器访问的网址信息(Request),蓝色部分表示对方给我们的反馈信息(Response)。

    2.专家信息说明
    其功能是对数据包中特定状态进行警告说明,包括错误(errors)、警告(warnings)、注意(notes)、对话(chats)。正常通信是不会丢包的,但实际情况可能有延迟,可以通过专家信息分析和查看网站的稳定性。

    显示结果如下图所示,并被标注为各种颜色。

    3.统计摘要说明

    其功能主要是对抓取的数据包进行全局统计,基本点击路径为:Statistics -> Summary 统计汇总信息。显示结果如下图所示,后续可能会结合案例详细讲解。

    四.Wireshark和NetworkMiner劫持流量及图片

    NetworkMiner:一款开源的网络取证和协议分析工具,能够通过嗅探器检测操作系统、主机名以及开放的端口。同时也可以通过分析pcap文件来获取到数据包的详细信息。 除了能够进行基本的数据包抓取分析,NetworkMiner还支持以下功能:

    • 以节点形式展示针对某个主机的通讯信息。
    • 可以通过数据包详细信息查看主机的IP地址、端口、使用协议以及服务器版本、数据包大小等。
    • 可以设置以IP地址或者主机名或者操作系统等其他类别显示数据包。
    • 可以自动通过数据包分析出里面的文件,例如图片、js以及css等其他传输的文件。
    • 可以分析出数据包中的证书信息。
    • 可以分析出http协议中的Session信息和cookie以及其他参数。
    • 支持根据关键词查找功能,支持对FTP、TFTP、HTTP、SMB 和 SMTP协议的文件提取。

    总之,这个源码项目还是比较复杂的,如果想深入研究数据包结构分析和Pcap,NetworkMiner也是个不错的选择。

    下面结合Wireshark和NetworkMiner工具讲解劫持流量案例,获取登录HTTP网站的用户名和密码,并且作者修改了头像图片,通过NetworkMiner软件获取了该上传资源。

    第一步:启动Wireshark软件,并开始监听流量数据包。

    第二步:打开浏览器并输入目标网址。(后续会尝试分析HTTPS网站或手机APP检测)

    第三步:输入用户名和密码登录。

    登录之后如下图所示,作者这里尝试点击链接提交我的一张本地头像。

    上传之后如下图所示,接下来我们开始尝试分析抓取的流量数据包。

    第四步:获取网址对应的IP地址,这里使用IP站长之家实现。IP地址为:47.xxx.xxx.107 。

    第五步:点击暂停并通过过滤器获取与该IP地址相关的HTTP协议数据包。
    http and ip.addr==47.xxx.xxx.107

    第六步:选中POST登录提交表单的链接,可以查看对应的用户名和密码如下图所示,双击该行可以查看详情。注意,该网站是明文传输用户名和密码,如果密码加密,可以采用在线MD5解密。还是建议该网站对密码进行加密或设置HTTPS传输。

    第七步:右键链接,点击“追踪流”->“TCP流”。

    显示的详情内容如下图所示,其中红色为Request,蓝色为服务器响应Response,我们也可以尝试将其导出保存至本地。

    第八步:如果过滤器为“ ip.addr==47.110.166.107”,则还除了获取HTTP协议数据包,还能获取其他协议,包括TCP,大多数流量包均通过TCP协议三次握手传输。

    这里,读者尝试寻找POST提交图片表单,找到其TCP流的原图片格式进行分析。

    第九步:打开工具NetworkMiner,尝试通过它分析数据包。(注意,前面Wireshark抓取的包将存储为本地pcap文件)。

    第十步:该软件打开我们本地的0921.pcap文件,显示如下图所示。

    第十一步:点击Credentials查看我们Wireshark劫持的所有流量登录信息,可以看到我们目标网站的用户名Yxiuzhang和密码。

    第十二步:点击Images可以查看我们上传的图片为“eastmount.jpg”,上传服务器之后头像命名为“17577…jpg”,成果抓取了图像资源。


    五.总结

    讲到这里,此篇文章讲述完毕。总之,Wireshark是一个非常强大的 工具,希望读者能学会使用它,后续我们将分享如何获取手机APP中的流量。作者也是小白,但仍然在一步一个脚印学习,希望你也能与我同行。再次强调,Bilibili中有很多资源,去看看吧。

    三年后,再次来到这座曾生活过六年的城市,还是那么有历史韵味,还是那么让人喜欢。这居然是我第一次走进国家会议中心,第一次近看鸟巢。

    感恩老师,来之不易的学习机会,让我们异常珍惜。虽然听得懵懵懂懂,但也见识了差距,算是种经历和成长吧。人生,总有很多不期而遇的温暖,和生生不息的希望,且行且珍惜。赶紧总结下学术知识、写篇博文。

    这里有很多老师、知己和故友,但这次匆忙,下次共聚,勿怪、勿念。争取带女生来一次北京。

    ——秀璋 2019.9.22 北京

    (By:Eastmount 2019-09-22 晚上11点 http://blog.csdn.net/eastmount/ )


    展开全文
  • 一、wireshark抓包原理

    2020-12-25 14:10:29
    一、什么样的“”能够被wireshark抓住? 1、本机 说明:即直接抓取进出本机网卡的流量。这种情况下,wireshark会绑定本机的一块网卡。 2、集线器 说明:用于抓取流量泛洪,冲突域内的数据包,即整个局域网的...

    一、什么样的“包”能够被wireshark抓住?

    1、本机
    说明:即直接抓取进出本机网卡的流量包。这种情况下,wireshark会绑定本机的一块网卡。
    在这里插入图片描述

    2、集线器
    说明:用于抓取流量泛洪,冲突域内的数据包,即整个局域网的数据包。
    在这里插入图片描述
    3、交换机
    说明:
    ①端口镜像
    这种方式下,交换机严格按照tenlnet表和mac地址表进行转发数据包。当pc2和pc3通信的时候,默认是pc1是无法抓取数据包的,但是可以通过在交换机上设置策略,即端口镜像。这样Pc2和Pc3通信的数据包就被复制一份到连接pc2的那个交换机端口,这样pc2就可以抓取到Pc2和Pc3的通信数据包了
    在这里插入图片描述
    ②ARP欺骗
    说明:
    步骤如下:

    (1)PC2想和PC3通信,故而向交换机发送广播

    (2)正常情况下PC1会将此包丢弃掉(因为要找的不是它),但是这里的PC1会进行ARP欺骗,告诉PC2它就是PC2要找的PC3

    (3)因为ARP后到优先的特性,PC2很大可能会认为PC1的MAC地址是自己要找的PC3

    (4)就这样,PC2和PC3的通信就变成了PC2和PC1的通信了。

    (5)至于后续PC1要不要把数据(可能被修改的数据)交给PC3,那完全取决于PC1的心情。

    以上便是局域网ARP攻击的典型情况。
    在这里插入图片描述
    ③MAC泛洪
    说明:
    这种情况下,PC1没有端口镜像的权限,所以它不能直接截取全网的流量,那么该怎么做呢?

    (1)PC1发送大量垃圾包,这里产生了大量的MAC地址,导致MAC表爆表

    (2)PC2和PC3发出的数据找不到目的地址就会进行全网泛洪,被PC1截取全网流量
    在这里插入图片描述

    二、wireshark整体框架

    在这里插入图片描述
    1.win-/libcap ===> wireshark底层驱动软件

    2.capture ===> 抓包引擎

    3.wiretab ===> 将抓来的二进制数据转换成需要的格式文件

    4.core ===> 核心引擎,通过函数将多个模块连接在一起

    5.GTK 1/2 ===> 图形处理工具

    展开全文
  • 因为 集线器是一种物理层的设备 他不会识别数据包 只会将接受到的数据包进行防洪法发送出去 抓包软件可以可以通过 网络监视数据包 进行抓包分析 交换机环境 (1)端口镜像方式 交换机的转发数据的模式 是根据它的...

    网络原理

    1、那种网络可以抓住数据包
    本机环境 :
    直接抓包 通过观察本机的网卡检测流量的进出(默认的 软件会绑定一个网卡用于检测进出的流量)
    本机环境抓包示意图
    集线器环境:
    因为 集线器是一种物理层的设备 他不会识别数据包 只会将接受到的数据包进行防洪法发送出去 抓包软件可以可以通过 网络监视数据包 进行抓包分析
    在这里插入图片描述
    交换机环境
    (1)端口镜像方式
    交换机的转发数据的模式 是根据它的交换表进行的 一般的情况下是不会被抓取到数据包的 所以要是实现成功的抓取数据包需要获得交换机的控制权限,通过 在交换机上设置 端口镜像的方式,实现将经过该交换机的流量拷贝一份,复制转发到抓包主机网卡上 进行数据分析。
    在这里插入图片描述

    (2)ARP的方式、
    1、假如PC2要与PC3实现通信 会事先发送一个广播ARP请求 通过交换机 发送给主机PC3 和PC1 但是PC1会丢弃不处理在这个信息
    2使用 ARP攻击软件后 拍出1 主机会接受 这个数据包并且返回数据请求 向pc2解释我才是这个主机 而且会发送不止一个请求 根据 ARP 后到优先的规则 混乱 交换机的MAC地址表从而实现 成功接收数据
    在这里插入图片描述
    3、MAC防洪
    PC1 大量发送MAC地址信息 到交换机上 是的交换机的MAC地址表混乱 从而是的主机发送的数据包无法被识别 从而 使用防洪的方式 发送给所有主机

    在这里插入图片描述

    底层原理

    抓包的底层架构
    在这里插入图片描述

    win-/libpcap 是wireshark抓包时候依赖的库文件 也就是底层驱动
    capture 抓包引擎 利用 libpcap/winpacp从底层抓取数据包,libpcap/winpacp提供了通用的抓包端口(包括以太网,令牌环网,ATM网等)获取数据包
    wiretap 包格式支持引擎 从抓取的数据包中 读取解析数据包 支持多种文件格式
    core 核心引擎 用于通过各种的函数引用 各种的插件 共同的调度 实现抓包的 过程
    GTK1/2 图形化处理工具 处理用户的输入输出显示

    展开全文
  • [网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二) 2019年09月22日 21:55:44Eastmount阅读数 3515文章标签:网络安全Web安全渗透安全Wireshark数据流追踪更多 分类专栏:...

    [网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二)

    2019年09月22日 21:55:44 Eastmount 阅读数 3515 文章标签: 网络安全Web安全渗透安全Wireshark数据流追踪 更多

    分类专栏: 网络安全 Web安全 漏洞挖掘

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    本文链接:https://blog.csdn.net/Eastmount/article/details/101101829

    这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步。前文分享了Wireshark安装入门和一个抓取网站用户名和密码的案例,本篇文章将继续深入学习Wireshark的抓包原理知识,并分享数据流追踪、专家信息操作,最后结合NetworkMiner工具抓取了图像资源和用户名密码。本文参考了PingingLab陈鑫杰老师的部分内容,非常推荐大家观看他的教程。同时,Bilibili是学习网络安全和编程的好地方喔,大家可以去试试。

    Wireshark作为网络分析的最佳利器之一,非常推荐网络安全初学者学习。作者作为网络安全的小白,分享一些自学基础教程给大家,希望你们喜欢。同时,更希望你能与我一起操作深入进步,后续也将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不容易,大神请飘过,不喜勿喷,谢谢!

    下载地址:https://github.com/eastmountyxz/NetworkSecuritySelf-study
    百度网盘:

     

    文章目录

     

    前文学习:
    [网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例
    [网络安全自学篇] 二.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记
    [网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例
    [网络安全自学篇] 四.实验吧CTF实战之WEB渗透和隐写术解密
    [网络安全自学篇] 五.IDA Pro反汇编工具初识及逆向工程解密实战
    [网络安全自学篇] 六.OllyDbg动态分析工具基础用法及Crakeme逆向破解
    [网络安全自学篇] 七.快手视频下载之Chrome浏览器Network分析及Python爬虫探讨
    [网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
    [网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性
    [网络安全自学篇] 十.论文之基于机器学习算法的主机恶意代码
    [网络安全自学篇] 十一.虚拟机VMware+Kali安装入门及Sqlmap基本用法
    [网络安全自学篇] 十二.Wireshark安装入门及抓取网站用户名密码(一)

    前文欣赏:
    [渗透&攻防] 一.从数据库原理学习网络攻防及防止SQL注入
    [渗透&攻防] 二.SQL MAP工具从零解读数据库及基础用法
    [渗透&攻防] 三.数据库之差异备份及Caidao利器
    [渗透&攻防] 四.详解MySQL数据库攻防及Fiddler神器分析数据包

    参考文献:
    《安全之路Web渗透技术及实战案例解析》陈小兵老师
    《Wireshark数据包分析实战》第二版 Chris Sanders
    《Wireshark网络分析》第二版 Laura Chappell
    《TCP/IP协议栈详解卷一》 W.Richard Stevens

    《Wireshark协议分析从入门到精通》-51cto老师(强推)
    使用Wireshark抓包获取在网页中输入的账号密码 - 鹏晓星博友
    安全科普:利用WireShark破解网站密码 - JackFree大神
    用wireshark抓包分析TCP三次握手、四次挥手以及TCP实现可靠传输的机制 - suddoo大神
    Wireshark如何抓明文用户名和密码 - liu_yanzhao大神
    网络抓包工具 wireshark 入门教程 - zhuyunier
    https://www.bilibili.com/video/av29479068

    声明:本人坚决反对利用社会工程学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。


    一.Wireshark抓包原理

    (一).网络抓包原理

    网络中不论传输什么,最终通过物理介质发送的都是二进制,类似于0101的Bit流。纯文本(字符串)中文通常采用UTF-8编码,英文用ASCII编码;非纯文本音频、视频、图片、压缩包等按不同编码封装好,转换成二进制传输。在IP网络中,通过Wireshark抓包,获取的原始数据都是二进制。

    哪种网络情况下能够抓取到包呢?下面结合网络原理讲解。网络抓包主要存在三种情况:本机环境、集线器环境和交换机环境。

    1.本机环境
    本机环境直接抓包本机网卡进出的流量。Wireshark会绑定我们的网卡,不需要借助第三方设备(交换机、集线路由器)就能抓取我们的网络通信流量,这是最基本的抓包方式。

    2.集线器环境
    集线器环境可以做流量防洪,同一冲突域。集线器的英文是“Hub”,“Hub”是“中心”的意思,集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI参考模型第一层,即“物理层”。

    假设三台电脑通信,PC1处安装Wireshark,当PC2、PC3发送数据包到集线器网络里面(冲突域或广播域),由于集线器是物理层产品,不能识别MAC地址、IP地址,它会将接收包往其他所有接口泛洪,此时Wireshark就能抓到从同一个集线器其他电脑发过来的数据包,即局域网中的数据包。这是一种典型的老网络做法,现在基本淘汰。

    3.交换机环境

    交换机环境是更加常见的方式,包括端口镜像、ARP欺骗、MAC泛洪。

    (1)端口镜像
    交换机是一种数据链路层甚至网络层的产品,它的转包接包严格按照交换机上的MAC地址表通信。所以正常情况下,PC2和PC3通信流量是很难流到PC1的网卡上。当PC2和PC3通信时,PC1是无法通过Wireshark抓到包。但是我们可以在交换机端口做SAPN端口镜像操作,它会将其他两个口的流量复制一份到PC1处,PC1的网卡和Wireshark设置为混插模式,此时就能进行抓包。该模式常用于很多付费的流量分析软件。

    (2)ARP劫持
    假设我们没有权限在交换机上做端口镜像技术,因为有MAC地址表,又想获取整个局域网中的流量,窃取到PC2、PC3上的流量。这可以通过著名的ARP攻击软件Cain&Abel实现,其流程是:

    • 首先,PC2发送ARP请求广播包,交换机收到包之后会发给PC1和PC3。
    • PC1和PC3接收到,正常情况下PC1会丢弃该包,因为询问的是PC3,但ARP欺骗会回复“我是IP3,对应地址为MAC1”,这就是典型的ARP欺骗或ARP病毒。
    • 最后PC2会将流量封装成底层的MAC1回复过去。如果PC3和PC1都回应,但APR有个特性叫后到优先,PC1会做一个错误的绑定,将数据包发到MAC1,从而导致PC2和PC3的通信流量都会经过PC1,这也是典型的流量劫持、局域网攻击。

    (3)MAC泛洪
    通过工具泛洪带来大量垃圾包,产生大量MAC地址,此时交换机MAC地址表会变为右边这张表(爆表),MAC2和MAC3被挤出了MAC地址表。一旦这种MAC地址被挤出MAC地址表,按照交换机原理,如果收到的数据包是未知,它会对外泛洪,此时PC2和PC3对外流量泛洪。

    (二).底层框架原理

    那么,抓包的底层架构是怎样的?下面开始讲解Wireshark的底层原理。

    Wireshark包括5层架构:

    • 最底层Win-/libpcap:Wireshark抓包时依赖的库文件(驱动文件、库文件)
    • Capture:抓包引擎,利用libpcap/WinPcap底层抓取网络数据包,libpcap/WinPcap提供了通用的抓包接口,能从不同类型的网络接口(包括以太网、令牌环网、ATM网等)获取数据包
    • Wiretap:此时获取的是一些比特流,通过Wiretap(格式支持引擎)能从抓包文件中读取数据包,支持多种文件格式
    • Core:核心引擎,通过函数调用将其他模块连接在一起,起到联动调用的作用,包分析引擎涉及Protocol-Tree(保存数据包的协议信息,协议结构采用树形结构,解析协议报文时只需从根节点通过函数句柄依次调用各层解析函数即可)、Dissectors(各种协议解码器,支持700多种协议解析,解码器能识别出协议字段,并显示出字段值,Wireshark采用协议树的形式对数据流量的各层次协议逐层处理)、Plugins(一些协议解码器以插件形式实现,源码在plugins目录)、Display-Filters(显示过滤引擎,源码在epan/dfilter目录)。
    • GTK1/2:图形处理工具,处理用户的输入输出显示,最终存储至Harddisk硬盘中。

    PS:了解基本的原理知识挺重要的,尤其为后续深入的研究。


    二.界面功能介绍

    Wireshark运行后,其界面如下图所示,包括标题栏、菜单栏、工具栏、数据包过滤栏、数据包列表区、数据包详细区、数据包字节区、数据包统计区。

    从上下按序编号如下图所示。

    下面简单介绍一些界面常识。

    1.点击“捕获”->“选项”如下图所示,可以设置输入接口和过滤器。

    2.数据包详细区用得最多,它是解析数据包核心区域。数据包包含时间流、谁发给谁(原始IP地址和目的IP地址)、协议、长度、内容等,当双击它能看到对应的详细信息。

    数据包详细区、数据包字节区包含比特字节信息。

    3.统计栏的内容也值得大家去深入学习,后面会分享流量图信息。

    4.显示界面中可以设置字体大小,如下图所示。

    5.列设置包括默认列表、增加列、修改列、隐藏列、删除列,设置默认即可,下图是选中某行右键“应用为列”即可增加列。

    增加后如下图所示:

    选中该列名称,右键“删除列”即可。点击“编辑列”可以对名称进行修改。

    6.时间设置涉及时间格式和参考时间。

    修改之后如下图所示,不在显示时间间隔。

    7.名字解析主要用于判断厂商信息,名词解析库,基本知识如下图所示。

    设备相关信息如下图所示:

    8.开启传输域名解析。

    开启之后可以看到解析的域名(domain)及对应的DNS。

    9.查看解析地址。

    显示结果如下:

    10.数据包操作包括数据包标记、注释数据包、合并数据包、打印数据包、导出数据包,通过不同的协议设置不同的配色方案。

    如下图所示修改为红色。

    11.文件->打印。

    接下来作者将继续分享Wireshark的实际案例知识,首先讲解数据流追踪、专家信息获取和统计摘要获取的知识。


    三.数据流追踪和专家统计说明

    1.数据流追踪
    数据流追踪主要是将TCP、UDP、SSL数据流进行重组并完整呈现出来,其点击路径为:Analyze -> Follow -> TCP stream 分析。跟踪TCP流实现如下图所示:

    我们在访问网页的时候,除了HTTP协议,大部分的流量应该是通过TCP协议生成数据包的,如下图所示。红色部分表示浏览器访问的网址信息(Request),蓝色部分表示对方给我们的反馈信息(Response)。

    2.专家信息说明
    其功能是对数据包中特定状态进行警告说明,包括错误(errors)、警告(warnings)、注意(notes)、对话(chats)。正常通信是不会丢包的,但实际情况可能有延迟,可以通过专家信息分析和查看网站的稳定性。

    显示结果如下图所示,并被标注为各种颜色。

    3.统计摘要说明

    其功能主要是对抓取的数据包进行全局统计,基本点击路径为:Statistics -> Summary 统计汇总信息。显示结果如下图所示,后续可能会结合案例详细讲解。

    四.Wireshark和NetworkMiner劫持流量及图片

    NetworkMiner:一款开源的网络取证和协议分析工具,能够通过嗅探器检测操作系统、主机名以及开放的端口。同时也可以通过分析pcap文件来获取到数据包的详细信息。 除了能够进行基本的数据包抓取分析,NetworkMiner还支持以下功能:

    • 以节点形式展示针对某个主机的通讯信息。
    • 可以通过数据包详细信息查看主机的IP地址、端口、使用协议以及服务器版本、数据包大小等。
    • 可以设置以IP地址或者主机名或者操作系统等其他类别显示数据包。
    • 可以自动通过数据包分析出里面的文件,例如图片、js以及css等其他传输的文件。
    • 可以分析出数据包中的证书信息。
    • 可以分析出http协议中的Session信息和cookie以及其他参数。
    • 支持根据关键词查找功能,支持对FTP、TFTP、HTTP、SMB 和 SMTP协议的文件提取。

    总之,这个源码项目还是比较复杂的,如果想深入研究数据包结构分析和Pcap,NetworkMiner也是个不错的选择。

    下面结合Wireshark和NetworkMiner工具讲解劫持流量案例,获取登录HTTP网站的用户名和密码,并且作者修改了头像图片,通过NetworkMiner软件获取了该上传资源。

    第一步:启动Wireshark软件,并开始监听流量数据包。

    第二步:打开浏览器并输入目标网址。(后续会尝试分析HTTPS网站或手机APP检测)

    第三步:输入用户名和密码登录。

    登录之后如下图所示,作者这里尝试点击链接提交我的一张本地头像。

    上传之后如下图所示,接下来我们开始尝试分析抓取的流量数据包。

    第四步:获取网址对应的IP地址,这里使用IP站长之家实现。IP地址为:47.110.166.107 。

    第五步:点击暂停并通过过滤器获取与该IP地址相关的HTTP协议数据包。
    http and ip.addr==47.110.166.107

    第六步:选中POST登录提交表单的链接,可以查看对应的用户名和密码如下图所示,双击该行可以查看详情。注意,该网站是明文传输用户名和密码,如果密码加密,可以采用在线MD5解密。还是建议该网站对密码进行加密或设置HTTPS传输。

    第七步:右键链接,点击“追踪流”->“TCP流”。

    显示的详情内容如下图所示,其中红色为Request,蓝色为服务器响应Response,我们也可以尝试将其导出保存至本地。

    第八步:如果过滤器为“ ip.addr==47.110.166.107”,则还除了获取HTTP协议数据包,还能获取其他协议,包括TCP,大多数流量包均通过TCP协议三次握手传输。

    这里,读者尝试寻找POST提交图片表单,找到其TCP流的原图片格式进行分析。

    第九步:打开工具NetworkMiner,尝试通过它分析数据包。(注意,前面Wireshark抓取的包将存储为本地pcap文件)。

    第十步:该软件打开我们本地的0921.pcap文件,显示如下图所示。

    第十一步:点击Credentials查看我们Wireshark劫持的所有流量登录信息,可以看到我们目标网站的用户名Yxiuzhang和密码。

    第十二步:点击Images可以查看我们上传的图片为“eastmount.jpg”,上传服务器之后头像命名为“17577…jpg”,成果抓取了图像资源。


    五.总结

    讲到这里,此篇文章讲述完毕。总之,Wireshark是一个非常强大的 工具,希望读者能学会使用它,后续我们将分享如何获取手机APP中的流量。作者也是小白,但仍然在一步一个脚印学习,希望你也能与我同行。再次强调,Bilibili中有很多资源,去看看吧。

    三年后,再次来到这座曾生活过六年的城市,还是那么有历史韵味,还是那么让人喜欢。这居然是我第一次走进国家会议中心,第一次近看鸟巢。

    感恩老师,来之不易的学习机会,让我们异常珍惜。虽然听得懵懵懂懂,但也见识了差距,算是种经历和成长吧。人生,总有很多不期而遇的温暖,和生生不息的希望,且行且珍惜。赶紧总结下学术知识、写篇博文。

    这里有很多老师、知己和故友,但这次匆忙,下次共聚,勿怪、勿念。争取带女生来一次北京。

    ——秀璋 2019.9.22 北京

    (By:Eastmount 2019-09-22 晚上11点 http://blog.csdn.net/eastmount/ )

    展开全文
  • 一、Wireshark抓包原理(一)网络抓包原理网络中不论传输什么,最终通过物理介质发送的都是二进制,类似于0101的Bit流。纯文本(字符串)中文通常采用UTF-8编码,英文用ASCII编码;非纯文本音频、视频、图片、压缩包等按...
  • WireShark抓包网络原理

    2019-10-14 18:53:04
    抓包原理: 本机安装wireshark后自动绑定一个网卡 抓取电脑网卡进出的流量 还可以通过集线器抓取整个局域网的流量 另一种是交换机环境 交换机环境分为端口镜像,ARP欺骗,MAC泛洪 交换机属于链路层,通信完全采用...
  • 交换机是公司、家庭上网必不可少的设备,公司内部可能会用到思科、华为、H3C等接入层交换机,家庭内部一般会选择TP-link、D-link、小米、华为等小型路由...下面我们通过wireshark抓包来分析一下。看上图。PC的e0/0端...
  • WireShark抓包底层原理

    2019-10-14 18:53:52
    从第一步开始到第五步 ...不同类型的网络接口抓包 3. 由于抓到的包是01比特流,所以还需要一些处理 Wiretap:因为抓到的包不同,肯定需要不同的文件格式,所以它是提供格式支持的,解读的 4. core:核心引擎,通过...
  • 一、什么样的““能被wireshark抓住呢? 1.本机 即直接抓取进出本机网卡的流量。这种情况下,wireshark会绑定本机的一块网卡。 2.集线器 用于抓取流量泛洪,冲突域内的数据包,即整个局域网的数据包。 ...
  • 一. WireShark 抓包及常用协议分析

    千次阅读 多人点赞 2019-10-28 10:22:30
    WireShark 抓包及常用协议分析简介WireShark 简介和抓包原理及过程实战:WireShark 抓包及快速定位数据包技巧实战:使用 WireShark 对常用协议抓包并分析原理实战:WireShark 抓包解决服务器被黑上不了网总结: ...
  • Wireshark抓包分析交换机工作原理

    千次阅读 2020-04-15 14:38:26
    交换机工作原理 【实验目的】 1、熟悉Linux虚拟网络环境; 2、熟悉Linux中network namespace的基本操作; 3、熟悉Linux中虚拟以太网设备Tap和veth pair的基本操作; 4、熟悉Linux中Bridge设备的基本操作; 5、...
  • Wireshark抓包原理剖析

    千次阅读 2019-11-22 13:04:59
    Wireshark简介 2.1 Wireshark协议分析器原理图 2.1.1 混杂模式与监视模式区别 2.1.2 数据包过滤器 2.1.3 跟踪缓存区 2.1.4 解码功能 3. 总结 1. 网卡      网卡(NIC)是局域网(LAN,全称是:Local Area NetWork...
  • 但是使用wireshark的UI界面抓包存在一个很大的问题,就是在抓取过程中存在着连续丢包现象,针对这个问题在使用中根据wireshark抓包原理进行了好多次的测试得到了一些经验能避免丢包现象。 在使用wireshark抓包时...
  • 在网络技术学习过程中,初学者很可能对交换机、路由器的工作原理弄不清楚,老师常是让学生记住哪个划分冲突域,哪个可以划分广播域,本文通过wireshark实战抓包,从视觉直观上感受网络设备的工作原理,使大家对这些...
  • WireShark抓包

    2017-11-10 14:31:55
    抓包工具的总结 如果是http/https的抓取,推荐使用Charles;如果是socket,推荐使用Wireshark http://bbs.iosre.com/t/wiresh... 用的是RVI(Remote Virtual Interface)(iOS5以上才支持),原理是在MAC上建立虚拟...
  • 以某种游戏的客户端连接服务器、断开服务器为例,用wireshark抓包分析TCP协议的三次握手连接、四次握手断开,与计算机网络原理进行验证;用Fiddler抓包,分析验证一个HTTPS网站的TCP连接过程 2.实验过程: wireshark...
  • HTTP keep-alive要利用HTTP的keep-alive机制,需要服务器端和客户端同时支持,以下使用tomcat服务器(支持keep-alive),使用wireshark抓包测试几种客户端是否支持keep-alive使用chrome浏览器作为客户端 往浏览器地址...
  • 学习利用抓包神器Wireshark分析网络故障,了解网络协议原理,注重实战分析案例。
  • nmap的两次握手 TCP连接扫描 nmap -sS target -p port/ports 结果和sS扫描的一致,但是观察nc监听的端口,发现nc关闭 wireshark抓包进行分析,在1502端口上发现如下的包 从端口判断,nmap先发起了三次握手和1502...
  • wireshark抓包分析

    2020-10-11 22:00:38
    使用wireshark在计算机网卡上抓包,分析TCP建立连接的过程 三、实验操作方法和步骤 第一次握手: 端口号:56770 目的端口号:80 序列号:0收不长32bytes SYN1表示建立连接成功 第二次握手: 端口号:580 目的端口号...
  • 2.1 Wireshark协议分析器原理图      网络上传输的数据包通过网卡进入到网络协议分析器系统。协议分析器所使用的网卡和网卡 驱动程序必须能够支持“混杂模式操作(Promiscuous Mode Operation)”。因为只有...
  • wireshark抓包

    2014-04-07 22:55:06
    信息安全原理 作业4 抓取访问本校主页时所有的并进行分析 Linux上的wireshark不能选择interfaces,也就是不能探测到网卡 这个问题困扰了我好久,我觉得应该是权限问题,如果给root权限来跑wireshark应该是...
  • 实验一 wireshark抓包工具使用 班级 xxx 实验环境 Win10 Pro 1709(64位) 姓名 xxx 软件版本 Wireshark 3.2.4(64位) 学号 xxx 一、实验目的 学习wireshark抓包工具的使用 了解wireshark抓包工具的功能...
  • SSH原理以及wireshark抓包和相关配置

    千次阅读 2020-08-26 23:23:57
    客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器 1.4SSH连接原理wireshark抓包分析 1. 版本协商阶段 (1)服务端打开端口22.等待客户端连接 客户端向服务端发起TCP初始连接请求,TCP连接...
  • wireshark抓包和筛选

    2019-11-26 00:57:24
    一直使用charles抓包,新项目遇到flutter框架的App,发现抓包无效了,查看文档发现是因为flutter设置了请求不走系统代理,所以抓不到了,要App中修改代码才行,但是只能对修改后的测试包生效,线上包就不行了。...
  • CentOS7.5下nmap-7.91测试主机在线原理wireshark抓包验证一、ICMP方式(只选择PING方式,其他类型原理相同)二、TCP方式(只选择SYN报文测试,其他类型原理相同)2.1 端口关闭2.2 端口开放三、UDP方式(windows10...
  • 我们也明白这是使用了SSH协议进行登陆,但我们想知道的是,为什么可以使用SSH协议进行登陆,而且为什么使用SSH就是安全的,其背后的原理是什么?下面我们就一起来探讨下这几个话题。 当然啦!如果现在你手头上有相关...
  • Wireshark抓包ARP分析

    千次阅读 2019-10-07 18:31:57
    ARP原理: 检查ARP缓存 发送ARP请求 添加ARP表项 发送ARP应答 添加ARP表项 ...开始抓包 第三步:ping本网段内的任意主机 ping 10.0.105.111 自己主机的ip:10.0.105.22 第四步:过滤信息 arp || icmp 分析A...
  • Wireshark抓包体验

    2021-03-04 00:40:51
    1、嗅探器原理 嗅探技术是网络安全攻防技术中很重要的一种,通过它可以获取网络中的大量信息。与主动扫描相比,嗅探更难以被察觉,能够对网络中的活动进行实时监控。 网络嗅探器实际上就是网络中的窃听器,其用途...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 448
精华内容 179
关键字:

wireshark抓包原理