将所有请求指向localhos

2024-04-26 01:18:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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。。。你知道吗


Tags: 用户import服务器hostdatabind网站port
1条回答
网友
1楼 · 发布于 2024-04-26 01:18:45

您的方法可能有效,但取决于您的实际需求,它可能不是很有效。一种更自然的方法是在主机上使用iptables来捕获未识别的HTTP流量并将其发送回本地web服务器。你知道吗

有关使用PHP设置的方法,请参阅本网站。使用python修改它应该不太难。http://www.andybev.com/index.php/Using_iptables_and_PHP_to_create_a_captive_portal

相关问题 更多 >