C#实现网段扫描

渗透测试工具——Nmap Nmap简介 Nmap是Linux下一款开源的网络发现和安全审计工具。 Nmap使用原始IP报文来发现网络上有那些主机,这些主机提供什么服务(应用程序名和版本),服务运行在什么操作系统,它们使用什么类型的报文过滤器/防火墙,以及一些其他功能。 Nmap家族成员 Zenmap:Nmap的图形界面版 Ncat:基于netcat,并扩展了一些功能,如ncat链、SSL支持、二进制 Ncrack:测试已部署的认证系统和密码强度,支持常用协议 Ndiff:用于网络基线测试,对比Nmap扫描结果之间 阅读详情

使用到的类:
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#多线程局域网扫描器

C#开发的简易局域网扫描器 可选择工作模式(单线程,多线程,背景线程)并扫描局域网内所有计算机

NMAP扫描基本操作

今天继续给大家介绍渗透测试相关知识,本文主要内容NMAP扫描基本操作。 一、使用NMAP进行PING扫描 二、使用NMAP进行半连接扫描 三、使用NMAP进行操作系统扫描

永远是少年 6718

PortScanner:C#实现多线程端口扫描器V1.0

##PortScanner项目(C#实现多线程端口扫描器)说明 ###1. 概述 文件结构 ####1.1 课程设计目的 加深TCP/IP协议的理解,掌握TCP四次握手机制,同时熟悉socket编程。 ####1.2 课程设计内容 实现一个端口扫描器: 支持多进程/线程; 能对单个指定主机进行扫描或扫描指定网段内的主机; 能扫描特定的部分端口或对指定的端口段内的端口进行逐个扫描; 能够显示所开放端口的服务名称; ###1.3 运行环境 Windows xp、Windows 7、Windows8,Visual Studio2013 ###2. 系统分析与设计 ####2.1 原理概述 端口扫描有好几种,但其中TCP connect扫描是最基本的扫描,我们可以利用系统提供的connect()用来与每一个目标计算机的端口进行连接。如果端口处于侦听状态,那connect()就能成功。否则,这个端口

网段扫描/主机发现-netdiscover/nmap/arp-scan

网段扫描-netdiscover/nmap/arp-scan

- 3124

C#多线程端口扫描

编写Windows应用程序,使用多线程技术实现局域网内指定主机IP地址的端口扫描程序,要求满足以下功能: 指定端口号范围,列出指定主机开放的TCP端口号及UDP端口号; 显示各端口号类型;

Unity3D 2022版如何一键安装Newtonsoft.Json?最新Package Manager教程

本文详细介绍了在Unity3D 2022及以上版本中,如何通过Package Manager一键安装和配置Newtonsoft.Json(Json.NET)。教程涵盖了从打开Package Manager、搜索并安装正确包源,到验证安装和基础使用的完整流程,旨在帮助开发者以现代化、可靠的方式集成这一强大的JSON处理框架,提升开发效率并规避手动导入的常见问题。

lg888的博客 921

黑客工具之Nmap详细使用教程(扫描器主机、端口、版本、OS、漏洞扫描基本用法)

压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。intrusive:入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽;fuzzer:模糊测试的脚本,发送异常的包到目标机,探测出潜在的漏洞;

Cairo_A的博客 1万+

Ubuntu20.04 高效安装企业微信的完整指南

本文提供了在Ubuntu20.04系统上高效安装企业微信的完整指南,详细介绍了通过Deepin-wine环境运行Windows版企业微信的步骤和优化技巧。内容包括系统环境检查、依赖安装、企业微信包的获取与安装、首次运行配置及常见问题解决方案,帮助开发者在Ubuntu系统中流畅使用企业微信进行办公通讯。

weixin_42568801的博客 351

C# 实现网段扫描

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

纯净的天空 1186

Ta-Lib源码解析(三):蜡烛图指标 (Candlestick Indicator) #(附Python重构代码和示意图)(补充中)

蜡烛图指标为识别K线形态的指标,笔者认为重点在于定义方式所提供的思路,背后的投资逻辑可以借鉴但不建议直接参考文档的翻译内容和源码逻辑存在不一致的现象,笔者分别列出中文百科中的定义和源码实际逻辑,供大家参考技术分析理论中的一些模糊词,ta-lib中给出了精确的定义源码

量化就是探索生活 3254

【抓包工具】Windows 10/11:Charles 从零到精通(下载、安装、配置与HTTPS证书实战)

本文提供了一份详尽的Charles抓包工具在Windows 10/11系统上的从零到精通指南。内容涵盖下载安装、初始配置、解决端口冲突,并重点解析了HTTPS抓包的核心步骤——安装CA证书。此外,还介绍了手机抓包配置及映射、断点等高效使用技巧,帮助开发者和测试人员快速掌握网络调试与安全分析技能。

weixin_29251131的博客 551
上一篇: 爱情和金钱的测试
下一篇: 进程之间通讯的几种方法
大雨仔
博客等级 码龄23年 28粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值