public void Open() { if (!Directory.Exists(logFolder)) { Directory.CreateDirectory(logFolder); } if (packetFolder != null && !Directory.Exists(packetFolder)) { Directory.CreateDirectory(packetFolder); } OpenLogfile(); pcap.Open(adapter); terminated = false; }
static void Main(string[] args) { var pcap = new Pcap(); pcap.Open(ConfigurationManager.AppSettings["Adapter"]); var address = IPAddress.Parse(ConfigurationManager.AppSettings["Address"]); var port = UInt16.Parse(ConfigurationManager.AppSettings["Port"]); Packet packet = null; long tx = 0, rx = 0; while (true) { if ((packet = pcap.Next()) != null) { var eth = new EthernetHeader(packet.Data); if (eth.Protocol == (int)EthernetProtocol.IP) { var ip = new IPHeader(eth); if (ip.Protocol == IPProtocol.Tcp) { var tcp = new TcpHeader(ip); if (ip.SourceIp.Equals(address) && tcp.SourcePort == port) { rx += tcp.Length; } else if (ip.DestinationIp.Equals(address) && tcp.DestinationPort == port) { tx += tcp.Length; } } } } if (KeyPressed()) { Console.WriteLine("{0},{1}", tx, rx); tx = 0; rx = 0; } } }