当我从NTP服务器请求时间时,我试图向Windows机器发送一个欺骗时间。
到目前为止,我的服务器将显示数据包并发回数据,但我似乎无法确切地知道我需要发送什么来给Windows一个假的时间。我尝试捕获合法数据包发送但失败了。
在这个示例中,我只是发送空白区域,我试图弄清楚要发送哪些数据来告诉计算机,例如时间是10:00 AM,当时它实际上是12PM。
我打算在局域网上欺骗DNS查询,将它们重定向到此服务器,该服务器将以不正确的时间响应。
我听说过它可以做但从未见过这样做的工具,所以这就是我现在要做的事情。
require 'socket'
class UDPServer
def initialize(port)
@port = port
end
def start
@socket = UDPSocket.new
@socket.bind('', @port)
data = " "
while true
packet = @socket.recvfrom(1024)
puts packet
@socket.send("${data}", 0, '10.0.0.16', "#{@port}")
end
end
end
server = UDPServer.new(123)
server.start