如何实现在一台机器上检测本局域网中的机器的连通情况情况(50分)

  • 主题发起人 主题发起人 程旭
  • 开始时间 开始时间

程旭

Unregistered / Unconfirmed
GUEST, unregistred user!
  其机理像用Ping。但同时必须知道本网中有多少机器。
  能提个方案吗?
  这个问题涉及的方面比较多,但只我这么多分了。
 
手工的话查网上邻居
写程序的话用api:
WNetOpenEnum
WNetEnumResource
WNetCloseEnum
 
Another_eYes,怎么用呀?
具体一点嘛!
 
用ICMP机制PING同一网内的所有机器。有个例子叫IPSCAN在深度历险中有。但是要知道IP范围。
 
用ICS构件里的PING工具, 很好用.
http://202.98.107.150/kite/可以当到!
 
呵呵,PING不行, 还是EYES的方法好.
DWORD WNetOpenEnum(
DWORD dwScope, // scope of enumeration
DWORD dwType, // resource types to list
DWORD dwUsage, // resource usage to list
LPNETRESOURCE lpNetResource, // pointer to resource structure
LPHANDLE lphEnum // pointer to enumeration handle buffer
);
typedef struct _NETRESOURCE { // nr
DWORD dwScope;
DWORD dwType;
DWORD dwDisplayType;
DWORD dwUsage;
LPTSTR lpLocalName;
LPTSTR lpRemoteName;
LPTSTR lpComment;
LPTSTR lpProvider;
} NETRESOURCE;

DWORD WNetEnumResource(
HANDLE hEnum, // handle to enumeration
LPDWORD lpcCount, // pointer to entries to list
LPVOID lpBuffer, // pointer to buffer for results
LPDWORD lpBufferSize // pointer to buffer size variable
);
DWORD WNetCloseEnum(
HANDLE hEnum // handle to enumeration
);

 
cytown :
如果LAN中既有Router 也有Switch,用你提供的方法是否还可以奏效?
 
hehe, 那就不是本网了:-)
跨子网的话用ping吧:-(
 
可以用IPMAN控件(国产)试一试,在tqz大侠的主页上。
(http://202.120.100.49/tqz/component.htm)
 
多人接受答案了。
 
后退
顶部