社区
网络编程
帖子详情
如何扫描UDP端口,请高手指教!!!!
lihaodong781206
2003-11-07 02:59:41
如何扫描UDP端口,请给出详细的思路,有源码更好,多谢!!
...全文
296
9
打赏
收藏
如何扫描UDP端口,请高手指教!!!!
如何扫描UDP端口,请给出详细的思路,有源码更好,多谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
studyingpersons
2003-11-10
打赏
举报
回复
建议你最好看一下《Windows网络编程技术》的第一版。
上面讲的很详细!
lihaodong781206
2003-11-10
打赏
举报
回复
我按照上面的程序做了一下,可是int k=select(....)得到的k总是0,而且recvfrom的返回值为-1,什么也没收到,请帮忙解答一下,是怎么回事
lihaodong781206
2003-11-09
打赏
举报
回复
FD_ZERO,FA_SET和FD_ISSER这几个函数能给解释一下吗?我不太理解。
wzswgbx
2003-11-07
打赏
举报
回复
给个linux下的,道理相同,稍加修改即可
/*====================================================================
UDP SCAN Ver1.00
The Shadow Penguin Security (http://shadowpenguin.backsection.net)
Written by UNYUN (unewn4th@usa.net)
====================================================================
*/
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/ip_icmp.h>
#define SRC_PORT 10101
int main(int argc, char *argv[])
{
struct icmphdr *icmp_header;
struct sockaddr_in target_info;
int target_info_len;
fd_set read_fd;
int scan_port;
char recvbuf[5000];
struct sockaddr_in target_addr;
int icmp_socket;
int udp_socket;
if (argc!=3){
printf("[usage] %s [TargetIP] [TargetPort] \n",argv[0]);
return -1;
}
icmp_header = (struct icmphdr *)(recvbuf+sizeof(struct iphdr));
scan_port = atoi(argv[2]);
target_addr.sin_family = AF_INET;
target_addr.sin_addr.s_addr = inet_addr(argv[1]);
target_addr.sin_port = htons(scan_port);
if ((udp_socket=socket(AF_INET,SOCK_DGRAM,0))==-1){
printf("UDP Socket Creation Error.\n");
return -1;
}
if ((icmp_socket=socket(AF_INET,SOCK_RAW,IPPROTO_ICMP))==-1){
printf("RAW Socket Creation Error.\n");
return -1;
}
sendto(udp_socket,NULL,0,0,(void *)&target_addr,sizeof(target_addr));
FD_ZERO(&read_fd);
FD_SET(icmp_socket,&read_fd);
select(FD_SETSIZE,&read_fd,NULL,NULL,NULL);
for (;;){
if (FD_ISSET(icmp_socket,&read_fd)){
target_info_len = sizeof(target_info);
recvfrom(icmp_socket,recvbuf,5000,0,
(struct sockaddr *)&target_info,&target_info_len);
if (target_info.sin_addr.s_addr == target_addr.sin_addr.s_addr
&& icmp_header->type == 3 && icmp_header->code<=12){
printf("Port %d : Close\n",scan_port);
exit(1);
}
}
}
return(0);
}
sdchl
2003-11-07
打赏
举报
回复
源码现在没有啊,说一下思路吧:
1.建立两个socket,一个用来发送udp包到目的端口,一个用来接受返回的icmp包。
2.判断返回的icmp数据包的类型是不是不可到达数据包,若是则说明目的端口是关闭的。
lihaodong781206
2003-11-07
打赏
举报
回复
To sdch:
可以给一个详细的思路吗,最好给点源码,新手,多多帮忙了,谢谢!!!!!
sdchl
2003-11-07
打赏
举报
回复
向目的端口发送udp包,如果端口是打开的,一般不会有反应,如果不是打开的,则会返回一个icmp数据报.
lihaodong781206
2003-11-07
打赏
举报
回复
有没有用VC实现的啊
xiaohyy
2003-11-07
打赏
举报
回复
nmap有源码
基于C#的简单的IP以及
端口
扫描
软件
简单的IP以及
端口
扫描
软件,自己学习C#网络编程时练习做的,代码比较杂乱,不过基本都有注释。内容包括一个IP及
端口
扫描
工具的基本功能,不过对于不同网段主机MAC地址的显示,不怎么明白,
请
各位大神
指教
,谢谢啦~
基于Android的
udp
聊天工具
并加入了发送超时以及用户是否在线的心跳测试机制。 2)NetMsgServer运行于PC,...非局域网环境如3G网络手机端接收不到服务的
UDP
数据包,目前该问题正在解决中,如有知道的大侠
请
指教
。 6)本人联系方式:QQ54476167
TCP
扫描
与SYN
扫描
与FIN
扫描
对比介绍
下面就这三种方法来小小的探讨一下,不对的地方还
请
多多
指教
! 一:TCP
扫描
相对来说是速度比较慢的一种,为什么会慢呢?因为这种方法在
扫描
的时候会从本地主机的一个
端口
向目标主机的一个
端口
发出一个连接
请
求报文段,而...
关于
UDP
向本机
端口
发送数据报但是接收不到数据的问题
用
UDP
数据报发送数据给本机,数据可以发出去,但是服务端(本机)却接收不到任何数据,刚接触网络,
请
指教
! 服务器端: SOCKET server_socket_
udp
; sockaddr_in server_address_
udp
,from_address_
udp
; char ...
浅谈TCP
扫描
与SYN
扫描
与FIN
扫描
下面就这三种方法来小小的探讨一下,不对的地方还
请
多多
指教
!一:TCP
扫描
相对来说是速度比较慢的一种,为什么会慢呢?因为这种方法在
扫描
的时候会从本地主机的一个
端口
向目标主机的一个
端口
发出一个连接
请
求报文段,而...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章