社区
C#
帖子详情
怎样才能实现IP自动递增啊????快折磨死我了!!
morijj
2003-10-08 05:26:37
如给一个IP 192.168.0.100
我现在想找到从192.168.0.100 到 192.168.0.255之间所有的web主机,
怎样才能从100 到255 递增呢?我搞了好久,都快折磨死我了!!
...全文
271
11
打赏
收藏
怎样才能实现IP自动递增啊????快折磨死我了!!
如给一个IP 192.168.0.100 我现在想找到从192.168.0.100 到 192.168.0.255之间所有的web主机, 怎样才能从100 到255 递增呢?我搞了好久,都快折磨死我了!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ArLi2003
2003-10-10
打赏
举报
回复
System.Net.IPAddress ip= System.Net.IPAddress.Parse("192.168.0.1");
long ip =(long) ip.Address;
ip++; //可以循环进行多段自增
//还原
System.Net.IPAddress p = new System.Net.IPAddress(ip);
严格的说,用还原二个字是不正确的,因为IP 地址本来就是long 型而不是我们所常见的 xxx.xxx.xx... 这样的东西
morijj
2003-10-09
打赏
举报
回复
ArLi2003老大,我试验了一下
int ip = (int)ip.Address
还真的可以把地址类型转换成int型,于是我把
192.168.0.1转变成int型之后得到了16840216
现在可以+1
可是如何把16840216转换成IPAddress型呢?
这次象(IPAddress)16840216这样的强制转换好像不行啊!
xiaolang800
2003-10-09
打赏
举报
回复
up
morijj
2003-10-09
打赏
举报
回复
啊?
ArLi2003老大,这样也行啊?我还是头一次看到。我马上试试!!
ArLi2003
2003-10-09
打赏
举报
回复
单段就直接加
多段可以
System.Net.IPAddress ip= System.Net.IPAddress.Parse("192.168.0.1");
int ip =(int) ip.Address;
然后再自增 ip++
morijj
2003-10-08
打赏
举报
回复
好啊,我先试试看。
changezhong
2003-10-08
打赏
举报
回复
同意 triout(笨牛)
方法是笨了点,不过很好理解啊,而且能实现你所要求的功能了
giardino
2003-10-08
打赏
举报
回复
笨办法System.convert…………
triout
2003-10-08
打赏
举报
回复
如果仅仅是想把192.168.0.100自动增加到192.168.0.255,可以使用下面的方法:
定义一个字符串:
string IPBase="192.168.0.";
string MyIP;
int i=100;
for(;i<=255;i++)
{
MyIP=IPBase+i.toString();
...
}
happydayandday
2003-10-08
打赏
举报
回复
up一下,C#实现网段扫描
树猫
2003-10-08
打赏
举报
回复
给你一点参考,希望能有帮助
C#实现网段扫描
摘要
想必大家对小榕时光等扫描器都非常熟悉了,有没有自己写一个的冲动。最近微软推实施了.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题解 | #【LittleXi】头好痛感觉要长脑子了O.o?
总共35min左右,感觉寄了自我介绍介绍一下最近做的项目,
实现
的功能,如何
实现
的,有哪些技术点(项目介绍得不清楚= =)文件权限的含义,rwx,600、700C。我昨天收到了吉比特的短信说我通过初筛待面试,说三个工作日之前会告诉我笔试时间,结果今天下午就说要我今晚七点考试,注意邮箱笔试信息,可我翻了邮箱和垃圾箱都没有笔试。1、网易雷火秋招正式批投递开启,欢迎投递!在现代网络应用中,高性能和
快
速响应是至关重要的,Python 的 FastAPI 框架以其出色的性能和简单易用的特点,成为了许多开发者的首选。
35岁,真的是我们的一道坎吗?
关于35岁,我想说:35岁干不动,只是借口而已。无论是是什么技术岗位,都需要不断的提高自己,才能面对职场激烈的竞争,才能立于不败之地
佬们给孩子推荐一下深圳或者东莞那边的工作,背景211材料
拿了南京熊猫通信的offer,只知道这公司是中电熊猫的子公司熊猫电子,的子公司,算个央企。我惹hr生气了,怎么办啊?很失望的事情,行行好,来帮帮我吧因为我没有给她内推到人,呜呜呜,我将失去她了,救命!比亚迪深圳总部招聘岗位:产品经理/前端/后端有意愿者简历直接发到我的邮箱:**********我不是hr 简历会直接发给领导 然后面试 流程
快
近两年发展迅猛,公。事情是这样的,面试官问我学校课程论文结束了吗,我就回答我研一一年就把课上完了,毕业的项目也是从研一就开始做了,毕业压力比较小,研二才能跑出去实习。
用Quartz处理定时执行的任务
用Quartz处理定时执行的任务 2014-07-03 18:21 by 默念默, 58596 阅读, 0 评论, 收藏, 编辑 这次做的项目中,有一部分功能需要
实现
定时执行。呃,这样说可能有点笼统,打个比方吧。例如用户在登录的时候,连续输错3次密码后,系统会将该用户冻结,不再允许该用户登录系统,等到了晚上零晨时分,再为所有被冻结的用户解冻,这样,用户在第二天又可以正常登录系统了。这样
Java
实现
面向对象编程
目录 第1章... 10 抽象和封装... 10 1.1用面向对象设计电子宠物系统... 14 1.1.1为什么使用面向对象... 14 1.1.2使用面向对象进行设计... 15 1.2通过创建对象
实现
领养宠物功能... 17 1.2.1创建类的对象... 17 1.2.2构造方法及其重载... 23 1.2.3常见错误... 28 1.3使用封装优化电子宠物系统的类... ...
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章