菜鸟求救:如何用VC实现局域网内主机扫描,在线等待

andytau 2004-04-29 10:54:38
曾经用java作了一个简单的,只打印出IP地址和主机名(代码下附),但速度奇慢,
所以想用VC作,查了很多书,有的只是扫描一个域内(或一个工作组内)的主机,有的还要通过发包等来扫描,有没有象java那样的简单函数就能搞定的,而且尽量是用IP地址作为主键来循环,欢迎赐教,小鸟不胜感激!

public class IpToHostname{
public static void main (String[] args) {
int i0=192,i1=168,i2=0;
//i0,i1,i2分别代表局域网内私有Ip地址的前三个字段
for(int i3=1i3<255;i++)
{
String IpAddress=i0+"."+i1+"."+i2+"."+i3;
try{
InetAddress HostComputer= InetAddress.getByName(IpAddress);
String hostname=HostComputer.getHostName();
System.out.println(IpAddress+":"+hostname);
}
catch (UnknownHostException e)
{
System.err.println(e);
}
}//for
}//main
}
...全文
237 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
df8327 2004-05-06
  • 打赏
  • 举报
回复
至于第二个问题,可以使用NET Framework 类库 的Dns.Resolve 方法获得 IPHostEntry对象,从而获得对应主机的DNS名
df8327 2004-05-05
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2932/2932715.xml?temp=.3153955
rorot 2004-05-05
  • 打赏
  • 举报
回复
开200个线程扫
andytau 2004-05-05
  • 打赏
  • 举报
回复
可以详细点吗?
GR 2004-05-02
  • 打赏
  • 举报
回复
用ICMP的端口不可达错误,
wangle11111 2004-05-01
  • 打赏
  • 举报
回复
ping的代码 许多讲 SOCK的书上都有。。
halk 2004-05-01
  • 打赏
  • 举报
回复
至于其他方法,前人总结了若干,大多也是利用Icmp。较常用的是利用异常的ip报文头,诱使目标主机发挥错误信息,以证明该主机已上线。
halk 2004-05-01
  • 打赏
  • 举报
回复
DWORD WINAPI IcmpSendEcho (HANDLE IcmpHandle
IPAddr DestinationAddress LPVOID RequestData WORD RequestSize PIP_OPTION_INFORMATION RequestOptions LPVOID ReplyBuffer DWORDReplySize DWORD Timeout);
不想自己写ping,也可以调用这个函数实现。
andytau 2004-04-30
  • 打赏
  • 举报
回复
能不能系统调用ping,自己写ping太多也太麻烦了。
另外,“用raw socket发ICMP报文,逐个探测,就是ping”,能否写出代码实现,感激涕泠!!!!!
andytau 2004-04-30
  • 打赏
  • 举报
回复
高手都哪儿去啦?
求助
andytau 2004-04-30
  • 打赏
  • 举报
回复
up
help!!
wangle11111 2004-04-30
  • 打赏
  • 举报
回复
学习。。夜风说的方法不错的。。。挺好!但所说的其他办法是什么呢???NetBios协议也可以完成,但它不能通过router啊。。。思考!!
PiggyXP 2004-04-30
  • 打赏
  • 举报
回复
也可以通过NetBOIS协议来实现
halk 2004-04-30
  • 打赏
  • 举报
回复
用raw socket发ICMP报文,逐个探测。就是ping。ping通的就gethostbyaddr。
当然,如果目标主机上有包过滤防火墙滤掉了echo报文,就得想其他办法了。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧