Exemplo n.º 1
0
class PCAPImporterController(AbstractFileImporterController):
    """Controller of PCAP importer plugin"""

    COLUMN_ID = 0
    COLUMN_SELECTED = 1

    def __init__(self, netzob, plugin):
        view = PCAPImporterView(plugin, self)
        super(PCAPImporterController, self).__init__(netzob, plugin, view)
        self.model = PCAPImporter(netzob)

    def getImportLayer(self):
        return self.model.importLayer

    def setImportLayer(self, importLayer):
        self.model.setImportLayer(importLayer)

    importLayer = property(getImportLayer, setImportLayer)

    def doSetSourceFiles(self, filePathList):
        self.model.setSourceFiles(filePathList)

    def doReadMessages(self):
        # Read PCAP file using PCAPImporter
        try:
            self.model.setBPFFilter(self.view.filterEntry.get_text().strip())
            self.model.readMessages()
        except NetzobImportException, importEx:
            if importEx.statusCode == WARNING:
                self.view.showWarning(importEx.message)
            else:
                NetzobErrorMessage(importEx.message)

        # Display all read messages
        if self.importLayer == 1:
            for message in self.model.messages:
                self.view.listListStore.append([str(message.getID()), False,
                                                message.getStringData()])
        elif self.importLayer == 2:
            for message in self.model.messages:
                self.view.listListStore.append([str(message.getID()), False,
                                                str(message.getL2SourceAddress()),
                                                str(message.getL2DestinationAddress()),
                                                message.getStringData()])
        elif self.importLayer == 3:
            for message in self.model.messages:
                self.view.listListStore.append([str(message.getID()), False,
                                                str(message.getL3SourceAddress()),
                                                str(message.getL3DestinationAddress()),
                                                message.getStringData()])
        else:
            for message in self.model.messages:
                self.view.listListStore.append([str(message.getID()), False,
                                                str(message.getL3SourceAddress()), str(message.getL3DestinationAddress()),
                                                str(message.getL4Protocol()), str(message.getL4SourcePort()), str(message.getL4DestinationPort()),
                                                message.getStringData()])
Exemplo n.º 2
0
 def __init__(self, netzob, plugin):
     view = PCAPImporterView(plugin, self)
     super(PCAPImporterController, self).__init__(netzob, plugin, view)
     self.model = PCAPImporter(netzob)
Exemplo n.º 3
0
class PCAPImporterController(AbstractFileImporterController):
    """Controller of PCAP importer plugin"""

    COLUMN_ID = 0
    COLUMN_SELECTED = 1

    def __init__(self, netzob, plugin):
        view = PCAPImporterView(plugin, self)
        super(PCAPImporterController, self).__init__(netzob, plugin, view)
        self.model = PCAPImporter(netzob)

    def getImportLayer(self):
        return self.model.importLayer

    def setImportLayer(self, importLayer):
        self.model.setImportLayer(importLayer)

    importLayer = property(getImportLayer, setImportLayer)

    def doSetSourceFiles(self, filePathList):
        self.model.setSourceFiles(filePathList)

    def doReadMessages(self):
        # Read PCAP file using PCAPImporter
        try:
            self.model.setBPFFilter(self.view.filterEntry.get_text().strip())
            self.model.readMessages()
        except NetzobImportException, importEx:
            if importEx.statusCode == WARNING:
                self.view.showWarning(importEx.message)
            else:
                NetzobErrorMessage(importEx.message)

        # Display all read messages
        if self.importLayer == 1:
            for message in self.model.messages:
                self.view.listListStore.append(
                    [str(message.getID()), False,
                     message.getStringData()])
        elif self.importLayer == 2:
            for message in self.model.messages:
                self.view.listListStore.append([
                    str(message.getID()), False,
                    str(message.getL2SourceAddress()),
                    str(message.getL2DestinationAddress()),
                    message.getStringData()
                ])
        elif self.importLayer == 3:
            for message in self.model.messages:
                self.view.listListStore.append([
                    str(message.getID()), False,
                    str(message.getL3SourceAddress()),
                    str(message.getL3DestinationAddress()),
                    message.getStringData()
                ])
        else:
            for message in self.model.messages:
                self.view.listListStore.append([
                    str(message.getID()), False,
                    str(message.getL3SourceAddress()),
                    str(message.getL3DestinationAddress()),
                    str(message.getL4Protocol()),
                    str(message.getL4SourcePort()),
                    str(message.getL4DestinationPort()),
                    message.getStringData()
                ])
Exemplo n.º 4
0
 def __init__(self, netzob, plugin):
     view = PCAPImporterView(plugin, self)
     super(PCAPImporterController, self).__init__(netzob, plugin, view)
     self.model = PCAPImporter(netzob)