xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡(jiǎn)介

大家別介意那點(diǎn)分啊,下載后評(píng)論分就回來(lái)了。(記得要評(píng)星級(jí)才有) /************************************** ** 實(shí)現(xiàn)簡(jiǎn)單的DNS 學(xué)習(xí)、測(cè)試之用 ** VC6.0 winXP 編譯通過(guò) ** 20100406 v 1.0 ** from http://blog.csdn.net/jxfgh ************************************/

資源截圖

代碼片段和文件信息

/**************************************
**?實(shí)現(xiàn)簡(jiǎn)單的DNS?學(xué)習(xí)、測(cè)試之用
**?VC6.0?winXP?編譯通過(guò)
**?20100406??v1.0
**?from?http://blog.csdn.net/jxfgh
************************************/

#include????
#include????
#include??????

typedef?struct?_DNSHEAD{???//dns?頭部
USHORT?ID;
USHORT?tag; //?dns?標(biāo)志(參數(shù))
USHORT?numQ; //?問(wèn)題數(shù)
USHORT?numA; //?答案數(shù)
USHORT?numA1; //?權(quán)威答案數(shù)
USHORT?numA2; //?附加答案數(shù)
}DnsHead;
typedef?struct?_DNSQUERY //dns?查詢結(jié)構(gòu)
{
//? ??char???name[64];
//? //查詢的域名這是一個(gè)大小在0到63之間的字符串;
??USHORT?type;
??//查詢類(lèi)型,大約有20個(gè)不同的類(lèi)型
??USHORT?classes;
??//查詢類(lèi)通常是A類(lèi)既查詢IP地址。

}DnsQuery;

#pragma comment(lib“ws2_32.lib“)

//?初始化操作
bool?initWSA();

//顯示錯(cuò)誤
void?displayerrWSA(char?*str);

//創(chuàng)建套接字
SOCKET?CreateSocket(int?type);

//UDP?sendto
int?MySendto(SOCKET?sockTo?const?char?FAR?*?bufint?lenchar?*addrUSHORT?port);

//TCP?連接
bool?MyConnect(SOCKET?s?char?*addrUSHORT?);

//?UDP?recvfrom
int?MyRecvFrom(SOCKET?s?char?FAR?*?bufint?lenchar?*addrUSHORT?port);

//設(shè)置DNS?頭部
bool?SetDNSHead(char?*namechar?*buf);

int?main(int?argchar?*are[])?
{
int?Result=0;
char?buf[1024]={0};
char?addr[16]?=?“61.187.72.8“;//?dns?服務(wù)器地址
char?*name?=?0;?//要查詢的域名

if?(?!initWSA()?)//初始化
{
displayerrWSA(“initWSA?err!“);
return?1;
}

//創(chuàng)建套接字
SOCKET?sockTo?;
if?(?(sockTo?=?CreateSocket(SOCK_DGRAM))?==?0)
{
displayerrWSA(“CreatSocket?err!“);
return?1;
}
while?(1)
{
if?(arg? {
char?temp[1024]={0};
printf(“\n請(qǐng)輸入要查詢的域名:“);
scanf(“%s“temp);
if?(temp[0]?==?‘q‘?||temp[0]?==?‘Q‘)
{
break;
}
name?=??temp;
}
else
{
arg?=?1;
name?=??are[1];
}

//設(shè)置dns?頭部
SetDNSHead(namebuf);

//發(fā)送出去的請(qǐng)求數(shù)據(jù)長(zhǎng)度
int?len?=?sizeof(DnsHead)+sizeof(DnsQuery)+strlen(name)+2;

//? for?(int??i?=0;i<50;i+=2)
//? {
//? printf(“%02x“(UCHAR)buf[i]);
//? printf(“%02x?“(UCHAR)buf[i+1]);
//? }
//發(fā)送DNS?請(qǐng)求
if?(?(?Result?=MySendto(sockTobuflenaddr53)?)?<=?0)
{
displayerrWSA(“sendto?err!“);
continue;
}

//接收應(yīng)答
if?(?(Result?=MyRecvFrom(sockTobuf1024addr53)?)?<=??0)
{
displayerrWSA(“recvfrom?err!“);
continue;
}

//簡(jiǎn)單的取得返回的?IP?地址(?收到的最后4字節(jié)?)
DnsHead?*DnsH?=?(DnsHead?*)buf;
if?(DnsH->numA?==?0)
{
printf(“無(wú)法解析?%s?的IP?地址。\n“name);
continue;
}
char?*getIP?=(char?*)buf?+Result?-?4;
printf(“%s?的IP地址為:?“name);
for?(int?Result=?0?;Result<4?;Result++)
{
printf(“%u.“(UCHAR?)getIP[Result]);
}
printf(“\n“);
}
return?0;
}

//?初始化操作
bool?initWSA()
{
WORD???wVersionRequested;?
WSADATA???wsaData;?
int?Result;
wVersionRequested?=?MAKEWORD(?2?2?);?
Result?=?WSAStartup(?wVersionRequested?&wsaData?);?
if(Result???!=???0?)??
{
return?false;?
}?

if(?LOBYTE(?wsaData.wVersion)?!=?2?||?
HIBYTE(wsaData.wVersion)!=?2?)
{?
WSACleanup();
return?false;???
}?
return?true;
}

//*****

?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----

?????文件???????6935??2010-04-06?21:28??Dns.cpp

?????文件?????176207??2010-04-06?21:28??DNS.exe

-----------?---------??----------?-----??----

???????????????183142????????????????????2


評(píng)論

共有 條評(píng)論

相關(guān)資源