Ejemplo n.º 1
0
        public void AddUnknownField()
        {
            var dev = new CaptureFileReaderDevice(NUnitSetupClass.CaptureDirectory + "80211_ppi_multiplefields.pcap");

            dev.Open();
            var rawCapture = dev.GetNextPacket();

            dev.Close();

            var p = Packet.ParsePacket(rawCapture.LinkLayerType, rawCapture.Data) as PpiPacket;

            var unknownField = new PpiUnknown(99, new byte[] { 0xAA, 0xBB, 0xCC, 0xDD });

            p.Add(unknownField);

            var recreatedPacket = Packet.ParsePacket(LinkLayers.Ppi, p.Bytes) as PpiPacket;

            Assert.IsTrue(recreatedPacket.Contains(PpiFieldType.PpiCommon));
            Assert.IsTrue(recreatedPacket.Contains(PpiFieldType.PpiMacPhy));
            Assert.IsTrue(recreatedPacket.Contains((PpiFieldType)99));
            var recreatedUnknownField = recreatedPacket.FindFirstByType((PpiFieldType)99) as PpiUnknown;

            Assert.AreEqual(new byte[] { 0xAA, 0xBB, 0xCC, 0xDD }, recreatedUnknownField.UnknownBytes);

            var macFrame = recreatedPacket.PayloadPacket as MacFrame;

            Assert.IsNotNull(macFrame);
            Assert.IsTrue(macFrame.FcsValid);
        }
            public void Test_PpiUnknown_Construction()
            {
                PpiUnknown field = new PpiUnknown(0xAA, new byte[] { 0x1, 0x2, 0x3, 0x4 });

                var        ms             = new MemoryStream(field.Bytes);
                PpiUnknown recreatedField = new PpiUnknown(0xAA, new BinaryReader(ms), 4);

                Assert.AreEqual(0xAA, (int)recreatedField.FieldType);
                Assert.AreEqual(new byte[] { 0x1, 0x2, 0x3, 0x4 }, recreatedField.Bytes);
            }
Ejemplo n.º 3
0
 public void Test_PpiUnknown_Construction()
 {
     PpiUnknown field = new PpiUnknown(0xAA, new byte[]{0x1, 0x2, 0x3, 0x4});
     
     var ms = new MemoryStream(field.Bytes);
     PpiUnknown recreatedField = new PpiUnknown(0xAA, new BinaryReader(ms), 4);
     
     Assert.AreEqual(0xAA, (int)recreatedField.FieldType);
     Assert.AreEqual(new byte[]{0x1, 0x2, 0x3, 0x4}, recreatedField.Bytes);
 }
            public void AddUnknownField()
            {
                var dev = new CaptureFileReaderDevice ("../../CaptureFiles/80211_ppi_multiplefields.pcap");
                dev.Open ();
                var rawCapture = dev.GetNextPacket ();
                dev.Close ();
                
                PpiPacket p = Packet.ParsePacket (rawCapture.LinkLayerType, rawCapture.Data) as PpiPacket;
                
                PpiUnknown unknownField = new PpiUnknown(99, new byte[]{0xAA, 0xBB, 0xCC, 0xDD});
                p.Add(unknownField);

                PpiPacket recreatedPacket = Packet.ParsePacket(LinkLayers.PerPacketInformation, p.Bytes) as PpiPacket;
                
                Assert.IsTrue(recreatedPacket.Contains(PpiFieldType.PpiCommon));
                Assert.IsTrue(recreatedPacket.Contains(PpiFieldType.PpiMacPhy));
                Assert.IsTrue(recreatedPacket.Contains((PpiFieldType)99));
                PpiUnknown recreatedUnknownField = recreatedPacket.FindFirstByType((PpiFieldType)99) as PpiUnknown;
                Assert.AreEqual(new byte[]{0xAA, 0xBB, 0xCC, 0xDD}, recreatedUnknownField.UnknownBytes);
                
                MacFrame macFrame = recreatedPacket.PayloadPacket as MacFrame;
                Assert.IsNotNull(macFrame);
                Assert.IsTrue(macFrame.FCSValid);
            }