超好用的网络抓包框架(Windivert)之二(语言)
来源:互联网 发布:知乎营销案例 编辑:程序博客网 时间:2024/06/07 18:03
1.1基本api
WinDivertOpen //1.开启
WinDivertHelperCheckFilter //2.检测过滤条件是否按照规格
WinDivertRecv //3.接收原包
WinDivertHelperParsePacket //4.解析原包信息
WinDivertHelperCalcChecksums //5.改变校验值
//6.地址高变或者低变
WinDivertSend //7.发送原包
1.2过滤语言
WinDivertOpen () 函数接受包含筛选表达式的字符串。只有与筛选器表达式匹配的数据包才会被转移。任何其他数据包都可以按正常状态继续。筛选器允许应用程序仅选择感兴趣的通信的子集。
例如, url 黑名单筛选器只对包含 url 的数据包感兴趣。这可以通过以下过滤器来实现。
HANDLE handle = WinDivertOpen(
“outbound and ” //发出去的数据包
“tcp.PayloadLength > 0 and ” //非空有效负载
“tcp.DstPort == 80”, //tcp目标端口为80
0, 0, 0);
标准过滤器样式:
FILTER := true | false | FILTER and FILTER | FILTER or FILTER | (FILTER) | TEST
表3-1 关系表达符号表
Operator Description
== or = Equal
!= Not equal
< Less-than
Greater-than
<= Less-than-or-equal
= Greater-than-or-equal
表3-2 过滤参数名称表
Field Description
outbound Is outbound?
inbound Is inbound?
ifIdx Interface index
subIfIdx Sub-interface index
ip Is IPv4?
ipv6 Is IPv6?
icmp Is ICMP?
icmpv6 Is ICMPv6?
tcp Is TCP?
udp Is UDP?
ip.* IPv4 fields (see WINDIVERT_IPHDR)
ipv6.* IPv6 fields (see WINDIVERT_IPV6HDR)
icmp.* ICMP fields (see WINDIVERT_ICMPHDR)
icmpv6.* ICMPV6 fields (see WINDIVERT_ICMPV6HDR)
tcp.* TCP fields (see WINDIVERT_TCPHDR)
tcp.PayloadLength The TCP payload length
udp.* UDP fields (see WINDIVERT_UDPHDR)
udp.PayloadLength The UDP payload length
- 超好用的网络抓包框架(Windivert)之二(语言)
- 超好用的网络抓包框架(Windivert)之四(实例二)
- 超好用的网络抓包框架(Windivert)之三(实例一)
- 超好用的网络抓包框架(Windivert)之一(介绍)
- java网络爬虫学习记录(二)抓包分析
- 网络抓包之WinPcap
- 记一次失败的抓包实验(burp\fiddler4+proxifier抓应用程序的网络报文)
- 接口测试二(App抓包)
- WireShark抓包过滤(二层)
- 小巧的网络抓包
- 小巧玲珑的网络抓包
- Linux网络管理之网络抓包
- 网络基本功(二十三):Wireshark抓包实例诊断TCP连接问题
- 网络基本功(二十三):Wireshark抓包实例诊断TCP连接问题
- 网络基本功(二十三):Wireshark抓包实例诊断TCP连接问题
- 网络基本功(二十七):Wireshark抓包实例分析HTTP问题(上)
- 网络基本功(二十三):Wireshark抓包实例诊断TCP连接问题
- 网络基本功(二十四):Wireshark抓包实例分析TCP重传
- [转]STL 之set不允许元素重复,且从小到大排列
- 2017多校联合训练第3场第5题
- 利用tensorflow一步一步实现基于MNIST 数据集进行手写数字识别的神经网络,逻辑回归
- linkedList特有的方法
- 最大流dinic算法的优化模板 当前弧优化,多路增广
- 超好用的网络抓包框架(Windivert)之二(语言)
- Tensorflow学习笔记(3)-mnist(softmax regression)
- 浅谈Tomcat源码中Bootstrap类的四个方法
- 2017年8月1日训练日记
- Java实现大数的阶乘(数组存放数据)
- C++语言知识点汇总
- Java学习::标识符、运算符
- Swordfish (最小生成树——克鲁斯卡尔方法)
- Heavy Transportation POJ