如何在Robot框架中使用Scapy库?

时间:2015-02-13 08:15:15

标签: python robotframework scapy

我正在使用Robot框架(RFW)来测试协议测试的东西。我需要向我的被测设备发送协议(BGP,OSPF,DNS,DHCPv6,STP,SIP等)流量。

我已经分析了#Ram; Rammbock Library",但我认为它不能满足我的要求。我熟悉Scapy发送协议流量。所以我打算在RFW中使用Scapy库。

我收到以下链接:

但我不知道如何在RFW中使用它。我的意思是关键字。

任何人都有关于以下问题的想法。

  1. 如何在此库中构建数据包?

  2. 如何查看数据包?

  3. 如何发送该数据包?

2 个答案:

答案 0 :(得分:1)

RF在BuiltIn中有关键字来调用对象的方法。

例如,

- scapy对象有show()或show2()方法来显示框架。

""" contents of s.py (as a library) """
from scapy.all import *
def make_ether_icmp_pkt():
    return Ether()/ICMP()


#------------ test --------------------
*** Settings ***
Library  s.py  WITH NAME  S

*** Test Cases ***
simple
  ${P}=  S.make_ether_icmp_pkt
  call method  ${P}  show
  Log  ${P.type}

答案 1 :(得分:0)

1,3:scapy本身可以做到 - 对于RF关键字,您需要将scapy模块转换为RF库,如果在远程机器中使用scapy,则需要加载为远程库。

  1. 协议解码你可以使用tshark - wireshark的命令行工具来解码.pcap文件中捕获的数据包。