C#实现网段扫描

原创 2004年08月14日 00:02:00

使用到的类:
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#实现网段扫描

摘要   想必大家对小榕时光等扫描器都非常熟悉了,有没有自己写一个的冲动。最近微软推实施了.NET战略方案,C#是主推语言,你们是否有兴趣用C#来实现对局域网IP地址的扫描,尝试一下自己写的快乐,...
  • yangfanconan
  • yangfanconan
  • 2013年10月08日 11:13
  • 368

Python实现网段固定端口扫描

使用Python写的一个扫固定端口的小工具,接收参数:起始IP,终止IP,目标端口。并测试成功,于是在此记录下,大牛勿喷。...
  • u011721501
  • u011721501
  • 2014年08月25日 20:58
  • 2302

JAVA SWING 多线程实现扫描同一个网段的IP,以及选定IP的端口

用了一个礼拜时间做了一个端口扫描程序。从扫描同一个网段的IP开始,逐步添加功能。现在还具有了扫描选定IP的常见TCP/UDP端口(包括部分常见木马所使用端口),并可以自定义扫描端口。扫描同一网段的IP...
  • qq372712203
  • qq372712203
  • 2014年02月20日 14:01
  • 1191

[端口扫描]S扫描器跨网段扫描

最近看了下端口扫描,用了几款扫描器,nmap啊,x-sacn等。之前很少关注安全方面的东西,所以也比较菜。 其中有一款叫做 "S扫描器"的,扫描速度非常快,可以大网段的扫描,几十万个IP在机器和网络不...
  • lzz957748332
  • lzz957748332
  • 2015年01月05日 22:52
  • 4979

C# 多任务网段扫描练习

创建一个WPF应用程序,用多任务来扫描一个网段内的计算机,根据计算机的IP地址获取其主机名,程序运行结果如下:废话不多说,直接上代码using System; using System.Collect...
  • qq_28602957
  • qq_28602957
  • 2016年09月25日 16:10
  • 2315

强悍的nmap扫描工具

首先,简单列举一个扫描端口的
  • tenfyguo
  • tenfyguo
  • 2014年05月19日 10:44
  • 22490

自定义View实现雷达扫描效果

自定义控件View中常用到的几个方法 onMeasure: 需要测量自身尺寸的时候 onLayout:布局控件的时候 onDraw:绘制控件的时候 先调用onMeasure来计算 在调用onLayo...
  • wanzhuanit
  • wanzhuanit
  • 2016年01月17日 22:56
  • 816

基于ICMP和TCP协议的网段扫描器

1. 系统描述1.1. 设计目标进行网络管理时,常常需要确定当前网络中处理活动状态的主机。本设计的目标就是编制程序,利用ICMP的回送请求和回送应答消息,来发现指定网段中的活动主机,即ping消息...
  • SkullSky
  • SkullSky
  • 2016年08月18日 20:50
  • 2245

多任务网段扫描

多任务网段扫描 --前台界面设计部分---使用动态布局(优点:界面布局清晰、控件会随着窗口大小而改变) ...
  • Turing_1024
  • Turing_1024
  • 2017年03月20日 11:24
  • 47

网络扫描工具nc&nmap

一、NC 1、nc安装 # yum install nc 2、nc详解 linux nc命令   功能说明:功能强大的网络工具 语  法:nc [-hlnruz][-g][-G]...
  • open_data
  • open_data
  • 2015年07月22日 15:35
  • 1999
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#实现网段扫描
举报原因:
原因补充:

(最多只允许输入30个字)