怎么扫描指定的IP段啊

linjie0001 2011-06-23 08:49:07
怎么扫描指定的IP段啊
...全文
186 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sharebei 2011-06-26
  • 打赏
  • 举报
回复
lyhoo163 2011-06-26
  • 打赏
  • 举报
回复
路过。顶一下。
zhoufs 2011-06-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 linjie0001 的回复:]

Delphi有没有输入IP的控件啊
[/Quote]

MaskEdit可以用来输入IP 。
linjie0001 2011-06-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhoufs 的回复:]
引用 5 楼 linjie0001 的回复:

Delphi有没有输入IP的控件啊


MaskEdit可以用来输入IP 。
[/Quote]

没有啊,要怎么弄啊?
蓝色光芒 2011-06-24
  • 打赏
  • 举报
回复
更正一下代码
Result := ErrorCode<>Invalid_Socket;
if Result then ShutDown(Sock);
CloseSocket(Sock);
!!!!!!!!Sorry
linjie0001 2011-06-23
  • 打赏
  • 举报
回复
Delphi有没有输入IP的控件啊
蓝色光芒 2011-06-23
  • 打赏
  • 举报
回复
多线程下分别用不同的IP调用以下函数,来判断端口,
需要引用WinSock
需要在程序初始化时,调用
var
WSA : TWSAData;
begin
WSAStartup(MakeWord(2,2),WSA);
初始化


Function TryConnectPort(IP : AnsiString; Port : integer) : Boolean;
var
Sock : TSocket;
ErrorCode : integer;
Server : TSockaddr;
begin
Server.sin_family := AF_INET;
Server.sin_port := htons(Port);
Server.sin_addr.S_addr := inet_addr(Pointer(IP));
Sock := Socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
ErrorCode := connect(Sock,Server,SizeOf(Server));
Result := ErrorCode<>Invalid_Socket;
if Result then begin
ShutDown(Sock);
CloseSocket(Sock);
end;
end;



如果是ping的话,可以考虑icmp.dll的导出函数IcmpCreateFile,IcmpCloseHandle,IcmpSendEcho来完成ping,如果有数据返回肯定在线,不过这个方法不保险,防火墙默认几乎都关闭了这个的.
linjie0001 2011-06-23
  • 打赏
  • 举报
回复
怎么扫描指定的IP段的 端口与是否在线 啊
国风 2011-06-23
  • 打赏
  • 举报
回复
参考一下这个
LanExplorer
蓝色光芒 2011-06-23
  • 打赏
  • 举报
回复
扫描什么?端口?在线与否?还是什么?

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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