怎么样进行局域网扫描???(200分)

  • 主题发起人 主题发起人 babyboom
  • 开始时间 开始时间
B

babyboom

Unregistered / Unconfirmed
GUEST, unregistred user!
我有这样一个问题:
想对一个局域网内部的所有机器进行扫描,要求显示出哪些机器是开着的,哪些是关着的。
想用delphi实现,有什么方法,请多多指教。
 
依次用程序Ping一遍
 
如果其他机器没有在WINDOWS下,用PING是不行的
 
几个方法. 一个是对IP进行访问 也可以在客户机上装个client自动通矢server端.
 
问题是:
即使对方机器装了Windows,没装TCP/IP协议怎么办?
即使装了TCP/IP,如果装了防火墙(如天网),怎么办?还Ping得通吗?
即使对方装了TCP/IP,没装防火墙,人家和你不在同一个网段(比如人家瞎设了一个IP地址,你的IP是210.28.132.252,而人家的IP是12.12.12.12),怎么办?
所以:
用Ping或Socket只能说明哪些机器是开着的,而不能说明哪些是关着的。

如果假设所有机器都装了TCP/IP,都有合法的IP,并可以Ping得通,可以用Ping,
不过ping的速度太慢,你也可以试一试这个程序:
http://delphi.mychangshu.com/dispdoc.asp?id=377
 
用Trace命令跟踪路由器包传输,看是否畅通!
 
大哥们,人家要的是可能电脑不在windows下,那么ping ,tracert都有什么用呀?!
 
to sword_liu:
同志,Unix和Linux的网络功能更强大,当然Ping得通。Dos我就不知道了。:)

当然,我还是觉得“只能说明哪些机器是开着的,而不能说明哪些是关着的。”
 
》大哥们,人家要的是可能电脑不在windows下,那么ping ,tracert都有什么用呀?!
这是什么话嘛。只要他的操作系统支持网卡就肯定支持ping,当然你能不能ping通要看他的设置了。
所以能ping到的一定开机,但不是开机的就一定能ping到。
 
还有一种方法, 用snmp, 看机器开snmp服务没有, 用public去读一读
网关的,pc的ARP表,路由表什么的.
 
想知道如何实现
 
后退
顶部