如何获得本机中应用的端口(TCP/UDP) 扫描端口的疑问??

lwg0869 2005-04-21 09:22:11
1\用扫描方式只能得到用了LISTEN();的端口,而不能得到BIND()但没有LISTEN()的端口
UDP因没有连接应该用什么样的方法得到端口??(用于远程机)
2、用原始套接字设置网卡为混乱模式,例发送方向 192.168.XXX.1:9000 用UDP发送数据,但192.168.XXX.1的9000 口没有开,这种情况我理解为:数据扔然发到了192.168.XXX.1的网卡上,但因对应口没开所以无法接收数据,可是 用原始套接字设置网卡为混乱模式监视网卡得到的却是ICMP数据,而我可以成功接收经过本机网卡的其他机器的数据。这是为什么那?发UDP怎么会出来ICMP??
...全文
137 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
VCSQLVB 2005-04-22
  • 打赏
  • 举报
回复
我觉得不用这么复杂吧,扫描端口的话可以用bind函数,返回失败就证明已经在使用了。
塞纳河水 2005-04-22
  • 打赏
  • 举报
回复
up
Practise_Think 2005-04-22
  • 打赏
  • 举报
回复
先用SOCKET绑定一个指定的端口,然后就使用该SOCKET,那么这个SOCKET用的端口就是这个指定的端口了!!
Jimmy_Xia 2005-04-22
  • 打赏
  • 举报
回复
不是很清楚,我想到的一个笨办法是因为一个端口只能被一个SOCKET绑定,那么试试能不能绑定也许可以判断这个端口是否在使用。
aleng1983 2005-04-22
  • 打赏
  • 举报
回复
可以去下载一个Fport软件然后在运行里运行就可以知道了
lwg0869 2005-04-22
  • 打赏
  • 举报
回复
有没有API函数返回端口???毕竟太多的端口,如果是一个一个的试,64K也不少!!
另外本机端口有办法找到,那远程的该怎么办???
"如果收到的数据包对应端口上没有绑定的套接字,系统会自动产生ICMP回应包,
通知对方端口不可达"----通过这一句话我想是不是可以根据返回的ICMP回应包找到UDP???
lwg0869 2005-04-21
  • 打赏
  • 举报
回复
获得端口的目的是在自己分配端口时不会发生冲突。
wwww2 2005-04-21
  • 打赏
  • 举报
回复
如果收到的数据包对应端口上没有绑定的套接字,系统会自动产生ICMP回应包,通知对方端口不可达

18,356

社区成员

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

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