public void SetCapFile(CapFile capFile) { capFile.onReadAccessPoint += capFile_onReadAccessPoint; capFile.onReadBeacon += capFile_onReadBeacon; capFile.onReadDataFrame += capFile_onReadDataFrame; capFile.onReadStation += capFile_onReadStation; }
private void ReadCapFiles() { LoadingForm LoadForm = new LoadingForm(); LoadForm.Show(); //CapFiles.Clear(); List <CapFile> CapFiles = new List <CapFile>(); foreach (string capFilePath in Directory.GetFiles(Environment.CurrentDirectory + "\\Data\\Captures", "*.cap")) { CapFile capFile = new CapFile(); LoadForm.SetCapFile(capFile); LoadForm.SetFileName(new FileInfo(capFilePath).Name); capFile.ReadCap(capFilePath); CapFiles.Add(capFile); } this.captureInfo = new CaptureInfo(); LoadForm.SetCaptureInfo(this.captureInfo); captureInfo.AddCapturefiles(CapFiles.ToArray()); CapFiles.Clear(); LoadForm.Close(); }
private void ReadCapFiles() { CapFiles.Clear(); foreach (string capFilePath in Directory.GetFiles(Environment.CurrentDirectory + "\\Data\\Captures", "*.cap")) { CapFile capFile = new CapFile(capFilePath); CapFiles.Add(capFile); } }
public DataFrame(PacketDotNet.Ieee80211.QosDataFrame DataFrame, DateTime TimeStamp) { this.Frame = DataFrame; this.TimeStamp = TimeStamp; this.MacSourceAddressLong = CapFile.MacToLong(SourceMacAddress); this.MacTargetAddressLong = CapFile.MacToLong(TargetMacAddress); //a hacky "parser" to get to the actual payload to get what we need int ReadOffset = 0; ReadOffset += 26; //IEEE 802.11 header ReadOffset += 8; //Logical-Link Control header byte[] PacketData = DataFrame.Bytes; if (!(ReadOffset + 20 /*IPv4*/ + 5 > PacketData.Length)) //5byte Packet size as reserved... who wants to read a ~10byte packet anyway { this.isIPv4 = PacketData[ReadOffset] == 0x45; this.isTCP = PacketData[ReadOffset + 9] == 0x06; this.isUDP = PacketData[ReadOffset + 9] == 0x11; if (isIPv4 && (isTCP || isUDP)) { SourceIp = PacketData[ReadOffset + 12] + "." + PacketData[ReadOffset + 13] + "." + PacketData[ReadOffset + 14] + "." + PacketData[ReadOffset + 15]; DestIp = PacketData[ReadOffset + 16] + "." + PacketData[ReadOffset + 17] + "." + PacketData[ReadOffset + 18] + "." + PacketData[ReadOffset + 19]; ReadOffset += 20; //IPv4 header if (isTCP) { PortSource = PacketData[ReadOffset] << 8 | PacketData[ReadOffset + 1]; PortDest = PacketData[ReadOffset + 2] << 8 | PacketData[ReadOffset + 3]; ReadOffset += 32; //TCP header } if (isUDP) { PortSource = PacketData[ReadOffset] << 8 | PacketData[ReadOffset + 1]; PortDest = PacketData[ReadOffset + 2] << 8 | PacketData[ReadOffset + 3]; ReadOffset += 8; //UDP header } this.PayloadLen = PacketData.Length - ReadOffset; this.PayloadOffset = ReadOffset; } } if (String.IsNullOrEmpty(SourceIp) || String.IsNullOrEmpty(DestIp)) { SourceIp = ""; DestIp = ""; } }