private static void device_PcapOnPacketArrival(Packet packet) { //if (!(packet is TCPPacket)) return; //if (packet.IpV4 == null || packet.IpV4.Tcp == null) if (packet.Ethernet == null || packet.Ethernet.IpV4 == null || packet.Ethernet.IpV4.Tcp == null) { return; } //TCPPacket tcpPacket = (TCPPacket)packet; //TcpDatagram tcp = packet.Ethernet.IpV4.Tcp; // Creates a key for the dictionary //Connection c = new Connection(tcpPacket); Connection c = new Connection(packet); // create a new entry if the key does not exists if (!sharpPcapDict.ContainsKey(c)) { string fileName = c.getFileName(_path); TcpRecon tcpRecon = new TcpRecon(fileName); sharpPcapDict.Add(c, tcpRecon); } // Use the TcpRecon class to reconstruct the session //sharpPcapDict[c].ReassemblePacket(tcpPacket); sharpPcapDict[c].ReassemblePacket(packet); }
private static void device_PcapOnPacketArrival(Packet packet) { //if (!(packet is TCPPacket)) return; //if (packet.IpV4 == null || packet.IpV4.Tcp == null) if (packet.Ethernet == null || packet.Ethernet.IpV4 == null || packet.Ethernet.IpV4.Tcp == null) return; //TCPPacket tcpPacket = (TCPPacket)packet; //TcpDatagram tcp = packet.Ethernet.IpV4.Tcp; // Creates a key for the dictionary //Connection c = new Connection(tcpPacket); Connection c = new Connection(packet); // create a new entry if the key does not exists if (!sharpPcapDict.ContainsKey(c)) { string fileName = c.getFileName(_path); TcpRecon tcpRecon = new TcpRecon(fileName); sharpPcapDict.Add(c, tcpRecon); } // Use the TcpRecon class to reconstruct the session //sharpPcapDict[c].ReassemblePacket(tcpPacket); sharpPcapDict[c].ReassemblePacket(packet); }