请问如何解决用BCB检测远程主机某个端口 是否打开???

woofan 2003-04-11 05:45:10
在BCB里面有没有控件用来检测远程主机(如果知道该主机的ip)的某个端口 是否打开???
...全文
174 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sczyq 2003-05-23
  • 打赏
  • 举报
回复
// 用 TCliectSocket 控件: 名称: ClientSocket1
// 请将ClientSocket1设为同步模式,即: ClientSocket1->ClientType = ctBlocking;
// TLabeledEdit * LabeledEdit1; 主机名或IP
// TLabeledEdit * LabeledEdit2; 端口
// TMemo *Memo1; 运行情况
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
ClientSocket1->Close();
ClientSocket1->Host = LabeledEdit1->Text;
ClientSocket1->Port = LabeledEdit2->Text.ToIntDef(1);
Memo1->Lines->Add("打开 : " + LabeledEdit1->Text + ":" + LabeledEdit2->Text);
Memo1->Lines->Add(Now().TimeString());
try
{
ClientSocket1->Open();
}
catch (...)
{
}
Memo1->Lines->Add(Now().TimeString());
if (ClientSocket1->Active)
Memo1->Lines->Add(" --- 端口存在 !");
else Memo1->Lines->Add(" --- 端口无 !");
ClientSocket1->Close();
}
//---------------------------------------------------

若主机名不存在, 耗时21秒
若端口不存在, 耗时约1秒
若端口存在, 迅速打开

// 测试主机: P4 1.7G 256M
shiufurong007 2003-04-20
  • 打赏
  • 举报
回复
用一个网络命令可以啊,, netstat ,你可以把它转换成cb调用啊!
NowCan 2003-04-20
  • 打赏
  • 举报
回复
楼上的哥们,是远程主机的端口,不是本地的。

楼主,到www.xfocus.net去找扫描器吧。
csdsq 2003-04-19
  • 打赏
  • 举报
回复
YOU ARE WELCOME!
woofan 2003-04-19
  • 打赏
  • 举报
回复

真的谢谢你们了 ,我是刚注册这里的 想不到得到这么多高手帮助。THANKS A LOT。
kicinai 2003-04-16
  • 打赏
  • 举报
回复
连接端口,能连接的,向端口发送该协议的确认文报,能成功接受正确的返回信息就可以
ronshen 2003-04-16
  • 打赏
  • 举报
回复
如果只是想检测某几种端口,应该很简单。
如果想检测的是几乎所有端口的话,建议你去看看nmap的说明和源码。
http://www.insecure.org/nmap/

这个东东可以完成以下各种扫描:

Vanilla TCP connect() scanning,
TCP SYN (half open) scanning,
TCP FIN (stealth) scanning,
TCP ftp proxy (bounce attack) scanning,
SYN/FIN scanning using IP fragments (bypasses packet filters),
UDP recvfrom() scanning,
UDP raw ICMP port unreachable scanning,
ICMP scanning (ping-sweep), and
Reverse-ident scanning.

叶子哟 2003-04-15
  • 打赏
  • 举报
回复
NetMaster组控件:
如NMecho,NMDaTime,NMFTP等
example:
tyr
{
NMEcho1->Host = ...;
NMEcho1->TimeOut = ...;
NMEcho1->ReportLevel = Status_Basic;
NMEcho1->Connect();
NMecho1->Disconnect();
}
cathe(...)
{
ShowMessage("主机不提供Echo服务");
NMecho1->Disconnect();

}
shark_dim 2003-04-15
  • 打赏
  • 举报
回复
up too!
because I also want to Know what we will do!
shark_dim 2003-04-14
  • 打赏
  • 举报
回复
up
DavidBone 2003-04-14
  • 打赏
  • 举报
回复
ding

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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