searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

基于dpdk的抓包工具

2023-10-08 01:35:39
138
0

1、dump工具介绍

Dpdk提供了一套抓取端口数据报文的方法,example名为pdump。本文介绍的抓包工具就是根据此example进行改造,提供一系列的抓包参数,以适配云内场景下的抓包需求。

如根据此抓包工具提供的参数可完成对相应报文的抓取。

抓包工具主要分为两个部分,client端和server端;server端主要负责业务流量处理,抓包流量过滤。Client端主要负责命令行参数解析和数据传送。Server端属于primary进程,client端属于secondary进程。Server端的流量过滤功能通过编写相应的bpf实现。

 

关键流程(图片源于csdn)

 

抓包工具client端主要功能介绍:

1 命令行参数解析:

可配置的过滤参数如underlay和overlay sip、dip、ip pair、sport、dport等,其它需求可自行扩展参数解析后通过通信接口传递server端,由server端进行报文过滤。

2 报文存储:

Server端把过滤后的报文传递到client端,client端根据相关配置生成pcap文件。

 

抓包工具Server端主要功能介绍:

1 bpf过滤配置加载:

  把编写好的bpf文件加载到程序中,执行真正的过滤动作。过滤条件由client端配置

2 报文过滤:

  把报文按照bpf文件中编写的规则进行解析,并按照过滤条件进行匹配过滤。

3 报文复制传递:

  命中过滤条件的报文通过复制接口进行复制,并把复制后的报文通过ring队列传递到client端。

 

2、dump工具使用方法

 具体参数:
--ethtype <ETH>   :以太网协议类型 L2  
--protol <PROTOCOL> :按协议类型过滤 L3  
--inner-ip      :过滤内层IP,无此参数则过滤外层
--ip-pair <sip-dip> :过滤源IP为sip且目的IP为dip的数据
--ip <ip>      :过滤源IP为ip或目的IP为ip的数据
--sip <sip>     :过滤源IP
--dip <sip>     :过滤目的IP
--ip6-pair <sip-dip> :过滤源IP为ip且目的IP为ip的数据
--ip6 <sip|dip>   :过滤源IP为sip或目的IP为dip的数据
--sip6 <ip>     :过滤源IP
--dip6 <ip>     :过滤目的IP
--inner-port     :过滤内层PORT,无此参数则过滤外层
--port-pair <sport-dport>:过滤源PORT为sport且目的PORT为dport的数据
--port <port>    :过滤源PORT为sport或目的PORT为dport的数据
--sport <sport>   :过滤SPORT
--dport <dport>   :过滤DPORT
--pktlen <min-max>  :过滤特定包长
--pktcnt <COUNT>   :过滤数据条数
--size <SIZE>    :单个pcap data部分大小,除第一个包外每个pcap会自动带当前时间。

 

例:

1 指定抓以太网协议为0800的包  
 pdump -p 0 -w dump.pcap --ethtype 0x0800

2 指定抓l3层协议号为 0x11(udp)
 pdump -p 0 -w dump.pcap --protol 0x11

0条评论
作者已关闭评论
z****m
3文章数
0粉丝数
z****m
3 文章 | 0 粉丝
z****m
3文章数
0粉丝数
z****m
3 文章 | 0 粉丝
原创

基于dpdk的抓包工具

2023-10-08 01:35:39
138
0

1、dump工具介绍

Dpdk提供了一套抓取端口数据报文的方法,example名为pdump。本文介绍的抓包工具就是根据此example进行改造,提供一系列的抓包参数,以适配云内场景下的抓包需求。

如根据此抓包工具提供的参数可完成对相应报文的抓取。

抓包工具主要分为两个部分,client端和server端;server端主要负责业务流量处理,抓包流量过滤。Client端主要负责命令行参数解析和数据传送。Server端属于primary进程,client端属于secondary进程。Server端的流量过滤功能通过编写相应的bpf实现。

 

关键流程(图片源于csdn)

 

抓包工具client端主要功能介绍:

1 命令行参数解析:

可配置的过滤参数如underlay和overlay sip、dip、ip pair、sport、dport等,其它需求可自行扩展参数解析后通过通信接口传递server端,由server端进行报文过滤。

2 报文存储:

Server端把过滤后的报文传递到client端,client端根据相关配置生成pcap文件。

 

抓包工具Server端主要功能介绍:

1 bpf过滤配置加载:

  把编写好的bpf文件加载到程序中,执行真正的过滤动作。过滤条件由client端配置

2 报文过滤:

  把报文按照bpf文件中编写的规则进行解析,并按照过滤条件进行匹配过滤。

3 报文复制传递:

  命中过滤条件的报文通过复制接口进行复制,并把复制后的报文通过ring队列传递到client端。

 

2、dump工具使用方法

 具体参数:
--ethtype <ETH>   :以太网协议类型 L2  
--protol <PROTOCOL> :按协议类型过滤 L3  
--inner-ip      :过滤内层IP,无此参数则过滤外层
--ip-pair <sip-dip> :过滤源IP为sip且目的IP为dip的数据
--ip <ip>      :过滤源IP为ip或目的IP为ip的数据
--sip <sip>     :过滤源IP
--dip <sip>     :过滤目的IP
--ip6-pair <sip-dip> :过滤源IP为ip且目的IP为ip的数据
--ip6 <sip|dip>   :过滤源IP为sip或目的IP为dip的数据
--sip6 <ip>     :过滤源IP
--dip6 <ip>     :过滤目的IP
--inner-port     :过滤内层PORT,无此参数则过滤外层
--port-pair <sport-dport>:过滤源PORT为sport且目的PORT为dport的数据
--port <port>    :过滤源PORT为sport或目的PORT为dport的数据
--sport <sport>   :过滤SPORT
--dport <dport>   :过滤DPORT
--pktlen <min-max>  :过滤特定包长
--pktcnt <COUNT>   :过滤数据条数
--size <SIZE>    :单个pcap data部分大小,除第一个包外每个pcap会自动带当前时间。

 

例:

1 指定抓以太网协议为0800的包  
 pdump -p 0 -w dump.pcap --ethtype 0x0800

2 指定抓l3层协议号为 0x11(udp)
 pdump -p 0 -w dump.pcap --protol 0x11

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0