网络抓包技术备忘 - Wireshark/Fiddler/Libpcap/Npcap/WinPcap/SharpPcap

本文链接:网络抓包技术备忘-俊哥V-CSDN博客

1.常用工具

浏览器自带,如谷歌浏览器的开发人员工具。
Fiddler:主要是捕获HTTP、HTTPS数据包。
Wireshark:网络协议分析工具,内置支持数百种协议。安全考虑,只能查看数据包,而不能修改包的内容或发送数据包。(开源 C)
 

2.原理

Fiddler:做为代理,让所有http/https的请求和响应都流经Fiddler。是要预先配置的。

备注: Fiddler启动时,会自动设置浏览器的代理为127.0.0.1:8888,在关闭时取消设置。

也支持反向代理的运用模式,参考:Use Fiddler as a Reverse Proxy | Fiddler Classic (telerik.com)

 
Wireshark:捕获机器上某一块网卡的网络包。使用WinPcap/npcap作为接口,获取网卡数据包。

 所以,Wireshark主要是实现的各种应用层协议的解析,以及其提供的丰富界面功能。

3.基础库
Windows平台
      WinPcap(于2013年停更)
      Npcap:是对 WinPcap 的改进,有更好的抓包性能、稳定性更好。参考:npcap vs. winpcap
Unix/Linux平台
      Libpcap

是一组函数库,为应用程序提供访问网络底层的能力。支持:
数据包捕获:捕获流经网卡的原始数据包
数据包发送:将原始数据包发送到网络
规则过滤:提供规则过滤功能,能根据用户指定的规则筛选数据包
流量采集与统计

.net core 开源项目(C#)

    SharpPcap:网络数据包捕获类库 跨平台

    Packet.Net:解析/构造网络数据包的类库,协议支持:ethernet, ipv4/ipv6, tcp, udp

4.知识 - OSI七层模型

Open System Interconnect Reference Model, 开放式系统互联通信参考模型

  • 概念模型,由国际标准化组织于20世纪80年代初提出
  • 不同厂家的网络产品,遵循OSI标准,只要物理上连接起来,它们之间都可以互相通信


(上图左侧是借图,出处找不到了 - -;)

简单理解就是:

备注:

1、关于几个层的简要理解

物理层 - 将数据最终编码为用0、1标识的比特流,然后传输(通过光纤、铜缆等)
局域网 – 用网卡MAC地址标识接入的设备,依靠广播方式寻址。混杂模式
跨网络 – IP寻址,路由器 - 根据IP地址转发数据包,从一个网络转发到另一个网络。
传输层 – 定义传输数据的协议端口号,以及流控和差错校验。分段:按照网络能处理的最大尺寸将数据强制分割。

2、传输层协议(如:tcp)职责是传输数据 ;而应用层协议(如:http,tns)是根据应用程序的需要定制的格式,以满足逻辑处理和数据处理的需要。

 本文链接:网络抓包技术备忘-俊哥V-CSDN博客

posted @ 2022-05-07 14:25  俊哥V  阅读(560)  评论(0编辑  收藏  举报