示例#1
0
        public void ClassImplementingICollectionClearWorks()
        {
            var c = new ReassemblingCollection(new[] { this._frame1, this._frame2 });

            c.Clear();
            Assert.Empty(c);
        }
示例#2
0
        public void ClassImplementingICollectionContainsWorks()
        {
            var c = new ReassemblingCollection(new[] { this._frame1, this._frame2 });

            Assert.Contains(this._frame1, c);
            Assert.DoesNotContain(this._frame3, c);
        }
示例#3
0
        public void TcpRetransmission()
        {
            var c = new ReassemblingCollection();

            this.AddFramesFromPcap(c, TestPcapFile.IsaHttpRetransmission, IPAddress.Parse("147.229.176.17"));
            Assert.Equal(6, c.Count);
        }
示例#4
0
        public void TcpOutOfOrder()
        {
            var c = new ReassemblingCollection();

            this.AddFramesFromPcap(c, TestPcapFile.TcpOutOfOrder, IPAddress.Parse("54.77.170.180"));
            Assert.Equal(17, c.Count);
        }
示例#5
0
        public void TcpKeepAliveTest2()
        {
            var c = new ReassemblingCollection();

            this.AddFramesFromPcap(c, TestPcapFile.TcpKeepAlive, IPAddress.Parse("10.10.10.107"));
            Assert.Equal(383, c.Count);
        }
示例#6
0
        public void TcpKeepAliveTest3()
        {
            var c = new ReassemblingCollection();

            this.AddFramesFromPcap(c, TestPcapFile.Sec6NetFTCP49795, IPAddress.Parse("10.10.10.229"));
            Assert.Equal(21, c.Count);
        }
示例#7
0
        public void TcpKeepAliveTest1()
        {
            var c = new ReassemblingCollection();

            this.AddFramesFromPcap(c, TestPcapFile.IsaHttpKeepAlive1Dst1, IPAddress.Parse("147.229.176.17"));
            Assert.Equal(19, c.Count);
        }
        public void ClassImplementingICollectionCastToICollectionRemoveWorks()
        {
            var c = new ReassemblingCollection(new[] { this._frame1.Object, this._frame2.Object });

            c.Clear();
            Assert.Empty(c);
        }
        public void TcpRetransmission()
        {
            var c = new ReassemblingCollection();

            this.AddFramesFromPcap(c, "isa-http_retransmission.pcapng", IPAddress.Parse("147.229.176.17"));
            Assert.Equal(6, c.Count);
        }
示例#10
0
        public void TcpKeepAliveTest1()
        {
            var c = new ReassemblingCollection();

            this.AddFramesFromPcap(c, "isa-http_keepalive1_dst1.pcapng", IPAddress.Parse("147.229.176.17"));
            Assert.Equal(19, c.Count);
        }
示例#11
0
        public void TcpRstWithReason()
        {
            var c = new ReassemblingCollection();

            this.AddFramesFromPcap(c, TestPcapFile.TcpWithRstReason, IPAddress.Parse("87.106.1.89"));
            Assert.Equal(9, c.Count);
            this.AssertEnumerableSorted(c.EffectiveFrames, ef => ef.RelativeOffsetBegin);
        }
示例#12
0
        public void TcpReusedPortAndKeepalives()
        {
            var c = new ReassemblingCollection();

            this.AddFramesFromPcap(c, TestPcapFile.IsaHttpReusedPortsAndKeepalives, IPAddress.Parse("147.229.176.17"));
            Assert.Equal(52, c.Count);
            this.AssertEnumerableSorted(c.EffectiveFrames, ef => ef.RelativeOffsetBegin);
        }
示例#13
0
        public void TcpReusedPortAndKeepAlives()
        {
            var c = new ReassemblingCollection();

            this.AddFramesFromPcap(c, "isa-http_reusedPortsAndKeepalives.pcapng", IPAddress.Parse("147.229.176.17"));
            Assert.Equal(52, c.Count);
            this.AssertEnumerableSorted(c, frame => frame.TimestampTicks);
        }
示例#14
0
        private void AddFramesFromPcap(ReassemblingCollection c, String pcapFileName, Func <Frame, Boolean> framePredicate = null)
        {
            var frames = this.GetFramesFromPcapWithoutDefragmentation(pcapFileName);

            if (framePredicate != null)
            {
                frames = frames.Where(framePredicate);
            }

            foreach (var frame in frames)
            {
                c.Add(frame);
            }
        }
示例#15
0
 private void AddFramesFromPcap(ReassemblingCollection c, String pcapFileName, IPAddress sourceIPAddress)
 {
     this.AddFramesFromPcap(c, pcapFileName, f => f.SourceAddress.Equals(sourceIPAddress));
 }