我正在使用python开发一个小型的捕获门户。我想将用户重定向到我创建的本地服务器上的自定义页面。我的问题是,如何解决所有站点(例如:谷歌网站)用户输入localhost或127.0.0.1。我看过这样的网站本地测试.me以及该死的指向我的本地服务器。怎么做到的?我猜是截获所有的dns请求,并指向我的自定义服务器。。。。你知道吗
这是我到目前为止对dns请求的一个片段。你知道吗
import socket
import sys
host = ''
port = socket.getservbyname('domain') #get dns port dynamically
udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # udp socket
udp_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
print 'udp socket created...'
try:
udp_socket.bind((host,port))
print 'bind successful'
except socket.error as msg:
print msg
sys.exit()
while True:
data,addr = udp_socket.recvfrom(1024)
if data:
print data,addr
else: break
udp_socket.close()
显示服务器上来自客户端的所有dns请求。。。现在如何重定向到mylocalhost
忘了提我在用windows。。。你知道吗
您的方法可能有效,但取决于您的实际需求,它可能不是很有效。一种更自然的方法是在主机上使用iptables来捕获未识别的HTTP流量并将其发送回本地web服务器。你知道吗
有关使用PHP设置的方法,请参阅本网站。使用python修改它应该不太难。http://www.andybev.com/index.php/Using_iptables_and_PHP_to_create_a_captive_portal
相关问题 更多 >
编程相关推荐