private bool IPRestricted(string ipAddress, List <CompanyIPMaskDTO> restrictions) { //Rules: //Has Allowed List Only: Only Allowed if on list. //Has Denied List Only: Only Allowed if not on List. //Has Both Lists: Only Allowed if on Allowed list and not in denied list. bool isAllowed = true; bool hasAllowed = false; bool hasDenied = false; if (restrictions.Count() > 0) { IPList allowed = new IPList(); foreach (var item in restrictions.Where(r => r.Allowed)) { hasAllowed = true; allowed.Add(BitConverter.ToUInt32(item.IPMask, 0), BitConverter.ToUInt32(item.SubnetMask, 0)); } IPList denied = new IPList(); foreach (var item in restrictions.Where(r => !r.Allowed)) { hasDenied = true; denied.Add(BitConverter.ToUInt32(item.IPMask, 0), BitConverter.ToUInt32(item.SubnetMask, 0)); } if (hasDenied) { isAllowed = !denied.CheckNumber(ipAddress); } if (hasAllowed && isAllowed) { isAllowed = allowed.CheckNumber(ipAddress); } } return(!isAllowed); }
private void connection_button_Click(object sender, EventArgs e) { setIP(IPList.GetItemText(IPList.SelectedItem), NETMASK, ""); connectToPeer("MicroITS"); connection_button.BackColor = Color.Green; disconnection_button.BackColor = Color.Red; }
public static IPList loadIpList(String fileName) { IPList list = new IPList(); try { // Create an instance of StreamReader to read from a file. // The using statement also closes the StreamReader. using (StreamReader sr = new StreamReader(fileName)) { String line; // Read and display lines from the file until the end of // the file is reached. while ((line = sr.ReadLine()) != null) { String[] ip_mask = line.Split('/'); if (ip_mask.Length == 2) { list.Add(ip_mask[0], Convert.ToInt32(ip_mask[1])); } } } } catch (Exception e) { } return list; }
public void Test_True_Constructor_2() { var ip_list = new IPList(new IP("1", "12.12.12.12/32")); var ip = new IP("1", "12.12.12.12/32"); Assert.True(ip_list.Data[0].Equals(ip)); }
public void Test_False_Constructor_2(string id, string subnet) { var ip_list = new IPList(new IP("1", "12.12.12.12/32")); var ip = new IP(id, subnet); Assert.False(ip_list.Data[0].Equals(ip)); }
public void Test_True_GroupIPs2() { var ip = new IP("1", "12.12.12.12/30"); var ip2 = new IP("2", "12.12.12.12/30"); var ip3 = new IP("3", "12.12.12.12/32"); var ip4 = new IP("4", "14.14.14.14/30"); var grouped_ips = new GroupedIPs(ip); grouped_ips.IPsList.Add(ip2); grouped_ips.InnerIPsList.Add(ip3); var grouped_ips2 = new GroupedIPs(ip4); var expected_grouped_ips_list = new List <GroupedIPs> { grouped_ips, grouped_ips2 }; var ip_list = new IPList(ip); ip_list.Data.Add(ip2); ip_list.Data.Add(ip3); ip_list.Data.Add(ip4); var ret = _subnetsService.GroupIPs(ip_list); CollectionAssert.AreEqual(ret, expected_grouped_ips_list); }
/// <summary> /// Конструктор репозитория. В нем происходит инициализация клиента для подклбчения к веб службе и загрузка списка IP-адресов. /// </summary> public IPsRepository() { _client = new IPsRepositoryWCFClient(); _ipList = new IPList(); Task.WaitAll(Task.Run(() => GetIpListFromIPsWCFAsync())); }
private async Task LoadDataTask() { var loadRoute = UpdateRoute(); IPList.Clear(); int o = 0; while (true) { string reqUri = "index.php?action=ip_db&a2=pub&_o=" + o; string responseString = await SendRequest.GET(reqUri); HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(responseString); HtmlNode node = doc.DocumentNode.SelectSingleNode(@"//form[@name='frm_mis']"); HtmlNodeCollection childs = node.SelectNodes(@"//form[@name='frm_mis']/tr"); int count = 0; for (int i = 0; i < childs.Count; i++) { if (i == 0 || i == childs.Count - 1 || childs[i] == null) { continue; } string ip = childs[i].SelectSingleNode(@"./td[@class='green']/a").InnerText; string name = StringHelper.RemoveSpecial(childs[i].SelectSingleNode(@"./td[4]").InnerText); string admin = childs[i].SelectSingleNode(@"./td[5]/i").InnerText; string owned = childs[i].SelectSingleNode(@"./td[6]").InnerText; string connect = childs[i].SelectSingleNode(@".//tr[@class='m2']/td[1]/a").GetAttributeValue("href", ""); string bounce = childs[i].SelectSingleNode(@".//tr[@class='m2']/td[2]/a").GetAttributeValue("href", ""); IPDBModel newData = new IPDBModel() { IP = ip, Name = name, Admin = admin, Owned = owned, Connect = connect, Bounce = bounce }; IPList.Add(newData); count++; } if (count == 0) { break; } o += 20; } await loadRoute; }
public void Test_False_Equals2() { var ip = new IP("1", "12.12.12.12/32"); var ip_list = new IPList(ip); var expected_ip_list = new IPList(); Assert.False(ip_list.Equals(expected_ip_list)); }
/// <summary> /// Splits the incoming ip string of the format "IP,IP" example "10.2.0.0,10.3.0.0" and adds the result to the IPList /// </summary> /// <param name="ips">The ips.</param> /// <param name="list">The list.</param> private void SplitAndAddSingleIPs(string ips, IPList list) { var splitSingleIPs = ips.Split(','); foreach (string ip in splitSingleIPs) { list.Add(ip); } }
public void AddSingle_ShouldWork() { var iplist = new IPList(); iplist.Add("10.0.0.3"); iplist.CheckNumber("10.0.0.2").ShouldBeFalse(); iplist.CheckNumber("10.0.0.3").ShouldBeTrue(); iplist.CheckNumber("10.0.0.4").ShouldBeFalse(); }
public PListTest() { _pList = new PList <string, string> { ["prop1"] = "value1", ["prop2"] = "value2", ["prop3"] = "value3", ["prop4"] = "value4", ["prop5"] = "value5", }; }
public void Test_False_Equals(string id, string subnet) { var ip = new IP("1", "12.12.12.12/32"); var expected_ip = new IP(id, subnet); var ip_list = new IPList(ip); var expected_ip_list = new IPList(expected_ip); Assert.False(ip_list.Equals(expected_ip_list)); }
/// <summary> /// Splits the incoming ip string of the format "IP;MASK,IP;MASK" example "10.2.0.0;255.255.0.0,10.3.0.0;255.255.0.0" and adds the result to the IPList /// </summary> /// <param name="ips">The ips.</param> /// <param name="list">The list.</param> private void SplitAndAddMaskedIPs(string ips, IPList list) { var splitMaskedIPs = ips.Split(','); foreach (string maskedIp in splitMaskedIPs) { var ipAndMask = maskedIp.Split(';'); list.Add(ipAndMask[0], ipAndMask[1]); // IP;MASK } }
private IPList SetDefaultIPList() { var ip = new IP("ca3d03674e2045ef85b824a14a386698", "12.12.12.12/32"); var ip2 = new IP("38a8e64feb7244da816063d63868f38e", "12.12.12.12/30"); var ip_list = new IPList(ip); ip_list.Data.Add(ip2); return(ip_list); }
public void Test_False_Equals3() { var ip = new IP("1", "12.12.12.12/32"); var ip_list = new IPList(ip); var expected_ip_list = new IPList(ip); expected_ip_list.Data.Add(new IP("1", "13.13.13.13/29")); Assert.False(ip_list.Equals(expected_ip_list)); }
private void IPList_SelectedIndexChanged(object sender, EventArgs e) { if (IPList.SelectedIndex >= 0) { for (int i = 0; i < IPList.Items.Count; i++) { IPList.SetItemChecked(i, false); } IPList.SetItemChecked(IPList.SelectedIndex, true); } }
private void UpdateFileList() { var content = JsonConvert.SerializeObject(IPList.ToList()); if (File.Exists(FILE_NAME)) { File.Delete(FILE_NAME); } using (var sw = new StreamWriter(FILE_NAME)) { sw.Write(content); } }
public void Test_False_Constructor_3(string id, string subnet) { var ip = new IP("1", "12.12.12.12/32"); var tmp_ip_list = new List <IP> { ip }; var ip_list = new IPList(tmp_ip_list); var expected_ip = new IP(id, subnet); var expected_ip_list = new IPList(); expected_ip_list.Data.Add(expected_ip); Assert.False(ip_list.Equals(expected_ip_list)); }
public void Test_True_Constructor_3() { var ip = new IP("1", "12.12.12.12/32"); var tmp_ip_list = new List <IP>(); tmp_ip_list.Add(ip); var ip_list = new IPList(tmp_ip_list); var expected_ip_list = new IPList(); expected_ip_list.Data.Add(ip); Assert.True(ip_list.Equals(expected_ip_list)); }
private void Handle(byte[] receiveDataArray, int nRecv, EndPoint remoteEP) { if (receiveDataArray != null) { if ((remoteEP as IPEndPoint).Address.ToString() == ZCIP.ToString() && (remoteEP as IPEndPoint).Port == ZCPort) { IPList list = IPConfigure.IPList.Find((IPList iplist) => { return(iplist.DeviceID == receiveDataArray[0]); }); SendControlData(receiveDataArray, nRecv - 1, 1, list.IP, list.Port); } else { SendControlData(receiveDataArray, nRecv, 0, ZCIP, ZCPort); } } Array.Clear(receiveDataArray, 0, receiveDataArray.Length); }
public void AddRange_ShouldWork() { var iplist = new IPList(); iplist.AddRange("0.0.0.5", "0.0.0.20"); for (uint ip = 0; ip < 5; ip++) { iplist.CheckNumber(ip).ShouldBeFalse(); } for (uint ip = 5; ip < 21; ip++) { iplist.CheckNumber(ip).ShouldBeTrue(); } for (uint ip = 21; ip < 32; ip++) { iplist.CheckNumber(ip).ShouldBeFalse(); } }
/// <summary> /// Sets an IP Mask /// </summary> public JsonResult IPMask(CompanyIPMaskDTO ipmask) { ExceptionsML bizEx; var client = SvcBldr.Company(); IPList l = new IPList(); if (!String.IsNullOrEmpty(ipmask.IPAddress)) { ipmask.IPMask = BitConverter.GetBytes(l.ParseIP(ipmask.IPAddress)); } if (!String.IsNullOrEmpty(ipmask.SubnetAddress)) { ipmask.SubnetMask = BitConverter.GetBytes(l.ParseIP(ipmask.SubnetAddress)); } ipmask = client.SetIPMask(ipmask, out bizEx); return(Result(ipmask, bizEx)); }
/// <summary> /// Метод группровки IP-адресов. /// </summary> /// <param name="ip_list">Объект класса IPList, со список IP-адресов, который будет сгруппирован.</param> /// <returns>Список объектов класса GroupedIPs с сгруппированными IP-адресами.</returns> public List <GroupedIPs> GroupIPs(IPList ip_list) { var sorted_ip_list = ip_list.Data; sorted_ip_list.Sort((ip, ip2) => ip.Mask.CompareTo(ip2.Mask)); var storage = new List <GroupedIPs> { new GroupedIPs(sorted_ip_list[0]) }; sorted_ip_list.RemoveAt(0); foreach (var ip in sorted_ip_list) { for (var i = 0; i < storage.Count; i++) { var result = CheckIsInSubnet(ip, storage[i].IPsList[0]); // если ip и storage[i].IPsList[0] это одна и та же подсеть if (result == 2) { storage[i].IPsList.Add(ip); break; } // если ip входит в storage[i].IPsList[0] if (result == 1) { storage[i].InnerIPsList.Add(ip); break; } // если ip не входит в storage[i].IPsList[0] // и это последний ip, который есть в storage if (result == 0 && i.Equals(storage.Count - 1)) { storage.Add(new GroupedIPs(ip)); break; } } } return(storage); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { width = ConvertUtility.ToInt32(Request.QueryString["w"]); if (width == 0) { width = (int)Constant.DefaultScreen.Standard; } ltrWidth.Text = "<meta content=\"width=" + width.ToString() + "; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;\" name=\"viewport\" />"; lang = ConvertUtility.ToInt32(Request.QueryString["lang"]); if (lang == 0) { ltrHoTro.Text = "Ho tro: 19001255"; lnkDautrang.Text = "Dau trang <img src=\"img/dautrang.jpg\" style=\"border:0px\" />"; } } plContent.Controls.Add(LoadControl("UserControl/List.ascx")); //vnmnumber = MobileUtils.GetMSISDN(); //if (!string.IsNullOrEmpty(vnmnumber) && MobileUtils.CheckOperator(vnmnumber, "vietnammobile")) //{ // if (!WapController.W4A_Subscriber_IsActive(vnmnumber, 3))//3 là Hot 100 // { // plThongbao.Controls.Add(LoadControl("UserControl/Thongbao.ascx")); // } //} //else plThongbao.Controls.Add(LoadControl("UserControl/Thongbao.ascx")); IPList iplist = new IPList(); iplist.Add("202.172.4.192", 26); iplist.Add("203.170.26.0", 24); iplist.Add("203.170.27.0", 24); iplist.Add("203.128.247.24", 30); iplist.Add("203.162.40.20", 30); if (!iplist.CheckNumber(HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"])) { plThongbao.Controls.Add(LoadControl("UserControl/Thongbao.ascx")); } }
protected void Page_Load(object sender, EventArgs e) { lang = ConvertUtility.ToInt32(Request.QueryString["lang"]); if (!string.IsNullOrEmpty(Request.QueryString["cpage"])) { curpage = ConvertUtility.ToInt32(Request.QueryString["cpage"]); } int is3g = 0; //string msisdn = MobileUtils.GetMSISDN(out is3g); string vnmnumber = MobileUtils.GetMSISDN(out is3g); IPList iplist = new IPList(); iplist.Add("202.172.4.192", 26); iplist.Add("203.170.26.0", 24); iplist.Add("203.170.27.0", 24); iplist.Add("203.128.247.24", 30); iplist.Add("203.162.40.20", 30); if (iplist.CheckNumber(HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"])) { showDL = true; } //if (!string.IsNullOrEmpty(vnmnumber) && MobileUtils.CheckOperator(vnmnumber, "vietnammobile") && (iplist.CheckNumber(HttpContext.Current.Request.UserHostAddress))) // if (VietnamobileWap.Library.Component.Wap.WapController.W4A_Subscriber_IsActive(vnmnumber, 3)) showDL = true; //start category list int totalrecord = 0; //DataTable dtCat = RTController.GetAllRingToneByCategoryAndDisplayTypeHasCache(Session["telco"].ToString(),110, (int)Constant.RingTone.Hot100, pagesize, curpage, out totalrecord); DataTable dtCat = RTController.VNM_GetAllRingToneByCategoryAndDisplayTypeHasCache(110, (int)Constant.RingTone.Hot100, pagesize, curpage, out totalrecord); rptlstCategory.DataSource = dtCat; rptlstCategory.ItemDataBound += new RepeaterItemEventHandler(rptlstCategory_ItemDataBound); rptlstCategory.DataBind(); Pagging1.totalrecord = totalrecord; Pagging1.pagesize = pagesize; Pagging1.numberpage = pagenumber; Pagging1.defaultparam = "?lang=" + Request.QueryString["lang"]; Pagging1.queryparam = "?lang=" + Request.QueryString["lang"] + "&cpage="; //end category list }
public ZCRelaySocket() { ReceiveDataArray = new byte[200]; IPList ZCiplist = IPConfigure.IPList.Find((IPList iplist) => { return(iplist.DeviceName == "ZCToATSAndCI"); }); ZCIP = ZCiplist.IP; ZCPort = ZCiplist.Port; IPList ipandport = IPConfigure.IPList.Find((IPList iplist) => { return(iplist.DeviceName == "ZCToATP"); }); HostIP = ipandport.IP; HostPort = ipandport.Port; IPEndPoint IPEP = new IPEndPoint(HostIP, HostPort); EndPoint EP = (EndPoint)IPEP; socketMain = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); socketMain.Bind(EP); CancelReceiveException(); }
public static Complex buildObj() { IPList ipList_1 = new IPList(); ipList_1.list1.Add("10.2.2.1"); ipList_1.list1.Add("127.0.0.1"); ipList_1.list1.Add("129.36.58.15"); ipList_1.list2.Add("2001:db8::ff00:1:8329"); ipList_1.list2.Add("ff:ac:12::5f"); ipList_1.list2.Add("1::"); IPList ipList_2 = new IPList(); ipList_2.list1.Add("100.20.20.10"); ipList_2.list1.Add("17.10.10.1"); ipList_2.list1.Add("12.36.68.105"); ipList_2.list2.Add("ff:fabf:faf:f15f:f1ff:f2f:1f:f2"); ipList_2.list2.Add("2001:db8::ff00:1:8329"); ipList_2.list2.Add("::1"); List<IPList> tmp1 = new List<IPList>(); tmp1.Add(ipList_1); tmp1.Add(ipList_2); List<IPList> tmp2 = new List<IPList>(); tmp2.Add(ipList_2); tmp2.Add(ipList_1); Dictionary<string, List<IPList>> dict1 = new Dictionary<string, List<IPList>>(); dict1.Add("AA", tmp1); Dictionary<string, List<IPList>> dict2 = new Dictionary<string, List<IPList>>(); dict2.Add("BB", tmp2); Complex com = new Complex(); com.list1.Add(dict1); com.list1.Add(dict2); return com; }
public void AddToList(string list, IPAddr ip) { try { LockCookie upgrade = new LockCookie(); bool upgraded = false; if (locker.IsReaderLockHeld) { upgrade = locker.UpgradeToWriterLock(new TimeSpan(0, 1, 0)); upgraded = true; } else { locker.AcquireWriterLock(new TimeSpan(0, 1, 0)); } try { if (!iplists.ContainsKey(list)) { iplists[list] = new IPList(); } iplists[list].Add(ip); } finally { if (upgraded) { locker.DowngradeFromWriterLock(ref upgrade); } else { locker.ReleaseWriterLock(); } } } catch (ApplicationException a) { Logging.LogCenter.Instance.LogException(a); } }
public JsonResult AddIPMasks(string Single_IP, string Cidr_IP, string Sub_IP, string Sub_Subnet, string Start_IP, string End_IP, bool IP_Allowed) { ExceptionsML bizEx; var client = SvcBldr.Company(); IPList l = new IPList(); if (!String.IsNullOrEmpty(Single_IP)) { l.Add(Single_IP); } if (!String.IsNullOrEmpty(Cidr_IP)) { var parts = Cidr_IP.Split(new char[] { '/' }); l.Add(parts[0], int.Parse(parts[1])); } if (!String.IsNullOrEmpty(Sub_IP) && !String.IsNullOrEmpty(Sub_Subnet)) { l.Add(Sub_IP, Sub_Subnet); } if (!String.IsNullOrEmpty(Start_IP) && !String.IsNullOrEmpty(End_IP)) { l.AddRange(Start_IP, End_IP); } foreach (var item in l.GetRanges()) { var mask = new CompanyIPMaskDTO() { IPMask = item.Key, SubnetMask = item.Value, Allowed = IP_Allowed }; client.SetIPMask(mask, out bizEx); if (bizEx != null) { return(Result(null, bizEx)); } } return(GetIPMasks()); }
public FliterWindowViewModel(MainWindowViewModel dataContext) { refreshMessage = (date) => dataContext.TcpPacket = date; ErrorList = from iteam in dataContext.HttpList where iteam.ErrorCode == ErrorCode.RESPONSE_ERROR || iteam.ErrorCode == ErrorCode.NET_NO_RESPONSE select iteam; WarningList = from iteam in dataContext.HttpList where iteam.ErrorCode == ErrorCode.NET_TIMEOUT || iteam.ErrorCode == ErrorCode.HTTP_ERROR select iteam; Dictionary <string, List <HttpModel> > mp = new Dictionary <string, List <HttpModel> >(); IPList.Clear(); foreach (var item in ErrorList) { if (!mp.ContainsKey(item.IP_DestinationAddress)) { List <HttpModel> newlist = new List <HttpModel>(); newlist.Add(item); mp.Add(item.IP_DestinationAddress, newlist); } else { List <HttpModel> oldlist; mp.TryGetValue(item.IP_DestinationAddress, out oldlist); oldlist.Add(item); } } foreach (var key in mp.Keys) { IPList.Add(key); } }
public void AddWithMask_ShouldWork() { var iplist = new IPList(); iplist.Add("172.16.1.15", "255.255.255.0"); iplist.CheckNumber("172.16.1.1").ShouldBeTrue(); iplist.CheckNumber("172.16.1.255").ShouldBeTrue(); iplist.CheckNumber("172.16.2.1").ShouldBeFalse(); iplist = new IPList(); iplist.Add("172.16.0.15", "255.255.0.0"); iplist.CheckNumber("172.16.1.1").ShouldBeTrue(); iplist.CheckNumber("172.16.255.255").ShouldBeTrue(); iplist.CheckNumber("172.15.1.1").ShouldBeFalse(); iplist = new IPList(); iplist.Add("172.0.0.0", "255.0.0.0"); iplist.CheckNumber("172.1.1.1").ShouldBeTrue(); iplist.CheckNumber("172.255.1.1").ShouldBeTrue(); iplist.CheckNumber("173.1.1.1").ShouldBeFalse(); iplist = new IPList(); iplist.Add("1.0.0.0", "255.0.0.0"); iplist.CheckNumber("1.0.0.0").ShouldBeTrue(); iplist.CheckNumber("1.255.255.255").ShouldBeTrue(); iplist.CheckNumber("2.0.0.0").ShouldBeFalse(); // ks 6/19/14 - I don't understand how this part works - it seems like "0.0.0.0/0.0.0.0" should specify // the entire address range, but it doesn't. Oh well. //iplist = new IPList(); //iplist.Add("0.0.0.0", "0.0.0.0"); //iplist.CheckNumber("1.0.0.0").ShouldBeTrue(); //iplist.CheckNumber("1.255.255.255").ShouldBeTrue(); //iplist.CheckNumber("2.0.0.0").ShouldBeTrue(); //iplist.CheckNumber("127.0.0.1").ShouldBeTrue(); }
public void AuthorizeEvent(ref WMS_EVENT pEvent, IWMSContext pUserCtx, IWMSContext pPresentationCtx, IWMSCommandContext pCommandCtx, IWMSEventAuthorizationCallback pCallback, object Context) { int hr = 0; // By deafault access is granted to user const int ACCESS_DENIED = unchecked((int)0x80070005); string user_ip_address = null; pUserCtx.GetStringValue(WMSDefines.WMS_USER_IP_ADDRESS_STRING, WMSDefines.WMS_USER_IP_ADDRESS_STRING_ID, out user_ip_address, 0); try { DateTime lastWrite = System.IO.File.GetLastWriteTime(denylistname); if (denyList == null) { denyList = IPListLoader.loadIpList(denylistname); lastWriteTime = lastWrite; } else if (lastWriteTime.Ticks != lastWrite.Ticks) { denyList = IPListLoader.loadIpList(denylistname); lastWriteTime = lastWrite; } if (denyList.CheckNumber(user_ip_address)) { hr = ACCESS_DENIED; } } catch (Exception e) { } pCallback.OnAuthorizeEvent(hr, Context); }
public void AddToList(string list, IPAddr ip) { try { LockCookie upgrade = new LockCookie(); bool upgraded = false; if (locker.IsReaderLockHeld) { upgrade = locker.UpgradeToWriterLock(new TimeSpan(0, 1, 0)); upgraded = true; } else locker.AcquireWriterLock(new TimeSpan(0, 1, 0)); try { if (!iplists.ContainsKey(list)) { iplists[list] = new IPList(); } iplists[list].Add(ip); } finally { if (upgraded) locker.DowngradeFromWriterLock(ref upgrade); else locker.ReleaseWriterLock(); } } catch (ApplicationException a) { Logging.LogCenter.Instance.LogException(a); } }