DNS et serveur web

Le
Noex
Hello,

Un pc avec windows_2000 dit PC_A possède deux cartes réseaux, une
configurée en 192.168.1.x relié à une livebox relié à Internet et
l'autre carte réseau en 192.168.2.x relié à un routeur wifi linksys, le
wifi est activé mais le routeur n'est pas relié à internet.

D'un portable je peux via le wifi accéder à PC_A (192.168.1.x), je ne
veux pas que le portable accède à Internet. Par contre je souhaiterais
que toute requête web venant du portable aboutisse sur une adresse ip
qui sera celle de pc_a. Donc, si du portable je tape www.yahoo.fr je
suis envoyé sur 192.168.1.x, sachant que pc_a va accueillir un petit
serveur web.

Comment faire pour que toute requête web aboutisse vers une ip en
particulier ?

Merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Didier
Le #19057071
Noex a écrit :
Hello,

Un pc avec windows_2000 dit PC_A possède deux cartes réseaux, une
configurée en 192.168.1.x relié à une livebox relié à Internet et
l'autre carte réseau en 192.168.2.x relié à un routeur wifi linksys, le
wifi est activé mais le routeur n'est pas relié à internet.

D'un portable je peux via le wifi accéder à PC_A (192.168.1.x), je ne
veux pas que le portable accède à Internet. Par contre je souhaiterais
que toute requête web venant du portable aboutisse sur une adresse ip
qui sera celle de pc_a. Donc, si du portable je tape www.yahoo.fr je
suis envoyé sur 192.168.1.x, sachant que pc_a va accueillir un petit
serveur web.

Comment faire pour que toute requête web aboutisse vers une ip en
particulier ?

Merci.




Une route dans le Linksys ?
Didier.
Noex
Le #19057301
Didier a présenté l'énoncé suivant :
Noex a écrit :
Hello,

Un pc avec windows_2000 dit PC_A possède deux cartes réseaux, une
configurée en 192.168.1.x relié à une livebox relié à Internet et l'autre
carte réseau en 192.168.2.x relié à un routeur wifi linksys, le wifi est
activé mais le routeur n'est pas relié à internet.

D'un portable je peux via le wifi accéder à PC_A (192.168.1.x), je ne veux
pas que le portable accède à Internet. Par contre je souhaiterais que toute
requête web venant du portable aboutisse sur une adresse ip qui sera celle
de pc_a. Donc, si du portable je tape www.yahoo.fr je suis envoyé sur
192.168.1.x, sachant que pc_a va accueillir un petit serveur web.

Comment faire pour que toute requête web aboutisse vers une ip en
particulier ?

Merci.




Une route dans le Linksys ?
Didier.



Comment ça ? Dans le linksys je peux configurer l'adresse du serveur
DNS. Donc, quand le portable se connecte en wifi, avec le serveur DHCP
il récupère le serveur DNS. Pour l'instant j'ai mis 192.168.1.5, donc
l'adresse de PC_A. Maintenant sur PC_A, les requêtes doivent être
transformées, de www.xxxx.xx en 192.168.1.5 systématiquement.

Par contre ajouter une route de quoi à quoi ?
Noex
Le #19060161
Voilà, j'ai fini par trouver un programme qui fait du fakedns



Suffit de télécharger le compilateur python pour windows, le code
ci-dessous (braco à l'auteur) est à souvegarder, au format txt ça
marche, (exemple fakedns.txt) , et lancez:

python.exe fakedns.txt

Ensuite, n'importe quelle requête DNS pointe vers 192.168.2.40

et ça marche.


import socket

class DNSQuery:
def __init__(self, data):
self.dataÚta
self.dominio=''

tipo = (ord(data[2]) >> 3) & 15 # Opcode bits
if tipo == 0: # Standard query
ini
lon=ord(data[ini])
while lon != 0:
self.dominio+Úta[ini+1:ini+lon+1]+'.'
ini+=lon+1
lon=ord(data[ini])

def respuesta(self, ip):
packet=''
if self.dominio:
packet+=self.data[:2] + "x81x80"
packet+=self.data[4:6] + self.data[4:6] + 'x00x00x00x00' #
Questions and Answers Counts
packet+=self.data[12:] #
Original Domain Name Question
packet+='xc0x0c' #
Pointer to domain name
packet+='x00x01x00x01x00x00x00x3cx00x04' #
Response type, ttl and resource data length -> 4 bytes
packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) #
4bytes of IP
return packet

if __name__ == '__main__':
ip='192.168.2.40'
print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip

udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udps.bind(('',53))

try:
while 1:
data, addr = udps.recvfrom(1024)
p=DNSQuery(data)
udps.sendto(p.respuesta(ip), addr)
print 'Respuesta: %s -> %s' % (p.dominio, ip)
except KeyboardInterrupt:
print 'Finalizando'
udps.close()
Publicité
Poster une réponse
Anonyme