实例介绍
项目描述
本项目包含了一个完整的.Net SPF验证、SenderID验证以及用C#编写的DNS客户端和DNS服务器实现。它旨在为.NET开发者提供一个强大的工具集,以便在他们的应用程序中轻松实现SPF验证和DNS服务。
功能特点
- 解析和验证SPF/SenderID记录,支持RFC 4406、RFC 4408和RFC 7208等标准。
- 编码和解码支持,包括RFC 4648定义的Base16, Base32, 和Base64数据编码。
- DNS相关功能,包括DNS客户端、多种解析器(如Stub解析器、递归解析器)、DNSSEC验证、UDP和TCP支持、完整的IPv6支持等。
- 支持多种DNS记录类型和协议标准,如DANE验证、DNS安全扩展(DNSSEC)、服务位置(SRV)记录等。
【实例截图】
【核心代码】
文件清单
└── ARSoft.Tools.Net-ca766d0c21a57f7f77cc26331298d20fbdd4bf4d
├── ARSoft.Tools.Net
│ ├── ARSoft.Tools.Net.csproj
│ ├── AsyncEventHandler.cs
│ ├── AsyncEventHandlerExtensions.cs
│ ├── BaseEncoding.cs
│ ├── DisposableExtensions.cs
│ ├── Dns
│ │ ├── Cache
│ │ │ ├── DnsCache.cs
│ │ │ └── NameserverCache.cs
│ │ ├── ClientConnectedEventArgs.cs
│ │ ├── DnsClientBase.cs
│ │ ├── DnsClient.cs
│ │ ├── DnsClientEndpointInfo.cs
│ │ ├── DnsMessageBase.cs
│ │ ├── DnsMessageBaseExtensions.cs
│ │ ├── DnsMessage.cs
│ │ ├── DnsMessageEntryBase.cs
│ │ ├── DnsQueryOptions.cs
│ │ ├── DnsQuestion.cs
│ │ ├── DnsRecord
│ │ │ ├── AaaaRecord.cs
│ │ │ ├── AddressRecordBase.cs
│ │ │ ├── AfsdbRecord.cs
│ │ │ ├── AMTRelayRecord.cs
│ │ │ ├── AplRecord.cs
│ │ │ ├── ARecord.cs
│ │ │ ├── CAARecord.cs
│ │ │ ├── CDnsKeyRecord.cs
│ │ │ ├── CDsRecord.cs
│ │ │ ├── CertRecord.cs
│ │ │ ├── CNameRecord.cs
│ │ │ ├── CSyncRecord.cs
│ │ │ ├── DhcidRecord.cs
│ │ │ ├── DNameRecord.cs
│ │ │ ├── DnsRecordBase.cs
│ │ │ ├── Eui48Record.cs
│ │ │ ├── Eui64Record.cs
│ │ │ ├── GPosRecord.cs
│ │ │ ├── HInfoRecord.cs
│ │ │ ├── HipRecord.cs
│ │ │ ├── IAddressRecord.cs
│ │ │ ├── IpSecKeyRecord.cs
│ │ │ ├── IsdnRecord.cs
│ │ │ ├── ITextRecord.cs
│ │ │ ├── KxRecord.cs
│ │ │ ├── L32Record.cs
│ │ │ ├── L64Record.cs
│ │ │ ├── LocRecord.cs
│ │ │ ├── LPRecord.cs
│ │ │ ├── MxRecord.cs
│ │ │ ├── NaptrRecord.cs
│ │ │ ├── NIdRecord.cs
│ │ │ ├── NsapRecord.cs
│ │ │ ├── NsRecord.cs
│ │ │ ├── OpenPGPKeyRecord.cs
│ │ │ ├── PtrRecord.cs
│ │ │ ├── PxRecord.cs
│ │ │ ├── RpRecord.cs
│ │ │ ├── RtRecord.cs
│ │ │ ├── SMimeARecord.cs
│ │ │ ├── SoaRecord.cs
│ │ │ ├── SpfRecord.cs
│ │ │ ├── SrvRecord.cs
│ │ │ ├── SshFpRecord.cs
│ │ │ ├── SvcB
│ │ │ │ ├── ALPNServiceBindingParameter.cs
│ │ │ │ ├── HttpsRecord.cs
│ │ │ │ ├── IPv4HintBindingParameter.cs
│ │ │ │ ├── IPv6HintBindingParameter.cs
│ │ │ │ ├── MandatoryServiceBindingParameter.cs
│ │ │ │ ├── NoDefaultALPNServiceBindingParameter.cs
│ │ │ │ ├── PortServiceBindingParameter.cs
│ │ │ │ ├── ServiceBindingParameterBase.cs
│ │ │ │ ├── ServiceBindingParameterKey.cs
│ │ │ │ ├── ServiceBindingParameterKeyHelper.cs
│ │ │ │ ├── SvcBRecord.cs
│ │ │ │ └── UnknownServiceBindingParameter.cs
│ │ │ ├── TextRecordBase.cs
│ │ │ ├── TKeyRecord.cs
│ │ │ ├── TlsaRecord.cs
│ │ │ ├── TxtRecord.cs
│ │ │ ├── UnknownRecord.cs
│ │ │ ├── UriRecord.cs
│ │ │ ├── WksRecord.cs
│ │ │ ├── X25Record.cs
│ │ │ └── ZoneMDRecord.cs
│ │ ├── DnsRecordMessageBase.cs
│ │ ├── DnsSec
│ │ │ ├── DiffieHellmanKeyRecord.cs
│ │ │ ├── DlvRecord.cs
│ │ │ ├── DnsKeyFlags.cs
│ │ │ ├── DnsKeyRecord.cs
│ │ │ ├── DnsSecAlgorithm.cs
│ │ │ ├── DnsSecDigestType.cs
│ │ │ ├── DnsSecValidationException.cs
│ │ │ ├── DnsSecValidator.cs
│ │ │ ├── DsRecord.cs
│ │ │ ├── IInternalDnsSecResolver.cs
│ │ │ ├── KeyRecordBase.cs
│ │ │ ├── KeyRecord.cs
│ │ │ ├── NSec3Flags.cs
│ │ │ ├── NSec3HashAlgorithm.cs
│ │ │ ├── NSec3ParamRecord.cs
│ │ │ ├── Nsec3Record.cs
│ │ │ ├── NSecRecord.cs
│ │ │ ├── RrSigRecord.cs
│ │ │ └── SigRecord.cs
│ │ ├── DnsServer.cs
│ │ ├── DynamicUpdate
│ │ │ ├── AddRecordUpdate.cs
│ │ │ ├── DeleteAllRecordsUpdate.cs
│ │ │ ├── DeleteRecordUpdate.cs
│ │ │ ├── DnsUpdateMessage.cs
│ │ │ ├── NameIsInUsePrequisite.cs
│ │ │ ├── NameIsNotInUsePrequisite.cs
│ │ │ ├── PrequisiteBase.cs
│ │ │ ├── RecordExistsValueDependantPrequisite.cs
│ │ │ ├── RecordExistsValueIndependantPrequisite.cs
│ │ │ ├── RecordNotExistsPrequisite.cs
│ │ │ └── UpdateBase.cs
│ │ ├── EDns
│ │ │ ├── ClientSubnetOption.cs
│ │ │ ├── CookieOption.cs
│ │ │ ├── DnssecAlgorithmUnderstoodOption.cs
│ │ │ ├── DsHashUnderstoodOption.cs
│ │ │ ├── EDnsOptionBase.cs
│ │ │ ├── EDnsOptionType.cs
│ │ │ ├── ExpireOption.cs
│ │ │ ├── LongLivedQueryOption.cs
│ │ │ ├── Nsec3HashUnderstoodOption.cs
│ │ │ ├── NsIdOption.cs
│ │ │ ├── OptRecord.cs
│ │ │ ├── OwnerOption.cs
│ │ │ ├── PaddingOption.cs
│ │ │ ├── TcpKeepAliveOption.cs
│ │ │ ├── UnknownOption.cs
│ │ │ └── UpdateLeaseOption.cs
│ │ ├── EndpointRouteBuilderExtensions.cs
│ │ ├── ExceptionEventArgs.cs
│ │ ├── InvalidSignedMessageEventArgs.cs
│ │ ├── LlmnrClient.cs
│ │ ├── LlmnrMessage.cs
│ │ ├── MulticastDnsMessage.cs
│ │ ├── MulticastDnsOneShotClient.cs
│ │ ├── OperationCode.cs
│ │ ├── QueryReceivedEventArgs.cs
│ │ ├── RecordClass.cs
│ │ ├── RecordType.cs
│ │ ├── Resolver
│ │ │ ├── DnsResolverExtensions.cs
│ │ │ ├── DnsSecRecursiveDnsResolver.cs
│ │ │ ├── DnsSecResolverExtensions.cs
│ │ │ ├── DnsSecResult.cs
│ │ │ ├── DnsSecValidationResult.cs
│ │ │ ├── DnsStubResolver.cs
│ │ │ ├── IDnsResolver.cs
│ │ │ ├── IDnsSecResolver.cs
│ │ │ ├── IResolverHintStore.cs
│ │ │ ├── RecursiveDnsResolver.cs
│ │ │ ├── ResolveLoopProtector.cs
│ │ │ ├── SelfValidatingDnsSecStubResolver.cs
│ │ │ ├── StaticResolverHintStore.cs
│ │ │ ├── UpdateableResolverHintStoreBase.cs
│ │ │ └── ZoneFileResolverHintStore.cs
│ │ ├── ReturnCode.cs
│ │ ├── Rfc8427JsonConverter.cs
│ │ ├── Transport
│ │ │ ├── DnsMessageIdentification.cs
│ │ │ ├── DnsRawPackage.cs
│ │ │ ├── DnsReceivedRawPackage.cs
│ │ │ ├── HttpsClientTransport.cs
│ │ │ ├── HttpsServerTransport.cs
│ │ │ ├── IClientConnection.cs
│ │ │ ├── IClientTransport.cs
│ │ │ ├── IPipelineableClientConnection.cs
│ │ │ ├── IServerConnection.cs
│ │ │ ├── IServerTransport.cs
│ │ │ ├── MulticastClientTransport.cs
│ │ │ ├── PipelinedClientTransportBase.cs
│ │ │ ├── TcpClientTransportBase.cs
│ │ │ ├── TcpClientTransport.cs
│ │ │ ├── TcpServerTransportBase.cs
│ │ │ ├── TcpServerTransport.cs
│ │ │ ├── TlsClientTransport.cs
│ │ │ ├── TlsServerTransport.cs
│ │ │ ├── UdpClientTransport.cs
│ │ │ └── UdpServerTransport.cs
│ │ ├── TransportProtocol.cs
│ │ ├── TSig
│ │ │ ├── TSigAlgorithm.cs
│ │ │ ├── TSigAlgorithmHelper.cs
│ │ │ └── TSigRecord.cs
│ │ └── Zone.cs
│ ├── DomainName.cs
│ ├── EnumerableExtensions.cs
│ ├── EnumHelper.cs
│ ├── EventHandlerExtensions.cs
│ ├── IPAddressExtensions.cs
│ ├── Net
│ │ └── DaneStream.cs
│ ├── SortedMultiDimensionalLookup.cs
│ ├── Spf
│ │ ├── SenderIDRecord.cs
│ │ ├── SenderIDScope.cs
│ │ ├── SenderIDValidator.cs
│ │ ├── SpfCheckHostParameter.cs
│ │ ├── SpfMechanism.cs
│ │ ├── SpfMechanismType.cs
│ │ ├── SpfModifier.cs
│ │ ├── SpfModifierType.cs
│ │ ├── SpfQualifier.cs
│ │ ├── SpfRecordBase.cs
│ │ ├── SpfRecord.cs
│ │ ├── SpfTerm.cs
│ │ ├── SpfValidator.cs
│ │ ├── ValidationResult.cs
│ │ └── ValidatorBase.cs
│ ├── StringExtensions.cs
│ ├── TaskExtensions.cs
│ ├── TaskIdleCompletionSource.cs
│ ├── TcpClientExtensions.cs
│ ├── UdpClientExtensions.cs
│ └── X509Certificate2Extensions.cs
├── ARSoft.Tools.Net.sln
├── ARSoft.Tools.Net.sln.DotSettings
├── Documentation
│ ├── Content
│ │ ├── Examples
│ │ │ ├── DNS_Client.aml
│ │ │ ├── DNS_Client_ResolveHost.cs
│ │ │ ├── DNS_Client_ResolveMX.cs
│ │ │ ├── DNS_Client_ResolvePtr.cs
│ │ │ ├── DNS_Client_SendUpdate.cs
│ │ │ ├── DNS_Resolver.aml
│ │ │ ├── DNS_Resolver_ResolveHost.cs
│ │ │ ├── DNS_Resolver_ResolveMX.cs
│ │ │ ├── DNS_Resolver_ResolvePtr.cs
│ │ │ ├── DNSSEC.aml
│ │ │ ├── DNSSEC_DANE_Stream.cs
│ │ │ ├── DNSSEC_ResolveSSHFP.cs
│ │ │ ├── DNS_Server.aml
│ │ │ ├── DNS_Server_Forwarding_Server.cs
│ │ │ ├── DNS_Server_Local_Only_Requests.cs
│ │ │ ├── DNS_Server_Simple_Server.cs
│ │ │ ├── JSON_Serialization.aml
│ │ │ ├── JSON_Serialization.cs
│ │ │ ├── SenderID_Validation.cs
│ │ │ ├── SPF_SenderID_Validation.aml
│ │ │ └── SPF_Validation.cs
│ │ └── Welcome.aml
│ ├── ContentLayout.content
│ ├── Documentation.shfbproj
│ └── icons
│ └── Help.png
├── LICENSE
├── NOTICE
└── README.md
18 directories, 241 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论