Salve a tutti,
Ho bisogno di creare un server dns per windows, deve essere creato in maniera tale che gli utenti collegati alla rete , qualsiasi indirizzo scrivano nel browser debbano essere sempre reindirizzati all' indirizzo 192.168.1.148 . Ho trovato la libreria Dnsjava, ma non ho capito come bisogna implementare un dns server . Ho realizzato un server udp porta 53 ed ho importato il codice sorgente della libreria dns java , e poi? vi mando il codice da me scritto:
codice:
import java.net.*;
import org.xbill.DNS.*;
class UDPServer
{
public static void main(String args[]) throws Exception
{
DatagramSocket serverSocket = new DatagramSocket(53);
byte[] receiveData = new byte[1024];
byte[] sendData = new byte[1024];
System.setProperty("sun.net.spi.nameservice.provider.1", "dns,dnsjava");
System.out.println("Server Dns partito");
while(true)
{
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
String sentence = new String( receivePacket.getData());
System.out.println("RECEIVED: " + sentence);
InetAddress IPAddress = receivePacket.getAddress();
int port = receivePacket.getPort();
InetAddress localhost = InetAddress.getLocalHost();
sendData = localhost.getAddress(); //capitalizedSentence.getBytes();
DatagramPacket sendPacket =
new DatagramPacket(sendData, sendData.length, IPAddress, port);
serverSocket.send(sendPacket);
}
}
}
Grazie in anticipo.
Edit:
Il server parte e, impostando come dns questo software, gli arrivano i messaggi dai browser dei pc connessi alla rete anche se non sono molto precisi esempio se io digito "http://www.ciccio.com" mi esce:
"RECEIVED: ¤¤ www ciccio com " ... però a parte questo io devo fare in modo che a prescindere dal nome che ricevo io lo devo far reindirizzare a 192.168.1.148. con il sendPacket non funziona. Altra informazione: utilizzo getLocalHost perchè il server DNS si trova nel computer con ip 192.168.1.148