社区
网络编程
帖子详情
UDP ICMP端口不能到达扫描
babyding
2008-07-22 11:11:08
什麽是UDP ICMP端口不能到达扫描?
许多主机在你向一个未打开的UDP端口发送一个数据包时,会返回一个ICMP_PORT_UNREACH错误。这样你就能发现哪个端口是关闭的。这个是什么意思?
怎么实现的,
我向一个UDP端口发了一个自己构建的UDP数据包,并没有看到什么ICMP_PORT_UNREACH的报文,
用sendto()和recvfrom()可以做到吗?
我如果把UDP端口打了,怎么扫描出来的,
关于UDP的端口扫描用什么方法好?
...全文
628
4
打赏
收藏
UDP ICMP端口不能到达扫描
什麽是UDP ICMP端口不能到达扫描? 许多主机在你向一个未打开的UDP端口发送一个数据包时,会返回一个ICMP_PORT_UNREACH错误。这样你就能发现哪个端口是关闭的。这个是什么意思? 怎么实现的, 我向一个UDP端口发了一个自己构建的UDP数据包,并没有看到什么ICMP_PORT_UNREACH的报文, 用sendto()和recvfrom()可以做到吗? 我如果把UDP端口打了,怎么扫描出来的, 关于UDP的端口扫描用什么方法好?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Dean_ASUS
2008-09-19
打赏
举报
回复
《TCP/IP详解》上有!
Wenxy1
2008-09-01
打赏
举报
回复
什麽是UDP ICMP端口不能到达扫描?// 发送UDP数据包到一个IP的端口,若访问不了此IP或者此IP没有开放此端口,那对方的机器发回一个ICMP包(指出主机不可到达,或者端口不能到达)。
许多主机在你向一个未打开的UDP端口发送一个数据包时,会返回一个ICMP_PORT_UNREACH错误。这样你就能发现哪个端口是关闭的。这个是什么意思?
怎么实现的,
我向一个UDP端口发了一个自己构建的UDP数据包,并没有看到什么ICMP_PORT_UNREACH的报文,
用sendto()和recvfrom()可以做到吗? // 可以。
我如果把UDP端口打了,怎么扫描出来的, // 看一下《tcp/ip详解》,得熟悉一下tcp/ip的基础吧。
关于UDP的端口扫描用什么方法好? // 网上有个开源的工具:namp,功能很强大。
yuzhouzhichong
2008-08-28
打赏
举报
回复
char broad=0x57;
SOCKET sock
sockaddr_in addr;
bool op=1;
if(sock!=NULL)
{
closesocket(sock);
sock=NULL;
}
if(sock==NULL)
{
sock=socket(AF_INET,SOCK_DGRAM,0);
ASSERT(sock!=NULL);
}
addr.sin_family=AF_INET;
addr.sin_addr.S_un.S_addr=INADDR_ANY;
addr.sin_port=htons(8000);
int ret=0;
ret=bind(sock,(LPSOCKADDR)&addr,sizeof(addr));
if(ret==SOCKET_ERROR)
{
DWORD dw=GetLastError();
AfxMessageBox("绑定错误!");
closesocket(sock);
return false;
}
if(SOCKET_ERROR==setsockopt(sock,SOL_SOCKET,SO_BROADCAST,(char *)&op,sizeof(bool)))
AfxMessageBox("无法进行UDP广播");
addr.sin_family=AF_INET;
addr.sin_addr.S_un.S_addr=inet_addr("IP");
addr.sin_port=htons(port);
if(WSAECONNRESET==sendto(sock,&broad,sizeof(broad),0,(sockaddr *)&addr,sizeof(addr)))
AfxMessageBox("端口%04x是关闭的!",port);
Yofoo
2008-07-23
打赏
举报
回复
1. WSASendTo
2. WSARecvFrom
WSARecvFrom 如果失败, 错误代码为 WSAECONNRESET 则说明没有打开端口,
在linux|unix下返回的错误代码是ECONNREFUSED, 连接被拒绝
TCP、
UDP
端口
及
ICMP
网络
扫描
工具
基于vc6.0开发网络
扫描
工具,利用select+connect进行TCP
端口
扫描
,利用
ICMP
端口
不可达报文进行
UDP
端口
扫描
,可以完成对TCP、
UDP
端口
的探测,
ICMP
你懂的。利用GetBestRoute和GetIpAddrTable来判定使用本地接口IP,不修改IP头,摆脱windows操作系统对rawsocket的限制。自定义ping函数实现以上功能,你可以在代码中包含此.h和.cpp文件,直接调用此函数。
udp
.rar_
UDP
端口
扫描
_
udp
端口
扫描
_
udp
icmp
报文_
udp
返回
icmp
UDP
端口
扫描
程序,发送
UDP
报头会返回
ICMP
错误报文。
C实现
UDP
端口
扫描
UDP
是User Datagram Protocol的简称, 中文名是用户数据包协议,是 OSI 参考模型中一种无连接的传输协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是
UDP
的正式规范。 在大多数情况下,当向一个未开放的
UDP
端口
发送数据时,其主机就会返回一个
ICMP
不可到达(
ICMP
PORT UNREACHABLE)的错误,因此大多数
UDP
端口
扫描
的方法就是向各个被
扫描
的
UDP
端口
发送零字节的
UDP
数据包,如果收到一个
ICMP
不可到达的回应,那么则认为这个
端口
是关闭的,对于没有回应的
端口
则认为是开放的。 可是由于大部分系统都限制了
ICMP
差错报文的产生速度,所以针对特定主机的
UDP
大量
端口
扫描
速度缓慢,此外由于
UDP
协议和
ICMP
协议都是不可靠协议,所以未收到回应可能由于数据包未送达造成,所以
扫描
程序需要针对同一
端口
多次尝试后才能确定其状态。
TCP
UDP
端口
扫描
系统
非常不错的TCP
UDP
端口
扫描
系统,包含详细的源码实现
TCP和
UDP
的
端口
扫描
程序.zip
TCP和
UDP
的
端口
扫描
程序.zip
网络编程
18,357
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章