Exemplo n.º 1
0
    def __init__(self, sock, msg):
        """Initialize

        @param sock reference to socket
        @param msg message
        """
        ofcomm.message.__init__(self, sock, msg)

        ##Packet in header
        self.pktin = None
        ##Packet included parsed by dpkt
        self.dpkt = None
        ##Binary packet
        self.pkt = None
        ##Exact match for match
        self.match = None

        if (self.header.type == pyof.OFPT_PACKET_IN):
            self.pktin = pyof.ofp_packet_in()
            self.pkt = self.pktin.unpack(msg)
            output.vdbg("Packet in\n"+self.pktin.show("\t"),
                        self.__class__.__name__)
            (self.match, self.dpkt) = ofutil.get_ofp_match(self.pktin.in_port, 
                                                           self.pkt)
            output.vdbg("Packet has match\n"+self.match.show("\t"),
                        self.__class__.__name__)
            output.vdbg(str(`self.dpkt`),
                        self.__class__.__name__)
Exemplo n.º 2
0
    opts, args = getopt.getopt(sys.argv[1:], "h",
                               ["help"])
except getopt.GetoptError:
    print "Option error!"
    usage()
    sys.exit(2)

#Parse options
for opt,arg in opts:
    if (opt in ("-h","--help")):
        usage()
        sys.exit(0)
    else:
        print "Unhandled option :"+opt
        sys.exit(2)

if (len(args) < 1):
    print "Missing filename"
    usage()
    sys.exit(2)

output.set_mode("DBG")
pc = pcap.pcap(args[0])
for ts,pkt in pc:
    dpktpkt = dpkt.ethernet.Ethernet(pkt)
    output.dbg(str(`dpktpkt`))
    ofdata = dpktpkt["data"]["data"]["data"]
    (ofm, dpktp) = ofutil.get_ofp_match(0, ofdata[18:])
    output.dbg(str(`dpktp`))
    output.dbg("OFP MATCH\n"+ofm.show())