用c#获取ip

WinForm中使用MaskedTextBox制作IP地址输入框 1.实现的功能:输入IP地址,形如000.000.000.000的格式,并设置keydown事件,当输入点(.)的时候,自动跳至下一栏。从工具箱中拖入一个MaskedTextBox,命名为MaskedTextBox_IP。3.在PromptChar属性中,将_换为空格,如果你喜欢_的话,也可以不用换。2.在Mask属性中,输入:000.000.000.000。 阅读详情
摘要
想必大家对小榕时光等扫描器都非常熟悉了,有没有自己写一个的冲动。最近微软推实施了.NET战略方案,C#是主推语言,你们是否有兴趣用C#来实现对局域网IP地址的扫描,尝试一下自己写的快乐,那么请跟我来。

--------------------------------------------------------------------------------

目录
1.使用的类
2.获取本地主机IP地址
3.远程查询
4.实现网段的扫描

--------------------------------------------------------------------------------

正文
1.先介绍一下使用的类:
DNS类:在.net中的System.net命名空间下,主要的功能是从 Internet 域名系统 (DNS) 检索关于特定主机的信息。
IPHostEntry类:将一个域名系统 (DNS) 主机与一组别名和一组匹配的 IP 地址关联,和DNS类一起使用。
IPAddress 类:IP 网络上的地址。
使用的命名空间有:
System.Net 命名空间为当前网络上使用的多种协议提供了简单的编程接口.
System.IO命名空间包含允许在数据流和文件上进行同步和异步读取及写入的类型。
System.Thread 命名空间主要是用来多线程序编程。
程序实现以下几个功能:
2.获取本地主机IP地址
//对Button控件的事件的响应
private void buttion1_click(object sender,System.Event.Args e)
   {
IPHostEntry myHost = new IPHostEntry();
Try
{
  // Dns.GetHostName()获取本地计算机的主机名
  // Dns.GetHostByName()获取指定 DNS 主机名的 DNS 信息
  //得到本地主机的DNS信息
  myHost = Dns.GetHostByName(Dns.GetHostName());
  //显示本地主机名
textBox1.Text = myHost.HostName.ToString();
//显示本地主机的IP地址表
for(int i=0; i<myHost.AddressList.length;i++)
{
   richTextBox1.AppendText(“本地主机IP地址->”+myHost.AddressList[i].ToString()+”/r”);
}
                catch(Exception error)
                {
                    MessageBox.Show(error.Message);
                }
}//private

3.远程查询
  private void buttion2_click(object Sender,System.EventArgs e)
{

   IPHostEntry myDnsToIP = new IPHostEntry();
  //Dns.Resolve 方法: 将 DNS 主机名或以点分隔的四部分表示法格式的 //  IP 地址解析为 IPHostEntry实例
myDnsToIP =Dns.Resolve(textBox2.Text.ToString());
//显示此域名的IP地址的列表
for(int i=0;i<myDnsToIPAddressList.Length;i++)
{
     rich.TextBox1.AppendText(textBox2.Text+”的IP地址是”+myDnsToIP.AddressList[i].ToString()+”/r”);
}
}

4.实现网段的扫描
实现网段的扫描,确定网络中正在使用的主机数目。这里使用了多线程技术,增加了一个线程,为了防止程序扫描的时间过长,影响程序的响应。不过在.net中由于使用了垃圾收集技术所以对线程的控制也不是很复杂的。
private void button3_click(object sender, System.EventArgs e)
{
    //Thread 类: 创建并控制线程
    Thread thScan = new thread(new ThreadStrart(ScanTarget));
    //Thread.Start 方法:启动线程
    thScan.Strart();
  }
    private void ScanTarget()
    {
        //构造IP地址的31-8BIT 位,也就是固定的IP地址的前段
        // numericUpDown1是定义的System.Windows.Forms.NumericUpDown控件
    string strIPAddress=numericUpDown1.Text+”.”+numericUpDown2.Text+”.”+numericUpDown3.Text+”.”;
      //开始扫描地址
      int nStrat = Int32.Parse(numericUpDown4.Text);
        //终止扫描地址
      int nEnd =Int32.Parse(numericUpDown5.Text);
        //扫描的操作
        for(int i=nStrat;i<=nEnd;i++)
        {
            string strScanIPAdd = strIPAddress +i.ToString();
            //转换成IP地址
            IPAddress myScanIP = IPAddress.Parse(strScanIPAdd);
            try
            {
                //你可以加入自已的,增强功能
    // Dns.GetHostByAddress 方法: 根据 IP 地
//址获取 DNS 主机信息。
IPHostEntry myScanHost = 
Dns.GetHostByAddress(myScanIP);
//获取主机的名
string strHostName =myScanHost.HostName.ToString();
richTextBox1.AppendText(strScanIPAdd+”->”+strHostName+”/r”);
            }
            catch(Exception error)
            {
                MessageBox.Show(error.Message);
            }
        }//for    
  }//private

到此为止一个简单用C#实现扫描器的主要功能就完成了,试一下你可以看到你的网络上的主机,有没有成就感了:),
 
C# 设置IP地址及设置自动获取IP C# 设置IP地址及设置自动获取IP 原文:C# 设置IP地址及设置自动获取IP </pre><pre name="code" class="csharp">1.添加引用"system.Management"2.添加using System.Management&lt... 阅读详情

相关推荐

C#获取本地连接IP地址

NetworkInterface[] interfaces = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces(); int len = interfaces.Leng

ropin_os的专栏 5601

c# textbox只能输入ip_你了解C#的协变和逆变吗

C# 4.0开始,泛型接口和泛型委托都支持协变和逆变,由于历史原因,数组也支持协变。里氏替换原则:任何基类可以出现的地方,子类一定可以出现。协变(out)协变:即自然的变化,遵循里氏替换原则,表现在代码上则是任何基类都可以被其子类赋值,如Animal = Dog、Animal = Cat使用out关键字声明(注意和方法中修饰参数的out含义不同)被标记的参数类型只能作为方法的返回值(包括只读属性...

weixin_39942335的博客 197

C#获取本机IP地址的方法

IP地址是互联网协议地址(Internet Protocol address)的简称,是分配给网络中每个主机(网络设备)的唯一地址标识。它是实现网络通信的关键组件,使数据包能够在复杂的网络环境中准确无误地传送到目标主机。在互联网中,IP地址用于定位设备位置,确保网络通信的顺利进行。

weixin_42405592的博客 1287

C# 实现网段扫描

摘要  想必大家对小榕时光等扫描器都非常熟悉了,有没有自己写一个的冲动。最近微软推实施了.NET战略方案,C#是主推语言,你们是否有兴趣用C#来实现对局域网IP地址的扫描,尝试一下自己写的快乐,那么请跟我来。  正文  1.先介绍一下使用的类:  DNS类:在.net中的System.net命名空间下,主要的功能是从  Internet  域名系统  (DNS)  检索关于特定主机的信息。  IP

纯净的天空 1184

winform之ip地址控件textBox

C# winform 显示编辑ip地址,无需重绘textBox或者重写textBox方法,只需要在原生textBox控件对应事件中实现对应的算法即可。 1、textBox keyUp事件 private void textBoxKeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Back) return; String text = textBoxIP.Text; string[] sub.

Eric 3657

C# 获取公网ip地址

1  通过HttpWebRequest获取网页数据 public static string HttpGet(string url, string encoding) { string result = string.Empty; try { Encoding...

qq_25744257的博客 7031

C# 如何获取本机IP

这种写法本身没有问题,但是当你的电脑上有多个网卡,比如vmare虚拟的的网卡,那么你会得到一列的IP数据,没有办法得到这些IP那个是你正在使用的IP。就像这样这时网上的代码就会给你第二种的参考代码即让你去访问一个网站获取或者使用ipconfig命令来获取IP。这种方式没有什么问题,但是如果使用访问网站的方式,那么你可能获取到的是运营商分配的IP而不是本机局域网的IP。在一些需要访问本机局域网的的应用下就不太适用。所以我个人认为这些方案都不是特别好。

s_156的博客 1113

C#如何获取本机的外网ip地址?

C#如何获取本机的外网ip地址? 源码如下: public static string GetextenalIP() { //获取外部IP String url = "http://hijoyusers.joymeng.com:8100/test/getNameByOtherIp"; string IP = "未获取到外网ip"; try { //从网址中获取本机ip数据 ...

TING说 2007

C# 获取本地IP地址以及MAC地址

 C# 获取本地IP地址以及MAC地址 1、通过主机名获取局域网IP地址;            try            {                IPHostEntry ipHostEntry = Dns.GetHostEntry(txtHost.Text);//传递计算机名                if (ipHostEntry.Aliases.

pigDeity的专栏 3908

C#获取本机IP地址的4种方式

4 种获取本机IP地址的方式。

皓月如我的专栏 4万+

C#获取访问者ip获取本机ip地址

C#获取访问者ip获取本机ip地址 获取访问者ip: string userIP; // HttpRequest Request = HttpContext.Current.Request; HttpRequest Request = System.Web.HttpContext.Current.Request; // 如果使用代理...

这里将承载一段最初的记忆 1585

C#获取外网IP

public static string getExternalIp() { try { WebClient client = new WebClient(); client.Encoding = System.Text.Encoding.Default; ...

兰博zey的博客 2349

掌握C#中的主机IP地址获取技巧

网络编程涉及到的是一种使计算机能够通过网络发送和接收数据的活动。在操作系统提供的API的帮助下,程序员可以编写代码使得网络上的不同设备之间能够相互通讯。这包括了客户端与服务器之间的通信、数据传输以及各种网络服务的实现。在互联网早期,为了标识网络上的每台设备,便引入了IP地址的概念。当前,我们使用最广泛的IP版本是IPv4和IPv6。IPv4地址由32位二进制数构成,通常以四个十进制数表示,每个数的范围是0到255,四组数之间用点分隔,如192.168.1.1。

weixin_42604188的博客 1185

C# 一个获取请求IP的方法

C# 一个获取请求IP的方法 废话不多说,直接上方法。 ServerVariables集合有兴趣的可以去查一下; /// <summary> /// 取得客户端真实IP。如果有代理则取第一个非内网地址 /// </summary> /// <returns></returns> public string GetIP(HttpContext _Current) { string result = String.Empty; /

weixin_43932432的博客 2401

C#如何获取本机网络ip地址

<br />C#如何获取本机网络ip<br />有几种方法获取本机局域网地址和网络地址。<br />1.  获取本机局域网地址:<br />使用IPHostEntry <br />        static string GetLocalIp()<br />         {<br />             string hostname = Dns.GetHostName();<br />             IPHostEntry localhost = Dns.GetHostByNa

灯塔ADA的专栏 1万+

C# 获取IP地址

C# 获取IP地址 private void GetIP() 2 { 3 string hostName = Dns.GetHostName();//本机名 4 //System.Net.IPAddress[] addressLi...

aizhejuan4396的博客 180

C#获取本机内网外网IP

C#获取本机内网外网IP using System.Net; # region 获取内、外网Ip /// &lt;summary&gt; /// 获取本地ip地址,优先取内网ip /// &lt;/summary&gt; public static String GetLocalIp() { String[] Ips = GetLocalIpAddress(); foreac...

兰博zey的博客 1176
上一篇: Socket网络编程学习笔记(2):面向连接的Socket
下一篇: 针对构架师的.NET 3.0介绍
tongdoudpj
博客等级 码龄20年 262粉丝 3原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值