Exemplo n.º 1
0
 public void Test_DbAntennaNoiseRadioTapField ()
 {
     DbAntennaNoiseRadioTapField field = new DbAntennaNoiseRadioTapField(0xAB);
     
     var bytes = new byte[field.Length];
     field.CopyTo(bytes, 0);
     
     DbAntennaNoiseRadioTapField recreatedField = new DbAntennaNoiseRadioTapField(new BinaryReader (new MemoryStream(bytes)));
     
     Assert.AreEqual(field.AntennaNoisedB, recreatedField.AntennaNoisedB);
 }
Exemplo n.º 2
0
        public void Test_DbAntennaNoiseRadioTapField()
        {
            DbAntennaNoiseRadioTapField field = new DbAntennaNoiseRadioTapField(0xAB);

            var bytes = new Byte[field.Length];

            field.CopyTo(bytes, 0);

            DbAntennaNoiseRadioTapField recreatedField = new DbAntennaNoiseRadioTapField(new BinaryReader(new MemoryStream(bytes)));

            Assert.AreEqual(field.AntennaNoisedB, recreatedField.AntennaNoisedB);
        }
Exemplo n.º 3
0
        public void ConstructFrameWithSinglePresenceField()
        {
            var p = new RadioPacket();

            var expectedLength = 8;

            Assert.AreEqual(expectedLength, p.Length);

            var flagsField = new FlagsRadioTapField();

            flagsField.Flags |= RadioTapFlags.FcsIncludedInFrame;
            flagsField.Flags |= RadioTapFlags.WepEncrypted;
            p.Add(flagsField);

            expectedLength += flagsField.Length;
            Assert.AreEqual(expectedLength, p.Length);

            //We will add the noise field before the signal field. This is not the order required
            //for radiotap and so will test that the fields are correctly reordered when written
            var dbAntennaNoiseField = new DbAntennaNoiseRadioTapField {
                AntennaNoisedB = 33
            };

            p.Add(dbAntennaNoiseField);

            expectedLength += dbAntennaNoiseField.Length;
            Assert.AreEqual(expectedLength, p.Length);

            var dbAntennaSignalField = new DbAntennaSignalRadioTapField {
                SignalStrengthdB = 44
            };

            p.Add(dbAntennaSignalField);

            expectedLength += dbAntennaSignalField.Length;
            Assert.AreEqual(expectedLength, p.Length);

            //we will just put a single byte of data because we dont want it to be parsed into
            //an 802.11 frame in this test
            p.PayloadData = new byte[] { 0xFF };

            var frameBytes = p.Bytes;

            var recreatedFrame = Packet.ParsePacket(LinkLayers.Ieee80211Radio, frameBytes) as RadioPacket;

            Assert.IsNotNull(p[RadioTapType.Flags]);
            Assert.IsNotNull(p[RadioTapType.DbAntennaSignal]);
            Assert.IsNotNull(p[RadioTapType.DbAntennaNoise]);
            Assert.AreEqual(new byte[] { 0xFF }, recreatedFrame.PayloadData);
        }