如何判断一个UDP端口是否开放

HoneyPot 2005-11-07 09:55:39
如何判断一个UDP端口是否开放,想写一个udp的单端口扫描器
...全文
5462 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
DrSmart 2005-11-15
  • 打赏
  • 举报
回复
用blue port scanner 就行了,原理和nmap不太一样,nmap是发送0字节的udp包,这个嘛暂时保密技术,不过扫udp端口绝对准确,
HoneyPot 2005-11-09
  • 打赏
  • 举报
回复
是的,icmp现在的连个人防火墙都禁止,好像这种方法现在不行了,但是网上找过一个国外的udp扫描器(不知道叫什么,不太有名),可以扫到远程udp 4000就是qq的端口,(icmp协议禁止状态)现在找的扫描器都无法扫描到4000,大家有什么好的udp扫描器推荐一下,不过nmap在我的机子上无法正常运行不知为什么,有更好的方法大家也说一下。编程实现也可以,继续求救大家谢谢
hjunxu 2005-11-09
  • 打赏
  • 举报
回复
但现在很多的防火墙设置都会过滤ICMP的。
gohappy_1999 2005-11-09
  • 打赏
  • 举报
回复
mark
哄哄哈哈哈 2005-11-09
  • 打赏
  • 举报
回复
UDP无连接,所以不能直接通过connect测试。
可以向目标主机的每个端口发出一个0字节的UDP包,如果我们收到端口不可达的ICMP消息,端口就是关闭的,否则我们就假设它是打开的。
不幸的是,UDP扫描有时非常缓慢,因为大多数主机限制ICMP错误信息的比例(在RFC1812中的建议)。例如,在Linux内核中(在net/ipv4/icmp.h文件中)限制每4秒钟只能出现80条目标不可达的ICMP消息,如果超过这个比例,就会给1/4秒钟的处罚。solaris的限制更加严格,每秒钟只允许出现大约2条ICMP不可达消息,这样,使扫描更加缓慢。程序应该检测这个限制的比例,减缓发送速度,而不是发送大量的将被目标主机丢弃的无用数据包。
不过Microsoft忽略了RFC1812的这个建议,不对这个比例做任何的限制。所以我们可以能够快速扫描运行Win95/NT的主机上的所有65K个端口。
hjunxu 2005-11-08
  • 打赏
  • 举报
回复
个人感觉在socket层上好像没有办法作吧.
HoneyPot 2005-11-08
  • 打赏
  • 举报
回复
谢谢楼上的是tcp的,这个我知道了,大家能给一个demo code吗?刚看scoket编程,udp端口任意比如12345、321,只要判断这个UDP端口打开就行了
zhaojian999 2005-11-08
  • 打赏
  • 举报
回复
看看能连接不
femalelover 2005-11-08
  • 打赏
  • 举报
回复
那能不能这样呢,依次给每个端口来个UDP的sendto 一个信息,另外运行一个服务器,当收到信息时,再发送回一个信息.
HoneyPot 2005-11-08
  • 打赏
  • 举报
回复
大家阿有方法吗
hjunxu 2005-11-08
  • 打赏
  • 举报
回复
UDP怎么尝试连接啊 ?
beyondtkl 2005-11-08
  • 打赏
  • 举报
回复
如何判断一个UDP端口是否开放

------

可能概念不太准确吧 一个端口 不知道是被用着TCP 还是 UDP 或其他。。
应该问 如果判断一个端口是否开放吧。。就尝试连接一下就行了呀。
hjunxu 2005-11-08
  • 打赏
  • 举报
回复
udp端口开放是指什么啊?是指有socket在上面准备接受数据还是什么 ?

好像没有这个概念吧
femalelover 2005-11-08
  • 打赏
  • 举报
回复
我也去找了一下,竟然没找到UDP扫描的,楼主如果找到了,或是想到方法了,来这里说一声呀
lixiaosan 2005-11-08
  • 打赏
  • 举报
回复
网上的端口扫描程序多得是,search
lixiaosan 2005-11-08
  • 打赏
  • 举报
回复
不好意思,上面发错了
lixiaosan 2005-11-08
  • 打赏
  • 举报
回复
http://www.codeproject.com/statusbar/ExtStatusControlBar.asp
http://www.codeguru.com/Cpp/controls/statusbar/article.php/c2969/
Kudeet 2005-11-08
  • 打赏
  • 举报
回复
http://www.vckbase.com/document/viewdoc/?id=1092
fisker0303 2005-11-08
  • 打赏
  • 举报
回复
UDP是无连接的,比TCP要复杂些。
可以搜一个端口扫描的程序看看就明白了。
femalelover 2005-11-08
  • 打赏
  • 举报
回复
没用过,JAVA中的做法是往端口上一个个建立UDP连接,当连接失败,就说明当前正在被使用.估计在VC在,用socket(..SOCK_DGRAM..)也是可以的,前提是必须有服务在运行
帮顶,期待更好的方法.

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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