資源簡介
里面含有源碼,可執(zhí)行文件以及使用說明,適合新手借鑒

代碼片段和文件信息
#include
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#define?MAXSIZE?1000000
int?main(int?argcchar?**argv)
{??
int?server_sockfdclient_sockfd;
int?server_lenclient_len;
int?count;
char?recvs[MAXSIZE];
?char?ch[MAXSIZE];
?????????int?addr_len?=?sizeof(struct?sockaddr_in);
struct?sockaddr_in?server_address;
struct?sockaddr_in?client_address;?
?
/* if?(argc?!=?2){
printf(“server:file?name\n“);
exit(1);
}?*/
server_sockfd?=?socket(AF_INETSOCK_DGRAM0);
if(server_sockfd?<0){
printf(“Creating?socket?error!\n“);
exit(1);
}
bzero(&server_addresssizeof(struct?sockaddr_in));
?
server_address.sin_family?=?AF_INET;
server_address.sin_addr.s_addr?=?htonl(INADDR_ANY);
server_address.sin_port?=?htons(5000);//服務(wù)器要監(jiān)聽的本地端口?
server_len?=?sizeof(server_address);??
// int?opt?=?1;
// setsockopt(server_sockfdSOL_SOCKETSO_REUSEADDR&optsizeof(opt));?
//前兩行為設(shè)置socket的狀態(tài)
if(bind(server_sockfd(struct?sockaddr?*)&server_addressserver_len)?0){
perror(“Bind?error.“);
exit(1);
}
while(1){
bzero(chsizeof(ch));
count?=?recvfrom(server_sockfdchsizeof(ch)0(struct?sockaddr?*)&server_address&addr_len);
//?????????????printf(“%s\n“ch);
printf(“received?from?client?%sstring?is?:%s\n“inet_ntoa(server_address.sin_addr)ch);
}
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-06-08?15:20??dns攻擊發(fā)包軟件\
?????目錄???????????0??2018-06-08?15:20??dns攻擊發(fā)包軟件\可執(zhí)行文件\
?????文件???????16529??2017-08-11?14:56??dns攻擊發(fā)包軟件\可執(zhí)行文件\udpdns_requer
?????文件???????16531??2017-08-11?14:55??dns攻擊發(fā)包軟件\可執(zhí)行文件\udpdns_respose
?????文件?????????589??2017-08-11?09:59??dns攻擊發(fā)包軟件\使用說明.txt
?????目錄???????????0??2018-06-08?15:20??dns攻擊發(fā)包軟件\源碼\
?????文件????????1446??2017-08-09?14:28??dns攻擊發(fā)包軟件\源碼\myudpserver.c
?????文件???????13730??2017-08-11?15:00??dns攻擊發(fā)包軟件\源碼\udpdns_requer.c
?????文件???????13308??2017-08-11?14:32??dns攻擊發(fā)包軟件\源碼\udpdns_response.c
評論
共有 條評論