91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

大家別介意那點分啊,下載后評論分就回來了。(記得要評星級才有) /************************************** ** 實現簡單的DNS 學習、測試之用 ** VC6.0 winXP 編譯通過 ** 20100406 v 1.0 ** from http://blog.csdn.net/jxfgh ************************************/

資源截圖

代碼片段和文件信息

/**************************************
**?實現簡單的DNS?學習、測試之用
**?VC6.0?winXP?編譯通過
**?20100406??v1.0
**?from?http://blog.csdn.net/jxfgh
************************************/

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

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

}DnsQuery;

#pragma comment(lib“ws2_32.lib“)

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

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

//創建套接字
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);

//設置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?服務器地址
char?*name?=?0;?//要查詢的域名

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

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

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

//發送出去的請求數據長度
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]);
//? }
//發送DNS?請求
if?(?(?Result?=MySendto(sockTobuflenaddr53)?)?<=?0)
{
displayerrWSA(“sendto?err!“);
continue;
}

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

//簡單的取得返回的?IP?地址(?收到的最后4字節?)
DnsHead?*DnsH?=?(DnsHead?*)buf;
if?(DnsH->numA?==?0)
{
printf(“無法解析?%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;
}

//*****

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

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

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

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

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


評論

共有 條評論