private static PacketCommunicator OpenOfflineDevice(int numPackets, Packet packet, TimeSpan intervalBetweenPackets, string dumpFilename, string readFilename = null) { IPacketDevice device = GetOfflineDevice(numPackets, packet, intervalBetweenPackets, dumpFilename, readFilename); PacketCommunicator communicator = device.Open(); try { MoreAssert.AreSequenceEqual(new[] { DataLinkKind.Ethernet }.Select(kind => new PcapDataLink(kind)), communicator.SupportedDataLinks); Assert.AreEqual(DataLinkKind.Ethernet, communicator.DataLink.Kind); Assert.AreEqual("EN10MB (Ethernet)", communicator.DataLink.ToString()); Assert.AreEqual(communicator.DataLink, new PcapDataLink(communicator.DataLink.Name)); Assert.IsTrue(communicator.IsFileSystemByteOrder); Assert.AreEqual(PacketCommunicatorMode.Capture, communicator.Mode); Assert.IsFalse(communicator.NonBlocking); Assert.AreEqual(PacketDevice.DefaultSnapshotLength, communicator.SnapshotLength); Assert.AreEqual(2, communicator.FileMajorVersion); Assert.AreEqual(4, communicator.FileMinorVersion); return(communicator); } catch (Exception) { communicator.Dispose(); throw; } }
public void open(IPacketDevice device) { if (null != device) { PacketCommunicator pc = device.Open(65536, PacketDeviceOpenAttributes.None, 1000); pc.SetFilter("ip and tcp and port " + PortNumbers.BNCSPort.ToString()); comm.Communicator = pc; } else { comm.Communicator = null; } }