学习知识要善于思考,思考,再思考!今天编程网小编就给大家带来《如何使用 Go 获取客户端 DNS IP》,以下内容主要包含等知识点,如果你正在学习或准备学习golang,就都不要错过本文啦~让我们一
学习知识要善于思考,思考,再思考!今天编程网小编就给大家带来《如何使用 Go 获取客户端 DNS IP》,以下内容主要包含等知识点,如果你正在学习或准备学习golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!
问题内容我想使用 go 获取客户端缓存 dns ip
看看我在下面尝试的代码
import (
"fmt"
"net"
)
func main() {
// Usually DNS Server using 53 port number
// This case, tcp protocol is not considered
port := ":53"
protocol := "udp"
var buf [2048]byte
//Build the address
udpAddr, err := net.ResolveUDPAddr(protocol, port)
if err != nil {
fmt.Println("Wrong Address")
return
}
fmt.Println("Listened " + protocol + " from " + udpAddr.String())
//Create the connection
udpConn, err := net.ListenUDP(protocol, udpAddr)
if err != nil {
fmt.Println(err)
}
// Listening 53 Port Like DNS Server
for {
// If get request,
_, err := udpConn.Read(buf[0:])
if err != nil {
fmt.Println("Error Reading")
return
} else {
// Print Remote Address,
// I Guess this is the Client Cache DNS IP, but this is print <nil>
fmt.Println(udpConn.RemoteAddr())
}
}
}
在这种情况下如何获取客户端缓存 dns ip?请帮助我 我想构建客户端 dns ip 收集器,看起来 whoami
我也将此称为 https://GitHub.com/miekg/exdns/blob/master/reflect/reflect.go 但这不是我的答案
我想要简单的服务器
UDP 是无状态的。连接没有单一的客户端地址。每个数据包可以从不同的地址发送,因此RemoteAddr
仅在客户端有用,而在服务器上无用。
使用 *UDPConn.ReadFrom
、*UDPConn.ReadFromUDP
或 *UDPConn.ReadMsgUDP
之一代替 Read
。它们都返回读取数据包的客户端地址。
以上就是《如何使用 Go 获取客户端 DNS IP》的详细内容,更多关于的资料请关注编程网公众号!
--结束END--
本文标题: 如何使用 Go 获取客户端 DNS IP
本文链接: https://www.lsjlt.com/news/596650.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
一口价域名售卖能注册吗?域名是网站的标识,简短且易于记忆,为在线用户提供了访问我们网站的简单路径。一口价是在域名交易中一种常见的模式,而这种通常是针对已经被注册的域名转售给其他人的一种方式。
一口价域名买卖的过程通常包括以下几个步骤:
1.寻找:买家需要在域名售卖平台上找到心仪的一口价域名。平台通常会为每个可售的域名提供详细的描述,包括价格、年龄、流
443px" 443px) https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294.jpg https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294-768x413.jpg 域名售卖 域名一口价售卖 游戏音频 赋值/切片 框架优势 评估指南 项目规模
0