Exemplo n.º 1
0
        public void TestGetNextPacket()
        {
            var device = new WinDivertDevice
            {
                Filter = "!loopback and tcp"
            };

            device.Open();
            var capture = device.GetNextPacket();

            device.Close();
            AssertTcp(capture);
        }
Exemplo n.º 2
0
        public void SetGetParam()
        {
            using var device = new WinDivertDevice();
            device.Open();

            var originalValue = device.GetParam(WinDivertParam.QueueLen);
            var targetValue   = originalValue + 1000;

            device.SetParam(WinDivertParam.QueueLen, targetValue);
            var actualValue = device.GetParam(WinDivertParam.QueueLen);

            Assert.AreEqual(targetValue, actualValue);
        }
Exemplo n.º 3
0
        public void TestCapture()
        {
            using var device = new WinDivertDevice
                  {
                      Filter = "!loopback and tcp"
                  };
            device.Open();
            var received = new List <RawCapture>();

            device.OnPacketArrival += (s, e) =>
            {
                received.Add(e.GetPacket());
            };
            device.StartCapture();
            WebFetch();
            Thread.Sleep(250);
            device.StopCapture();
            Assert.That(received, Has.Count.AtLeast(2));
            foreach (var capture in received)
            {
                AssertTcp(capture);
            }
        }