private void outputIPusers() { int count = 0; //Just output the ip users for a dedicated timeframe make a counter foreach (KeyValuePair <string, List <DateTime> > entry in zugriffeDict) { IpInfo info = GetUserCountryByIp(entry.Key.ToString()); string infoToAdd = ""; if (info != null) { infoToAdd += info.City + "/"; infoToAdd += info.Country + "/"; infoToAdd += info.Org + "/"; infoToAdd += info.Postal + "/"; } string message = entry.Key.ToString() + " Seitenaufrufe: " + entry.Value.Count() + " Info: " + infoToAdd; logToOutput(message); logToOutputFile(message); count++; } if (count == 0) { string message = "Es gibt einfach keine Benutzer zu dieser Zeit"; logToOutput(message); logToOutputFile(message); } if (outputFile_created) { string logoutput_created = "Der Output wurde auch in das File geschrieben " + filestreamToWrite.Name;; logToOutput(logoutput_created); } }
public void TrackUsers() { var locationService = new GoogleLocationService(); var ip = Request.ServerVariables["REMOTE_ADDR"];; IpInfo ipinfo = GetUserCountryByIp(ip); if (ipinfo.Loc != null) { string[] latlong = ipinfo.Loc.Split(','); ipinfo.Loc = clsobj.GetAddressFromLatLong(Convert.ToDouble(latlong[0]), Convert.ToDouble(latlong[1])); } SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "usp_InsertTrackRecord"; cmd.Connection = conn; cmd.Parameters.AddWithValue("@Ip", ipinfo.Ip == null ? "" : ipinfo.Ip); cmd.Parameters.AddWithValue("@Hostname", ipinfo.Hostname == null ? "" : ipinfo.Hostname); cmd.Parameters.AddWithValue("@City", ipinfo.City == null ? "" : ipinfo.City); cmd.Parameters.AddWithValue("@Region", ipinfo.Region == null ? "" : ipinfo.Region); cmd.Parameters.AddWithValue("@Country", ipinfo.Country == null ? "" : ipinfo.Country); cmd.Parameters.AddWithValue("@Loc", ipinfo.Loc == null ? "" : ipinfo.Loc); cmd.Parameters.AddWithValue("@Org", ipinfo.Org == null ? "" : ipinfo.Org); cmd.Parameters.AddWithValue("@Postal", ipinfo.Postal == null ? "" : ipinfo.Postal); if (conn.State == ConnectionState.Closed) { conn.Open(); } cmd.ExecuteNonQuery(); }
public static async Task <IpInfo> GetIpInfoAsync(string ip) { var key = Helper.GetEnvironmentVariable("ipstack_key"); var url = $"http://api.ipstack.com/{ip}?access_key={key}"; string ipInfoRaw; using (var client = new HttpClient()) { ipInfoRaw = await client.GetStringAsync(url); } IpInfo ipInfo; try { ipInfo = JsonConvert.DeserializeObject <IpInfo>(ipInfoRaw); } catch { ipInfo = new IpInfo(); } return(ipInfo); }
public IpInfo SearchWithI18N(string ip, string langCode = "") { if (string.IsNullOrEmpty(ip)) { throw new ArgumentException(nameof(ip)); } if (string.IsNullOrEmpty(langCode)) { langCode = IpToolSettings.DefaultLanguage; } if (_search.TryCity(ip, out var city)) { var ipinfo = new IpInfo { IpAddress = ip, CountryCode = city.Country.IsoCode, Country = city.Country.Names.ContainsKey(langCode) ? city.Country.Names[langCode] : city.Country.Name, Province = city.MostSpecificSubdivision.Names.ContainsKey(langCode) ? city.MostSpecificSubdivision.Names[langCode] : city.MostSpecificSubdivision.Name, ProvinceCode = city.MostSpecificSubdivision.IsoCode, City = city.City.Names.ContainsKey(langCode) ? city.City.Names[langCode] : city.City.Name, PostCode = city.Postal.Code, Latitude = city.Location.Latitude, Longitude = city.Location.Longitude, AccuracyRadius = city.Location.AccuracyRadius }; return(ipinfo); } else { return(new IpInfo()); } }
public LoginResult SignIn(string username, string password, string loginIp, Enumeration.LoginType loginType) { DateTime timeNow = DateTime.Now; IpInfo ipInfo = new IpInfo(); SysUserLoginHistory loginHis = new SysUserLoginHistory(); loginHis.LoginTime = timeNow; loginHis.Ip = ipInfo.Ip; loginHis.Country = ipInfo.Country; loginHis.Province = ipInfo.Province; loginHis.City = ipInfo.City; loginHis.LoginType = loginType; var result = _authorizeRelay.SignIn(username, password, timeNow, loginIp); switch (result.ResultTip) { case Enumeration.LoginResultTip.UserNotExist: loginHis.Description = "登录失败"; loginHis.Result = Enumeration.LoginResult.Failure; break; case Enumeration.LoginResultTip.UserAccessFailedMaxCount: loginHis.Description = "登录失败,连续输入错误密码3次,锁定帐号30分钟"; loginHis.Result = Enumeration.LoginResult.Failure; break; case Enumeration.LoginResultTip.UserPasswordIncorrect: loginHis.Description = "登录失败,密码错误"; loginHis.Result = Enumeration.LoginResult.Failure; loginHis.UserId = result.User.Id; break; case Enumeration.LoginResultTip.UserDisabled: loginHis.Description = "登录失败,帐号被禁用"; loginHis.Result = Enumeration.LoginResult.Failure; loginHis.UserId = result.User.Id; break; case Enumeration.LoginResultTip.UserDeleted: loginHis.Description = "登录失败,帐号已删除"; loginHis.Result = Enumeration.LoginResult.Failure; loginHis.UserId = result.User.Id; break; case Enumeration.LoginResultTip.VerifyPass: loginHis.Description = "登录成功"; loginHis.Result = Enumeration.LoginResult.Success; loginHis.UserId = result.User.Id; break; } CurrentDb.SysUserLoginHistory.Add(loginHis); CurrentDb.SaveChanges(); return(result); }
private void NewLocation() { string ip = _httpContextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); IpInfo ipInfo = new IpInfo(); try { string info = new WebClient().DownloadString("http://api.ipstack.com/" + ip + "?access_key=a02a2f0d948b727250a7980b6750931d"); ipInfo = JsonConvert.DeserializeObject <IpInfo>(info); } catch (Exception) { ipInfo.Country = null; } if (ipInfo.Country != null) { Locations location = new Locations() { country = ipInfo.Country, latitude = ipInfo.Latitude, longitude = ipInfo.Longitude }; _context.Locations.Add(location); _context.SaveChanges(); } }
public static IpInfo GetIpInfo() { IpInfo ipInfo = new IpInfo(); try { // 5 secondes timeout string s = new MiniWebClient(5).DownloadString("http://ipinfo.io/json"); ipInfo = JsonUtility.FromJson <IpInfo>(s); return(ipInfo); } catch (Exception ex) { Debug.LogWarning("MiniIpInfo::GetIpInfo: failed to get ip information from ipinfo.io: " + ex.ToString()); } try { Debug.Log("MiniIpInfo::GetIpInfo: trying to get external ip address from icanhazip.com"); // 5 secondes timeout string s = new MiniWebClient(5).DownloadString("http://icanhazip.com/"); ipInfo.ip = s; return(ipInfo); } catch (Exception ex) { Debug.LogError("MiniIpInfo::GetIpInfo: failed to get ip information from icanhazip.com: " + ex.ToString()); } return(ipInfo); }
private List <IpInfo> GetIps() { List <IpInfo> list = new List <IpInfo>(); string url = "http://api.zdaye.com/?api=201710131331268754&pw=111111&gb=2&rtype=1"; string html = DN.Framework.Utility.WebClientHelper.GetSend(url); var tlist = html.Split(System.Environment.NewLine.ToArray()); foreach (var ips in tlist) { try { if (!string.IsNullOrEmpty(ips)) { IpInfo item = new IpInfo(); item.ip = ips.Split(':')[0]; item.port = ips.Split(':')[1]; list.Add(item); } } catch { } } return(list); }
private IpInfo ParseResponse(WhoisResponse response, string ip) { _logger.LogInformation($"Trying parse response for ip {ip}"); var lines = response.Raw.Split('\n').Select(x => TrimAll(x)); var result = new IpInfo { Ip = ip, Company = response.OrganizationName }; try { result.Subnet = response.AddressRange.ToCidrString(); } catch { result.Subnet = response.AddressRange.ToString(); } var countryLine = lines.FirstOrDefault(x => x.ToLower().Contains("country:")); if (countryLine != null) { var country = TrimAll(countryLine.Split(':')[1]); result.Country = country; } return(result); }
public async Task <ActionResult> VisitShortenUrl(URLShortenViewModel reqInfo) { try { VisitedUserData vistedUser = new VisitedUserData(); IpInfo visitedIPData = new IpInfo(); // Private details vistedUser.HostMachineName = Dns.GetHostName(); vistedUser.MachinePrivateIP = Dns.GetHostByName(vistedUser.HostMachineName).AddressList[0].ToString(); // Public details visitedIPData = GetUserDetailByIp(GetPublicIP()); vistedUser.MachinePublicIP = visitedIPData.Ip; vistedUser.LongURL = reqInfo.longURL; vistedUser.ShortenURL = reqInfo.shortenURL; vistedUser.VisitedCountry = visitedIPData.Country; vistedUser.VisitedRegion = visitedIPData.Region; vistedUser.VisitedCity = visitedIPData.City; vistedUser.ServiceProviderName = visitedIPData.Hostname; // Save Details to DB return(Redirect(reqInfo.shortenURL)); } catch (Exception ex) { throw ex; } }
public IpInfo Search(string ip) { if (string.IsNullOrEmpty(ip)) { throw new ArgumentException(nameof(ip)); } if (_search.TryCity(ip, out var city)) { var ipinfo = new IpInfo { IpAddress = ip, CountryCode = city.Country.IsoCode, Country = city.Country.Name, Province = city.MostSpecificSubdivision.Name, ProvinceCode = city.MostSpecificSubdivision.IsoCode, City = city.City.Name, PostCode = city.Postal.Code, Latitude = city.Location.Latitude, Longitude = city.Location.Longitude, AccuracyRadius = city.Location.AccuracyRadius }; return(ipinfo); } else { return(new IpInfo()); } }
/// <summary> /// 自动查询3网段ip /// </summary> /// <param name="draw"></param> public MessageHandler(Drawing draw) { List <string> temp = new List <string>(); temp = IpInfo.GetAddressIP(); /*foreach (string index in temp) * { * try * { * string[] ay = index.Split('.'); * if (ay[2] == "3") * { * WebsocketIp = index; * goto IPLABLE; * } * } * catch(Exception e) * { continue; * } * * }*/ WebsocketIp = System.Configuration.ConfigurationManager.AppSettings["WebsockectIp"]; WebsocketPort = int.Parse(System.Configuration.ConfigurationManager.AppSettings["WebsockectPort"]); IPLABLE: this.draw = draw; //Task.Factory.StartNew(WebSocketSvrThread); StartWebsocketClientThread(WebsocketIp, WebsocketPort); }
protected void setData(KeyValuePair <Guid, string> keyValuePair) { // Initialize a client using the validated configuration using (var client = XConnectHelper.GetClient()) { try { var channelId = Guid.Parse("52B75873-4CE0-4E98-B63A-B535739E6180"); // "email newsletter" channel // Create a new contact with the identifier Contact knownContact = new Contact(); PersonalInformation personalInfoFacet = new PersonalInformation(); personalInfoFacet.FirstName = "Abhi" + Guid.NewGuid().ToString(); personalInfoFacet.LastName = "Marwah"; personalInfoFacet.JobTitle = "Sitecore Architect"; personalInfoFacet.Gender = "Male"; personalInfoFacet.Nickname = "Aussie"; client.SetFacet <PersonalInformation>(knownContact, PersonalInformation.DefaultFacetKey, personalInfoFacet); EmailAddressList emails = new EmailAddressList(new EmailAddress("*****@*****.**", true), "Email"); client.SetFacet(knownContact, emails); PageViewEvent pageView = new PageViewEvent(DateTime.Now.ToUniversalTime(), keyValuePair.Key, 1, "en"); pageView.ItemLanguage = "en"; pageView.Duration = new TimeSpan(3000); pageView.SitecoreRenderingDevice = new SitecoreDeviceData(new Guid("{fe5d7fdf-89c0-4d99-9aa3-b5fbd009c9f3}"), "Default"); pageView.Url = keyValuePair.Value; client.AddContact(knownContact); // Create a new interaction for that contact Interaction interaction = new Interaction(knownContact, InteractionInitiator.Brand, channelId, ""); // Add events - all interactions must have at least one event interaction.Events.Add(pageView); IpInfo ipInfo = new IpInfo("127.0.0.1"); ipInfo.BusinessName = "Sitecore Consultancy"; client.SetFacet <IpInfo>(interaction, IpInfo.DefaultFacetKey, ipInfo); // Add the contact and interaction client.AddInteraction(interaction); // Submit contact and interaction - a total of two operations client.Submit(); } catch (XdbExecutionException ex) { // Deal with exception } } }
public KeyValuePair <string, int>[] GetTop10Users(string logPath) { var usersStats = new Dictionary <string, int>(); var fileLines = File.ReadAllLines(logPath); Parallel.For(0, fileLines.Length, new ParallelOptions { MaxDegreeOfParallelism = 2 }, i => { var ipInfo = IpInfo.Parse(fileLines[i]); lock (usersStats) { if (!usersStats.ContainsKey(ipInfo.Ip)) { usersStats.Add(ipInfo.Ip, ipInfo.CallDuration); } else { usersStats[ipInfo.Ip] += ipInfo.CallDuration; } } }); return(usersStats.OrderByDescending(keyValuePair => keyValuePair.Value).Take(10).ToArray()); }
public string GetLocationByIp(string ip) { string location = "Unlocated"; Regex ipRegex = new Regex(@"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b"); MatchCollection result = ipRegex.Matches(ip); if (result.Any()) { if (ip.StartsWith("10.") || ip.StartsWith("100.") || ip.StartsWith("127.") || ip.StartsWith("172.") || ip.StartsWith("192.")) { return("Local address"); } IpInfo ipInfo = new IpInfo(); try { string info = new WebClient().DownloadString("http://ipinfo.io/" + ip); ipInfo = JsonConvert.DeserializeObject <IpInfo>(info); location = ipInfo.City + ", " + ipInfo.Country + ", " + ipInfo.Region; } catch (Exception) { ipInfo.Country = null; } } return(location); }
private static string GetLocation(IpInfo info) { string ip = string.Format("{0}.{1}.{2}.{3}", info.Ip1, info.Ip2, info.Ip3, info.Ip4); Discuz.Forum.IpSearch.PHCZIP phczip = new IpSearch.PHCZIP(); return(phczip.GetAddressWithIP(ip) == "" ? "未知地址": phczip.GetAddressWithIP(ip)); }
private async Task <string> GetCountryByIp() { try { var client = _clientFactory.CreateClient(); var remoteIp = GetRemoteIp(); var token = _configuration["ipInfoToken"]; var response = await client.GetAsync($"http://ipinfo.io/{remoteIp}?token={token}"); if (!response.IsSuccessStatusCode) { return("none"); } using var responseStream = await response.Content.ReadAsStreamAsync(); IpInfo ipInfo = await JsonSerializer.DeserializeAsync <IpInfo>(responseStream); return(ipInfo.Country); } catch (Exception ex) { _logger.LogError($"GetCountryByIP Error: {ex.Message}"); return("none"); } }
public static string GetCountryAPI() { string ip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (string.IsNullOrEmpty(ip)) { ip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; } IpInfo ipInfo = new IpInfo(); string info = new WebClient().DownloadString("http://ipinfo.io/" + ip); ipInfo = JsonConvert.DeserializeObject <IpInfo>(info); ipInfo.Country = ipInfo.Country; string apiURL = ConfigurationManager.AppSettings["APIUrl"]; string apiUrl_TestCountry = ConfigurationManager.AppSettings["APIUrl_TestCountry"]; string originatingFromCountry = ipInfo.Country; if (originatingFromCountry == "AM" || originatingFromCountry == apiUrl_TestCountry) { apiURL = ConfigurationManager.AppSettings["APIUrl_Armenia"]; } HttpContext.Current.Request.Cookies["IPAddress"].Value = ip; HttpContext.Current.Request.Cookies["Country"].Value = ipInfo.Country; return(apiURL); }
public KeyValuePair <string, int>[] GetTop10Users(string logPath) { var usersStats = new ConcurrentDictionary <string, int>(); Parallel.ForEach(File.ReadLines(logPath), () => new Dictionary <string, int>(), (line, _, localDictionary) => { var ipInfo = IpInfo.Parse(line); if (!localDictionary.ContainsKey(ipInfo.Ip)) { localDictionary.Add(ipInfo.Ip, ipInfo.CallDuration); } else { localDictionary[ipInfo.Ip] += ipInfo.CallDuration; } return(localDictionary); }, localDictionary => { foreach (var ip in localDictionary.Keys) { usersStats.AddOrUpdate(ip, key => localDictionary[key], (key, oldValue) => oldValue + localDictionary[key]); } } ); return(usersStats.OrderByDescending(keyValuePair => keyValuePair.Value).Take(10).ToArray()); }
public void SerializeIpInfo_WhenCalled_ReturnedString(IpInfo ipInfo) { // Act var actual = _sut.Serialize(ipInfo); // Assert actual.Should().NotBeEmpty(); }
void CreateTcpClient(IpInfo ipInfo) { //1新 建 socket Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); EndPoint endPoint = new IPEndPoint(IPAddress.Parse(ipInfo.Ip), ipInfo.Port); socket.Connect(endPoint); socket.Send(Encoding.UTF8.GetBytes("")); Debug.Log(GetSrting(socket)); }
private static void Get_Information() { CaptureDesktop(); Machine_Name = System.Environment.MachineName; IpInfo ipInfo = new IpInfo(); string info = new WebClient().DownloadString("http://ipinfo.io"); JavaScriptSerializer jsonObject = new JavaScriptSerializer(); ipInfo = jsonObject.Deserialize <IpInfo>(info); RegionInfo region = new RegionInfo(ipInfo.Country); RealRegion = (ipInfo.Region); IP = (ipInfo.Ip); Org = (ipInfo.Org); City = (ipInfo.City); Postal = (ipInfo.Postal); //Needs fix if (Postal == empty) { Postal = "Not found."; } if (Postal == " ") { Postal = "Not found."; } if (Postal == "") { Postal = "Not found."; } //Console.WriteLine(Postal); //Console.ReadKey(); //Console.WriteLine(RealRegion); //Console.WriteLine(IP); //Console.WriteLine(Org); //Console.WriteLine(City); //Console.WriteLine(Postal); //Console.WriteLine("STOP"); //Console.ReadKey(); //Console.WriteLine(region.EnglishName); if (region.EnglishName.Contains("France")) { Country = ":flag_fr:"; } Console.WriteLine("-------------------------------------------------------------------------------------------"); Console.WriteLine("Sending Informations over server."); Console.WriteLine("-------------------------------------------------------------------------------------------"); UploadImage(); Send_Information(); }
private IpInfo GetLocationByIp() { //Get external IP string ip = new WebClient().DownloadString("http://ifconfig.me"); //Get info about IP string info = new WebClient().DownloadString("http://ipinfo.io/" + ip); //Conversion to object IpInfo ipInfo = JsonConvert.DeserializeObject <IpInfo>(info); return(ipInfo); }
public void SerializeIpInfo_WhenCalled_ReturnedString(IpInfo ipInfo) { // Arrange var serializer = new JsonSerializer(); // Act var actual = serializer.Serialize(ipInfo); // Assert actual.Should().NotBeEmpty(); }
internal void ReportIpInfoFacet(IpInfo ipInfoFacet) { if (ipInfoFacet != null) { Console.WriteLine("\tInteraction business name: " + ipInfoFacet.BusinessName); } else { Console.WriteLine("\tNo business name available."); } }
public static void DebugWindwosInfo(string netframworkversion, string windowsver) { //Old folder //var path = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath.ToString(); //var newpath = path.Replace(@"\user.config", "").Trim(); //string filePath = newpath + @"\DebugLogs\WinInfo_" + Environment.UserName + ".txt"; /*if (!Directory.Exists(newpath + @"\DebugLogs")) * { * Directory.CreateDirectory(newpath + @"\DebugLogs"); * }*/ string filePath = exePath + @"\Logs\ToolInfo_" + Environment.UserName + ".txt"; using (FileStream fs = File.Create(filePath)) { } using (StreamWriter writer = new StreamWriter(filePath, true)) { writer.WriteLine("-----------------------------------------------------------------------------"); writer.WriteLine("File Generated Date: " + DateTime.Now.ToString()); writer.WriteLine("Username: "******"Computer Name: " + SystemInformation.ComputerName); writer.WriteLine("Tool Version: v" + Application.ProductVersion); writer.WriteLine("Tool Build Date: " + Utils.GetLinkerDateTime(Assembly.GetEntryAssembly(), null).ToString()); writer.WriteLine("Main Windows Culture: " + ci.Name.ToString()); writer.WriteLine(netframworkversion); writer.WriteLine(windowsver); if (InternetCheck.ConnectToInternet() == true) { IpInfo ipInfo = new IpInfo(); string info = new WebClient().DownloadString("http://ipinfo.io"); JavaScriptSerializer jsonObject = new JavaScriptSerializer(); ipInfo = jsonObject.Deserialize <IpInfo>(info); RegionInfo region = new RegionInfo(ipInfo.Country); writer.WriteLine("Country: " + region.EnglishName); } else { writer.WriteLine("Country: Can´t connect to IP... Waiting for internet connection..."); } } using (StreamReader sr = File.OpenText(filePath)) { while ((sr.ReadLine()).StartsWith("Windows:") && (sr.ReadLine()).StartsWith("NetFramework:")) { return; } } }
public static void GetCountryByIP() { IpInfo ipInfo = new IpInfo(); string info = new WebClient().DownloadString("http://ipinfo.io"); JavaScriptSerializer jsonObject = new JavaScriptSerializer(); ipInfo = jsonObject.Deserialize <IpInfo>(info); RegionInfo region = new RegionInfo(ipInfo.Country); Console.WriteLine(region.EnglishName); Console.ReadLine(); }
public async Task ExecuteGroupAsync(CommandContext ctx, [Description("IP.")] IPAddress ip) { IpInfo info = await IpGeolocationService.GetInfoForIpAsync(ip); if (!info.Success) { throw new CommandFailedException($"Retrieving IP geolocation info failed! Details: {info.ErrorMessage}"); } await ctx.RespondAsync(embed : info.ToDiscordEmbed(this.ModuleColor)); }
public static string GetLocation(IpInfo info) { string iPValue = String.Format("{0}.{1}.{2}.{3}", info.Ip1, info.Ip2, info.Ip3, info.Ip4); var addr = Ip.GetAddress(iPValue); if (!String.IsNullOrEmpty(addr)) { return(addr); } return("未知地址"); }
public void RegisterOfflineInteraction(string source, string identifier, FaceApiFacet face) { using (XConnectClient client = GetClient()) { try { IdentifiedContactReference reference = new IdentifiedContactReference(source, identifier); Contact existingContact = client.Get <Contact>( reference, new ContactExpandOptions(PersonalInformation.DefaultFacetKey)); if (existingContact == null) { return; } Interaction interaction = new Interaction(existingContact, InteractionInitiator.Contact, channelId: Settings.OfflineChannelId, userAgent: "video camera"); //Add Device profile DeviceProfile newDeviceProfile = new DeviceProfile(Guid.NewGuid()); newDeviceProfile.LastKnownContact = existingContact; client.AddDeviceProfile(newDeviceProfile); interaction.DeviceProfile = newDeviceProfile; //Add fake Ip info IpInfo fakeIpInfo = new IpInfo("127.0.0.1"); fakeIpInfo.BusinessName = "Home"; client.SetFacet <IpInfo>(interaction, IpInfo.DefaultFacetKey, fakeIpInfo); //Add fake webvisit WebVisit fakeWebVisit = new WebVisit(); fakeWebVisit.SiteName = "Offline"; client.SetFacet <WebVisit>(interaction, WebVisit.DefaultFacetKey, fakeWebVisit); //Adding FaceApi facet client.SetFacet <FaceApiFacet>(interaction, FaceApiFacet.DefaultFacetKey, face); Outcome outcome = new Outcome(Settings.OfflineGoalId, DateTime.UtcNow, "USD", 0); outcome.EngagementValue = 10; outcome.Text = "Face recognized"; interaction.Events.Add(outcome); client.AddInteraction(interaction); client.Submit(); } catch (XdbExecutionException ex) { } } }
void connectionsWorker_DoWork(object sender, DoWorkEventArgs e) { #if !MONO IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties(); while (!connectionsWorker.CancellationPending) { try { #region -- xml -- // http://ipinfodb.com/ip_location_api.php // http://ipinfodb.com/ip_query2.php?ip=74.125.45.100,206.190.60.37&timezone=false //<?xml version="1.0" encoding="UTF-8"?> //<Locations> // <Location id="0"> // <Ip>74.125.45.100</Ip> // <Status>OK</Status> // <CountryCode>US</CountryCode> // <CountryName>United States</CountryName> // <RegionCode>06</RegionCode> // <RegionName>California</RegionName> // <City>Mountain View</City> // <ZipPostalCode>94043</ZipPostalCode> // <Latitude>37.4192</Latitude> // <Longitude>-122.057</Longitude> // </Location> #endregion lock (TcpState) { //TcpConnectionInformation[] tcpInfoList = properties.GetActiveTcpConnections(); //foreach(TcpConnectionInformation i in tcpInfoList) //{ //} CountryStatus.Clear(); ManagedIpHelper.UpdateExtendedTcpTable(false); foreach (TcpRow i in ManagedIpHelper.TcpRows) { #region -- update TcpState -- string Ip = i.RemoteEndPoint.Address.ToString(); // exclude local network if (!Ip.StartsWith("192.168.") && !Ip.StartsWith("127.0.")) { IpInfo info; if (!TcpState.TryGetValue(Ip, out info)) { info = new IpInfo(); TcpState[Ip] = info; // request location info lock (TcpStateNeedLocationInfo) { if (!TcpStateNeedLocationInfo.Contains(Ip)) { TcpStateNeedLocationInfo.Add(Ip); if (!ipInfoSearchWorker.IsBusy) { ipInfoSearchWorker.RunWorkerAsync(); } } } } info.State = i.State; info.Port = i.RemoteEndPoint.Port; info.StatusTime = DateTime.Now; try { Process p; if (!ProcessList.TryGetValue(i.ProcessId, out p)) { p = Process.GetProcessById(i.ProcessId); ProcessList[i.ProcessId] = p; } info.ProcessName = p.ProcessName; } catch { } if (!string.IsNullOrEmpty(info.CountryName)) { if (!CountryStatus.ContainsKey(info.CountryName)) { CountryStatus[info.CountryName] = 1; } else { CountryStatus[info.CountryName]++; } } } #endregion } } // launch tracer if needed if (TryTraceConnection) { if (!iptracerWorker.IsBusy) { lock (TcpStateNeedtraceInfo) { if (TcpStateNeedtraceInfo.Count > 0) { iptracerWorker.RunWorkerAsync(); } } } } connectionsWorker.ReportProgress(100); } catch (Exception ex) { Debug.WriteLine("connectionsWorker_DoWork: " + ex.ToString()); } Thread.Sleep(3333); } tcpConnections.Clear(); #endif }
List<IpInfo> GetIpHostInfo(string iplist) { List<IpInfo> ret = new List<IpInfo>(); bool retry = false; string iplistNew = string.Empty; string[] ips = iplist.Split(','); foreach (var ip in ips) { IpInfo val = IpCache.GetDataFromCache(ip); if (val != null) { ret.Add(val); } else { if (iplistNew.Length > 0) { iplistNew += ","; } iplistNew += ip; } } if (!string.IsNullOrEmpty(iplistNew)) { Debug.WriteLine("GetIpHostInfo: " + iplist); string reqUrl = string.Format("http://api.ipinfodb.com/v2/ip_query.php?key=fbea1992ab11f7125064590a417a8461ccaf06728798c718dbd2809b31a7a5e0&ip={0}&timezone=false", iplistNew); while (true) { ret.Clear(); try { HttpWebRequest httpReq = HttpWebRequest.Create(reqUrl) as HttpWebRequest; { string result = string.Empty; using (HttpWebResponse response = httpReq.GetResponse() as HttpWebResponse) { using (StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8)) { result = reader.ReadToEnd(); } response.Close(); } XmlDocument x = new XmlDocument(); x.LoadXml(result); XmlNodeList nodes = x.SelectNodes("/Response"); foreach (XmlNode node in nodes) { string Ip = node.SelectSingleNode("Ip").InnerText; IpInfo info = new IpInfo(); { info.Ip = Ip; info.CountryName = node.SelectSingleNode("CountryName").InnerText; info.RegionName = node.SelectSingleNode("RegionName").InnerText; info.City = node.SelectSingleNode("City").InnerText; info.Latitude = double.Parse(node.SelectSingleNode("Latitude").InnerText, CultureInfo.InvariantCulture); info.Longitude = double.Parse(node.SelectSingleNode("Longitude").InnerText, CultureInfo.InvariantCulture); info.CacheTime = DateTime.Now; ret.Add(info); } IpCache.PutDataToCache(Ip, info); } } break; } catch (Exception ex) { if (retry) // fail in retry too, full stop ;} { break; } retry = true; reqUrl = string.Format("http://backup.ipinfodb.com/v2/ip_query.php?key=fbea1992ab11f7125064590a417a8461ccaf06728798c718dbd2809b31a7a5e0&ip={0}&timezone=false", iplist); Debug.WriteLine("GetIpHostInfo: " + ex.Message + ", retry on backup server..."); } } } return ret; }
/// <summary> /// InitObject: Initializes the VShieldEdgeConfig object. /// </summary> /// <returns>VShieldEdgeConfig</returns> private VShieldEdgeConfig InitObject() { VShieldEdgeConfig vsec = new VShieldEdgeConfig(); FirewallConfig fwconf = new FirewallConfig(); FirewallRule fwrule = new FirewallRule(); PortInfo dpi = new PortInfo(); PortInfo spi = new PortInfo(); IpInfo dip = new IpInfo(); IpInfo sip = new IpInfo(); try { fwrule.destinationIpAddress = dip; fwrule.destinationPort = dpi; fwrule.ruleId = 0; fwrule.sourceIpAddress = sip; fwrule.sourcePort = spi; if (_FirewallRules.FirewallConfig.Count > 0) { _FirewallRules.FirewallConfig.Add(fwrule); return _FirewallRules; } else { fwconf.Add(fwrule); vsec.FirewallConfig = fwconf; return vsec; } } catch (Exception e) { WriteObject("C-Sharp Exception: " + e); return null; } }
//ip监控 public void threadIp(bool is_first, int exec) { string db_dir = System.Windows.Forms.Application.StartupPath + "\\db.accdb"; bool begin = tool.execute_or_not("instrument_connection", db_dir, ip, is_first, exec); if (begin == true) { monitor read = new monitor(); string[] ss = tool.readconfig("ip"); foreach (string aa in ss) { if (aa != "") { ipList.Add(aa); } } string ip_detail = ""; for (int i = 1; i < ipList.Count; i++) { if (ipList[i] != "\r\n") { string[] dd = Regex.Split(ipList[i], "#", RegexOptions.IgnoreCase); int start = int.Parse(dd[2]); int end = int.Parse(dd[3]); int crrunt = int.Parse(DateTime.Now.Hour.ToString("00") + DateTime.Now.Minute.ToString("00")); ////textBox4.Text = start.ToString(); if (crrunt > start && crrunt < end) { if (!mm.CmdPing(dd[1])) { IpInfo ipinfo = new IpInfo(); ipinfo.IpAddress = dd[1]; ipinfo.WarningDateTime = DateTime.Now; ipinfo.Iphost = dd[0]; ipinfo.PingTimes = 1;//默认第一次 ///ping 失败以后累加个数,如果第一次ping失败,先累加,达到一定量以后再发送邮件 /// string str5 = System.Windows.Forms.Application.StartupPath; string a = str5 + "\\db.accdb"; Tool_Class.AccessDbClass1 db = new Tool_Class.AccessDbClass1(); db.AccessDbClass2(a); string egg = "E"; string value = dd[0] + "的ip:" + dd[1] + "连接不通"; string sql11 = "insert into Status_Histroy (para_name,details,flag,create_date) values ('instrument_connection','" + value + "','" + egg + "','" + DateTime.Now + "')"; bool ee = db.ExecuteSQLNonquery(sql11); } string value3 = dd[0] + "的ip:" + dd[1] + "连接不通"; string sql4 = "select count(*) from Status_Histroy where details = '" + value3 + "' and sign is null"; DataTable count = tool.DbToDatatable(sql4); int num = int.Parse(count.Rows[0][0].ToString()); int warntime = int.Parse(tool.readconfig("jb", "netwarn")); int errortime = int.Parse(tool.readconfig("bj", "neterror")); string value11=""; if (num > warntime) { value11 = dd[0] + "的ip:" + dd[1] + "有" + num + "次连接不通;\n\r"; string sql3 = "update Status_Now set para_value='警告',create_date = '" + DateTime.Now + "',flag = 'W' where para_name = 'instrument_connection'"; tool.AccessDbclass(sql3); } if (num > errortime) { value11 = dd[0] + "的ip:" + dd[1] + "有" + num + "次连接不通;\n\r"; string sql3 = "update Status_Now set para_value='错误',create_date = '" + DateTime.Now + "',flag = 'E' where para_name = 'instrument_connection'"; tool.AccessDbclass(sql3); } ip_detail += value11; } } } if (ip_detail =="") { ip_detail = "网络正常"; } string sql12 = "update Status_Now set details ='" + ip_detail + "' where para_name = 'instrument_connection'"; tool.AccessDbclass(sql12); } ipList.Clear(); }
public IpInfo GetDataFromCache(string ip) { IpInfo ret = null; try { using(SQLiteConnection cn = new SQLiteConnection()) { #if !MONO cn.ConnectionString = string.Format("Data Source=\"{0}\";", db); #else cn.ConnectionString = string.Format("Version=3,URI=file://{0},Default Timeout=33", db); #endif cn.Open(); { using(DbCommand com = cn.CreateCommand()) { com.CommandText = "SELECT * FROM Cache WHERE Ip = '" + ip + "'"; using(DbDataReader rd = com.ExecuteReader()) { if(rd.Read()) { IpInfo val = new IpInfo(); { val.Ip = ip; val.CountryName = rd["CountryName"] as string; val.RegionName = rd["RegionName"] as string; val.City = rd["City"] as string; val.Latitude = (double) rd["Latitude"]; val.Longitude = (double) rd["Longitude"]; val.CacheTime = (DateTime) rd["Time"]; } ret = val; } rd.Close(); } } } cn.Close(); } } catch(Exception ex) { #if MONO Console.WriteLine("GetDataFromCache: " + ex.ToString()); #endif Debug.WriteLine("GetDataFromCache: " + ex.ToString()); ret = null; } return ret; }
public bool PutDataToCache(string ip, IpInfo data) { bool ret = true; try { using(SQLiteConnection cn = new SQLiteConnection()) { #if !MONO cn.ConnectionString = string.Format("Data Source=\"{0}\";", db); #else cn.ConnectionString = string.Format("Version=3,URI=file://{0},FailIfMissing=True,Default Timeout=33", db); #endif cn.Open(); { { using(DbTransaction tr = cn.BeginTransaction()) { try { using(DbCommand cmd = cn.CreateCommand()) { cmd.Transaction = tr; cmd.CommandText = "INSERT INTO Cache(Ip, CountryName, RegionName, City, Latitude, Longitude, Time) VALUES(@p1, @p2, @p3, @p4, @p5, @p6, @p7)"; cmd.Parameters.Add(new SQLiteParameter("@p1", ip)); cmd.Parameters.Add(new SQLiteParameter("@p2", data.CountryName)); cmd.Parameters.Add(new SQLiteParameter("@p3", data.RegionName)); cmd.Parameters.Add(new SQLiteParameter("@p4", data.City)); cmd.Parameters.Add(new SQLiteParameter("@p5", data.Latitude)); cmd.Parameters.Add(new SQLiteParameter("@p6", data.Longitude)); cmd.Parameters.Add(new SQLiteParameter("@p7", data.CacheTime)); cmd.ExecuteNonQuery(); } tr.Commit(); } catch(Exception ex) { Console.WriteLine("PutDataToCache: " + ex.ToString()); Debug.WriteLine("PutDataToCache: " + ex.ToString()); tr.Rollback(); ret = false; } } } } cn.Close(); } } catch(Exception ex) { #if MONO Console.WriteLine("PutDataToCache: " + ex.ToString()); #endif Debug.WriteLine("PutDataToCache: " + ex.ToString()); ret = false; } return ret; }
void UpdateMarkerTcpIpToolTip(GMapMarker marker, IpInfo tcp, string info) { marker.ToolTipText = tcp.State.ToString(); if (!string.IsNullOrEmpty(tcp.ProcessName)) { marker.ToolTipText += " by " + tcp.ProcessName; } if (!string.IsNullOrEmpty(tcp.CountryName)) { marker.ToolTipText += "\n" + tcp.CountryName; } if (!string.IsNullOrEmpty(tcp.City)) { marker.ToolTipText += ", " + tcp.City; } else { if (!string.IsNullOrEmpty(tcp.RegionName)) { marker.ToolTipText += ", " + tcp.RegionName; } } marker.ToolTipText += "\n" + tcp.Ip + ":" + tcp.Port + "\n" + info; }
private VShieldEdgeConfig InitObject() { VShieldEdgeConfig vsec = new VShieldEdgeConfig(); NATConfig natConfig = new NATConfig(); NATRule natRule = new NATRule(); PortInfo ipi = new PortInfo(); PortInfo epi = new PortInfo(); IpInfo iip = new IpInfo(); IpInfo eip = new IpInfo(); try { natRule.externalIpAddress = eip; natRule.externalPort = epi; natRule.internalIpAddress = iip; natRule.internalPort = ipi; if (_NatRules.NATConfig.Count > 0) { _NatRules.NATConfig.Add(natRule); return _NatRules; } else { natConfig.Add(natRule); vsec.NATConfig = natConfig; return vsec; } } catch (Exception e) { WriteObject("C-Sharp Exception: " + e); return null; } }