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

資源簡介

有簡單的服務器和客戶端的默認實現 還有一個簡單的DNS代理服務器(有回調函數可以自己加緩存) 支持所有DNS協議報文格式

資源截圖

代碼片段和文件信息

using?Protocol.DomainNameSystem;
using?Protocol.DomainNameSystem.Simple;
using?System;
using?System.Collections.Generic;
using?System.Text;
using?System.Threading;

namespace?ConsoleApplication1
{
????class?Program
????{

????????static?DnsPacket?MyProcess(DnsPacket?request)
????????{
????????????if?(request._3_4_OPCODE?!=?DnsPacket.OPCODE_QUERY)
????????????{
????????????????return?null;
????????????}

????????????for?(int?i?=?0;?i?????????????{
????????????????if?(request.QDList[i]._2_2_TYPE?==?DnsPacket.TYPE_A?&&?request.QDList[i]._3_2_CLASS?==?DnsPacket.CLASS_IN?&&
????????????????????request.QDList[i].ResolveName(request).ToLower().EndsWith(“.user.adsl001.com“))
????????????????{
????????????????????/*
?????????????????????*?根據域名查找IP。
?????????????????????*/
????????????????????string?domian?=?request.QDList[i].ResolveName(request);
????????????????????UInt32?ttl?=?10;????//?域名對應的IP失效時間,單位為秒,超過此時間后客戶端應該重新發起查詢。
????????????????????string?ip?=?“192.168.0.25“;?//?IP等會填到這里
????????????????????//?你來寫這一段,通過域名查找IP,從緩存里面去讀,沒有時間給你查數據庫的。

????????????????????/*
?????????????????????*?生成應答數據包。
?????????????????????*/
????????????????????DnsPacket?response?=?new?DnsPacket();
????????????????????response._1_16_ID?=?request._1_16_ID;
????????????????????response._2_1_QR?=?DnsPacket.QR_REPLY;
????????????????????response._3_4_OPCODE?=?DnsPacket.OPCODE_QUERY;
????????????????????response._4_1_AA?=?DnsPacket.AA_NON_AUTHORITATIVE_ANSWER;
????????????????????response._5_1_TC?=?DnsPacket.TC_NON_TRUNCATION;
????????????????????response._6_1_RD?=?DnsPacket.RD_NON_RECURSION_DESIRED;
????????????????????response._7_1_RA?=?DnsPacket.RA_NON_RECURSION_AVAILABLE;
????????????????????response._8_3_Z?=?0;
????????????????????response._9_4_RCODE?=?DnsPacket.RCODE_NO_ERROR;

????????????????????DnsQuestion?question?=?new?DnsQuestion();
????????????????????question._1_N_NAME?=?request.ResolveNameBytes(request.QDList[i]._1_N_NAME);
????????????????????question._2_2_TYPE?=?request.QDList[i]._2_2_TYPE;
????????????????????question._3_2_CLASS?=?request.QDList[i]._3_2_CLASS;

????????????????????response.QDList.Add(question);
????????????????????response._10_16_QDCOUNT?=?(UInt16)response.QDList.Count;

????????????????????DnsResourceRecord?record?=?new?DnsResourceRecord();
????????????????????record._1_N_NAME?=?request.ResolveNameBytes(request.QDList[i]._1_N_NAME);
????????????????????record._2_2_TYPE?=?DnsPacket.TYPE_A;
????????????????????record._3_2_CLASS?=?DnsPacket.CLASS_IN;
????????????????????record._4_4_TTL?=?ttl;
????????????????????record._6_N_RDDATA?=?DnsHelper.FromIPString(ip);
????????????????????record._5_2_RDLENGTH?=?(UInt16)record._6_N_RDDATA.Length;

????????????????????response.ANList.Add(record);
????????????????????response._11_16_ANCOUNT?=?(UInt16)response.ANList.Count;
????????????????????
????????????????????return?response;
????????????????}
????????????}

??

評論

共有 條評論

相關資源