/// <summary> /// /// </summary> /// <param name="operatingSystem"></param> /// <param name="probability">A number between 0.0 and 1.0</param> //internal void AddProbableOs(string fingerprinterName, string operatingSystem, double probability) { internal void AddProbableOs(string operatingSystem, PacketParser.Fingerprints.IOsFingerprinter fingerprinter, double probability) { lock (this.fingerprinterOsCounterList) { //string fingerprinterName = fingerprinter.Name; /* * if(!this.operatingSystemCounterList.ContainsKey(fingerprinterName)) * this.operatingSystemCounterList.Add(fingerprinterName, new SortedList<string, double>()); * */ if (!this.fingerprinterOsCounterList.ContainsKey(fingerprinter)) { this.fingerprinterOsCounterList.Add(fingerprinter, new SortedList <string, double>()); } //SortedList<string, double> operatingSystemCount=this.operatingSystemCounterList[fingerprinterName]; SortedList <string, double> operatingSystemCount = this.fingerprinterOsCounterList[fingerprinter]; if (operatingSystemCount.ContainsKey(operatingSystem)) { operatingSystemCount[operatingSystem] += probability; } else { operatingSystemCount.Add(operatingSystem, probability); } } }
internal void AddProbableDeviceFamily(string deviceFamily, PacketParser.Fingerprints.IOsFingerprinter fingerprinter, double probability) { double p = fingerprinter.Confidence * probability; if (p > this.fingerprintedDeviceFamily.Key && deviceFamily != null && deviceFamily.Length > 0) { this.fingerprintedDeviceFamily = new KeyValuePair <double, string>(p, deviceFamily); } }