Superflow 数据流配置
一个superflow 包含三个元素:hosts、flows、actions。
DNS 域名解析协议
Hosts
以默认dns superflow为例,点击superflow的配置页面的manage hosts,该superflow的hosts共包含两个:server和client(后面两个为我手动添加,请忽略)
如上图所示,一个host 包含三个元素:name、Interface、Nickname. Name 为该host的名称,可以起任意字符。Interface只能选择server和client两个中的一个,代表客户端或者服务器端。Nickname可以填任意字符,为该host的昵称,并且支持Token Substitution(类似于正则表达式)。如上图的%n代表a unique number for each instance of the host。当使用此Nickname时,DUT上抓的包如下图(只看X转出方向),可以看到域名在不断的变化(server-XXXXXXX)。另外n代表server端的总地址个数,当server端所对应的neiborhood配置了多少个ip,此处就会相应的产生多少个域名。
Server端Nickname为server%n
Flows
Dns的flows如下图所示:
其中Sourece port 为源端口,0带表随机,也可以指定为唯一端口,Destination port 为目的端口当前填写的53(dns报文的标准端口)。也可填写其他端口如5353。
Source ip address 可指定,指定时只使用该ip进行客户端的发包。
Server port range 代表所使用的端口范围,勾选该字段后不再是单一的端口。
下图为目的端口为非标准端口时的数据包,由于server端设置了两个地址,对应的域名为两个。
Actions
在superflow 界面点击Add action,add action 界面如下(只有当添加的flow后,才可进行aciton的有效添加):
Dns报文的actions包含两个,query和response,请忽略后面的get和response200。
展开后如下:
其中query和response 的Host字段 均为hosts部分所配置的server的host的名称。
其中response 的user specified ip 字段可以指定dns 域名解析的地址。用此方式可以进行设备上的dns doctoring模块的性能和稳定性测试。Number of Answer字段,表示返回的a记录的个数,但bps 返回的域名解析的地址均为相同地址。