本文链接:
网络抓包技术备忘-俊哥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博客