Ejemplo n.º 1
0
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            string start = sip.Text;
            string end   = lip.Text;

            byte[] sb = IPCon.GetBytes(start);
            byte[] eb = IPCon.GetBytes(end);

            flag = false;

            //for (byte a = sb[0]; a <= eb[0] && a <= 255; a++)
            //    for (byte b = sb[1]; b <= eb[1] && b <= 255; b++)
            //        for (byte c = sb[2]; c <= eb[2] && c <= 255; c++)
            for (byte i = sb[3]; i <= eb[3] && i <= 255; i++)
            {
                if (flag)
                {
                    break;
                }

                PingReply reply = await Ping(IPCon.BytesToIP(sb[0], sb[1], sb[2], i));

                string      ip     = reply.Address.ToString();
                IPHostEntry host   = Dns.GetHostEntry(IPCon.BytesToIP(sb[0], sb[1], sb[2], i));
                IPStatus    status = reply.Status;
                DataRow     dr     = dt.NewRow();
                dr[0] = ip;
                dr[1] = host.HostName;
                dr[2] = status.ToString();
                dt.Rows.Add(dr);
            }
        }
Ejemplo n.º 2
0
        public static string GetGatewayAddress(string ip, string mask)
        {
            byte fb  = (byte)(IPCon.FirstByte(ip) & IPCon.FirstByte(mask));
            byte sb  = (byte)(IPCon.SecondByte(ip) & IPCon.SecondByte(mask));
            byte tb  = (byte)(IPCon.ThirdByte(ip) & IPCon.ThirdByte(mask));
            byte fob = (byte)((IPCon.FourthByte(ip) & IPCon.FourthByte(mask)) + 1);

            return(IPCon.BytesToIP(fb, sb, tb, fob));
        }
Ejemplo n.º 3
0
        public static string GetBroadcastAddress(string ip, string mask)
        {
            string nwa = GetNetworkAddress(ip, mask);
            byte   fb  = (byte)(~(IPCon.FirstByte(mask)) | (IPCon.FirstByte(nwa)));
            byte   sb  = (byte)(~(IPCon.SecondByte(mask)) | (IPCon.SecondByte(nwa)));
            byte   tb  = (byte)(~(IPCon.ThirdByte(mask)) | (IPCon.ThirdByte(nwa)));
            byte   fob = (byte)(~(IPCon.FourthByte(mask)) | (IPCon.FourthByte(nwa)));

            return(IPCon.BytesToIP(fb, sb, tb, fob));
        }