示例#1
0
        public static void Test_AnalyzeTcpStreamTest_ReadPcap_01(string file)
        {
            Trace.WriteLine("Test_AnalyzeTcpStreamTest_ReadPcap_01");
            Trace.WriteLine("pcap file \"{0}\"", file);
            Pib.Pcap.Test.AnalyzeTcpStreamTest tcpAnalyze = new Pib.Pcap.Test.AnalyzeTcpStreamTest();
            using (PcapFileReader pcapFileReader = new PcapFileReader(GetPath(file)))
            {
                PPacketManager ppacketManager = new PPacketManager();
                foreach (PcapPacket packet in pcapFileReader)
                {
                    Packet packet2 = new Packet(packet.Data, packet.Timestamp, DataLinkKind.Ethernet);
                    tcpAnalyze.Add(ppacketManager.CreatePPacket(packet2));
                }
            }

            Trace.WriteLine("{0} packet captured", tcpAnalyze.Packets.Count);
            //var q = from p in gPacketList where p.TCPHeader != null orderby p.gGroupNumber, p.PacketNumber select p;
            var q = from p in tcpAnalyze.Packets where p.PPacket.Tcp != null orderby p.StreamNumber, p.PPacket.PacketNumber select p;

            Trace.WriteLine("{0} packet selectionned", q.Count());
            foreach (Pib.Pcap.Test.TcpStreamPacket p in q)
            {
                PrintStreamPacket(p);
            }
        }
示例#2
0
        public static void Test_PrintPacketsDetail_01(string deviceName = null)
        {
            _tr.WriteLine("Test_PrintPacketsDetail_01");

            PacketDevice device = SelectDevice(deviceName);

            if (device == null)
            {
                return;
            }

            __communicator = null;
            //_rs.OnAbortExecution += new OnAbortEvent(OnAbortExecution);
            _rs.OnAbortExecution = OnAbortExecution;
            try
            {
                using (__communicator = device.Open(65536, PacketDeviceOpenAttributes.Promiscuous, 1000))
                {
                    _tr.WriteLine("Listening on " + device.Description + "...");

                    PPacketManager ppacketManager = new PPacketManager();
                    //PrintPacketDetail print = new PrintPacketDetail();
                    //__communicator.ReceivePackets(5, packet => PrintPacketDetailHandlerOld(ppacketManager.CreatePPacket(packet)));
                    __communicator.ReceivePackets(5, packet => PrintPacketDetail.PrintPacketDetailHandler(ppacketManager.CreatePPacket(packet)));
                }
            }
            finally
            {
                //_rs.OnAbortExecution -= new OnAbortEvent(OnAbortExecution);
            }
        }
示例#3
0
 public static void Test_ReadPcap_02(string file, bool detail = false)
 {
     Trace.WriteLine("read file \"{0}\"", file);
     using (PcapFileReader pcapFileReader = new PcapFileReader(GetPath(file)))
     {
         PPacketManager ppacketManager = new PPacketManager();
         foreach (PcapPacket packet in pcapFileReader)
         {
             Packet packet2 = new Packet(packet.Data, packet.Timestamp, DataLinkKind.Ethernet);
             //Trace.WriteLine("packet no {0}", packet.Index);
             //PrintPacketHandler2(ppacketManager.CreatePPacket(packet2), detail);
             PrintPacket.PrintPacket1(ppacketManager.CreatePPacket(packet2), detail);
         }
     }
 }
示例#4
0
        public static void Test_PrintPackets_01(string deviceName = null, bool detail = false)
        {
            _tr.WriteLine("Test_PrintPackets_01");

            //string dumpFile = @"dump\dump.pcap";
            //string dumpFile = @"dump\dump.pcapng";
            //dumpFile = GetPath(dumpFile);
            PacketDevice device = SelectDevice(deviceName);

            if (device == null)
            {
                return;
            }

            __communicator = null;
            //_rs.OnAbortExecution += new OnAbortEvent(OnAbortExecution);
            _rs.OnAbortExecution = OnAbortExecution;
            try
            {
                using (__communicator = device.Open(65536, PacketDeviceOpenAttributes.Promiscuous, 1000))
                {
                    //using (BerkeleyPacketFilter filter = __communicator.CreateFilter("ip and udp"))
                    //{
                    //    __communicator.SetFilter(filter);
                    //}

                    _tr.WriteLine("Listening on " + device.Description + "...");

                    //__communicator.ReceivePackets(0, PrintPacketHandler1);
                    //__communicator.zReceivePackets(0, PrintPacketHandler2);

                    PPacketManager ppacketManager = new PPacketManager();
                    PrintPacketHandler2Header();
                    //__communicator.ReceivePackets(0, packet => PrintPacketHandler2(ppacketManager.CreatePPacket(packet), detail));
                    __communicator.ReceivePackets(0, packet => PrintPacket.PrintPacket1(ppacketManager.CreatePPacket(packet), detail));
                }
            }
            //catch (Exception ex)
            //{
            //    _tr.WriteLine(ex.Message);
            //}
            finally
            {
                //_rs.OnAbortExecution -= new OnAbortEvent(OnAbortExecution);
            }
        }
示例#5
0
        public static void Analyze(PacketDevice device)
        {
            AnalyzeTcpStreamTest tcpAnalyze = new AnalyzeTcpStreamTest();

            //__communicator = null;
            //_rs.OnAbortExecution += new OnAbortEvent(OnAbortExecution);
            try
            {
                using (PacketCommunicator communicator = device.Open(65536, PacketDeviceOpenAttributes.Promiscuous, 1000))
                {
                    PPacketManager ppacketManager = new PPacketManager();
                    communicator.ReceivePackets(0, packet => tcpAnalyze.Add(ppacketManager.CreatePPacket(packet)));
                }
            }
            finally
            {
                //_rs.OnAbortExecution -= new OnAbortEvent(OnAbortExecution);
            }
        }
示例#6
0
        public static void Analyze(PacketDevice device)
        {
            AnalyzeTcpStreamTest tcpAnalyze = new AnalyzeTcpStreamTest();

            //__communicator = null;
            //_rs.OnAbortExecution += new OnAbortEvent(OnAbortExecution);
            try
            {
                using (PacketCommunicator communicator = device.Open(65536, PacketDeviceOpenAttributes.Promiscuous, 1000))
                {
                    PPacketManager ppacketManager = new PPacketManager();
                    communicator.ReceivePackets(0, packet => tcpAnalyze.Add(ppacketManager.CreatePPacket(packet)));
                }
            }
            finally
            {
                //_rs.OnAbortExecution -= new OnAbortEvent(OnAbortExecution);
            }
        }
示例#7
0
 public static void Test_ReadPcap_PrintPacketsDetail_01(string file)
 {
     Trace.WriteLine("read file \"{0}\"", file);
     using (PcapFileReader pcapFileReader = new PcapFileReader(GetPath(file)))
     {
         PPacketManager ppacketManager = new PPacketManager();
         int            i = 0;
         foreach (PcapPacket packet in pcapFileReader)
         {
             Packet       packet2 = new Packet(packet.Data, packet.Timestamp, DataLinkKind.Ethernet);
             IpV4Datagram ip      = packet2.Ethernet.IpV4;
             if (ip.Tcp == null || ip.Tcp.Http.Version == null)
             {
                 continue;
             }
             if (++i > 5)
             {
                 break;
             }
             PrintPacketDetail.PrintPacketDetailHandler(ppacketManager.CreatePPacket(packet2));
         }
     }
 }