Puede que haya algunos productos que puedan hacer esto, pero yo mismo escribí un proxy similar en el que quería servir contenidos locales en lugar de remotos para algunos uri's.
Aquí hay una modificación de mi código escrito en python. Se basa en la biblioteca retorcida, por lo que puede obtenerla desde aquí .
Coincidirá con las URL con la parte de netloc igual a "security.stackexchange.com" y lo reemplazará con "www.xkcd.org".
Espero que estés familiarizado con python, para que puedas agregar más funcionalidad en este código. Debería ser fácil agregar el registro, reescribir dinámicamente los de uri y demás.
Además, si desea modificar el contenido en tránsito del malware y la C & C, consulte mi contribución para un proxy de reescritura de contenido: enlace
from twisted.web import proxy, http
from twisted.internet import reactor
from urlparse import urlparse, urlunparse
fakeweb_netloc = "www.xkcd.org"
cc_netloc = "security.stackexchange.com"
class ProxyRequest(proxy.ProxyRequest):
def process(self):
res = urlparse(self.uri)
netloc = res.netloc
print self.uri
if netloc == cc_netloc:
netloc = fakeweb_netloc
self.uri = urlunparse((res.scheme, netloc, res.path, res.params, res.query, res.fragment))
proxy.ProxyRequest.process(self)
class MyProxy(http.HTTPChannel):
requestFactory = ProxyRequest
class ProxyFactory(http.HTTPFactory):
protocol = MyProxy
if __name__ == "__main__":
factory = ProxyFactory()
reactor.listenTCP(8080,factory)
reactor.run()