Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //WebServer
- import processing.net.*;
- Server s;
- Client c;
- String homepage = "";
- String dieMessage = "";
- String saved = "";
- String typing = "";
- String binaerCode="";
- String IpOhneNetz,nurNetz,nurNetzmitSlash,ipAdresse;
- String[] ipAdresseBinaer, netzMaskeBinaer,GatewayBinaer;
- int[] GatewayDezi;
- int counter = 0;
- //HTML PARAMETER
- int eins = 1;
- String center = "center";
- String farbe = "#2548844";
- // END HTML PARAMETER
- void setup()
- {
- s = new Server(this, 12345);
- }
- void draw()
- {
- c = s.available();
- if(c != null)
- {
- if(counter == 0)
- {
- counter++;
- dieMessage = c.readString();
- Kommunikation(dieMessage);
- ipAdresse = getIpAdresse(); // Die Methode übergibt den Wert der IpAdresse
- ipAdresseBinaer = getIpBinaer(); // ""
- netzMaskeBinaer = getNetzmaskeBinaer(); // ""
- GatewayBinaer = getGatewayBinaer(); // ""
- GatewayDezi = getGatewayDezi(); // ""
- nurNetzmitSlash = getNetzmaske(); // ""
- homepage += "<html>";
- homepage += "<body bgcolor="+farbe+">";
- homepage += "<table border="+eins+" align="+center+">";
- homepage += "<tr>";
- homepage += "<td>";
- homepage += "Die Ip lautet : "+ ipAdresse +""+nurNetzmitSlash+" <br>";
- homepage += "</tr>";
- homepage += "</td>";
- homepage += "<tr>";
- homepage += "<td>";
- homepage += "Ip Binär: "+ipAdresseBinaer[0] +" "+ipAdresseBinaer[1]+" "+ipAdresseBinaer[2]+" "+ipAdresseBinaer[3]+ " <br>";
- homepage += "</tr>";
- homepage += "</td>";
- homepage += "<tr>";
- homepage += "<td>";
- homepage += "Submaske "+netzMaskeBinaer[0] +" "+netzMaskeBinaer[1]+" "+netzMaskeBinaer[2]+" "+netzMaskeBinaer[3]+ " <br>";
- homepage += "</tr>";
- homepage += "</td>";
- homepage += "<tr>";
- homepage += "<td>";
- homepage += "<marquee> calculating ...</marquee><br>";
- homepage += "</tr>";
- homepage += "</td>";
- homepage += "<tr>";
- homepage += "<td>";
- homepage += "Gateway Binär "+GatewayBinaer[0] +" "+GatewayBinaer[1]+" "+GatewayBinaer[2]+" "+GatewayBinaer[3]+ " <br>";
- homepage += "</tr>";
- homepage += "</td>";
- homepage += "<tr>";
- homepage += "<td>";
- homepage += "IP Gateway/Router "+GatewayDezi[0] +"."+GatewayDezi[1]+"."+GatewayDezi[2]+"."+GatewayDezi[3]+ " <br>";
- homepage += "</tr>";
- homepage += "</td>";
- homepage += "</table>";
- homepage += "</body>";
- homepage += "</html>";
- c.write(homepage);
- c.stop();
- }
- }
- }
- void Kommunikation(String am) //am = ankommendeMessage
- {
- String test = am.substring(am.indexOf('=')+1,am.indexOf('H')-1);
- IpOhneNetz = test.substring(0,test.indexOf('/')); // IpAdresse ohne die Netzmaske
- nurNetz = test.substring(test.indexOf('/')+1); // Wird nur die Netzmaske ausgelesen
- nurNetzmitSlash = test.substring(test.indexOf('/')); // Fuer die Anzeige im Browser, da wir normalerweise das / wegschneiden
- String[] liste = split(IpOhneNetz,'.'); // IpAdresse wird gesplittet zu einzelnen Strings
- String[] ipUmwandlung = IpAdresseinByte(liste); // Ip wird zu bytes
- String[] binaerCode = netzmaskeUmwandlung(nurNetz); // Netzmaske wird erstellt und zum binärcode umgewandelt
- String[] netzwerkBinaer = GatewayBinaer(ipUmwandlung,binaerCode); // Die Ip Adresse und Netzmaske werden geand und daraus wird das Standardgateway
- int[] netzwerkDezi = GatewayDezimal(netzwerkBinaer); // Gateway wird als Dezi erstellt
- setIpAdresse(IpOhneNetz); // Wird die IP Variable festgelegt
- setNetzmaske(nurNetzmitSlash); // Wird die IP Variable festgelegt
- setIpBinaer(ipUmwandlung); // Wird die IP Variable festgelegt
- setNetzmaskeBinaer(binaerCode); // Wird die IP Variable festgelegt
- setGatewayBinaer(netzwerkBinaer); // Wird die IP Variable festgelegt
- setGatewayDezi(netzwerkDezi); // Wird die IP Variable festgelegt
- }
- void setNetzmaske(String dieMacAdresse)
- {
- nurNetzmitSlash = dieMacAdresse;
- }
- String getNetzmaske()
- {
- return nurNetzmitSlash;
- }
- // Getter Setter die Netzmaske
- void setIpAdresse(String dieIpAdresse)
- {
- ipAdresse = dieIpAdresse;
- }
- String getIpAdresse()
- {
- return ipAdresse;
- }
- // Getter Setter die IpAdresse
- void setIpBinaer(String[] dieIpAdresse)
- {
- ipAdresseBinaer = dieIpAdresse;
- }
- String[] getIpBinaer()
- {
- return ipAdresseBinaer;
- }
- // Getter Setter die IpAdresse als Binär
- void setNetzmaskeBinaer(String[] dasNetzwerk)
- {
- netzMaskeBinaer = dasNetzwerk;
- }
- String[] getNetzmaskeBinaer()
- {
- return netzMaskeBinaer;
- }
- // Getter Setter die Netzmaske als Binär
- void setGatewayBinaer(String[] dasGatewayBin)
- {
- GatewayBinaer = dasGatewayBin;
- }
- String[] getGatewayBinaer()
- {
- return GatewayBinaer;
- }
- // Getter Setter die Gateway als Binär
- void setGatewayDezi(int[] dasGatewayDezi)
- {
- GatewayDezi = dasGatewayDezi;
- }
- int[] getGatewayDezi()
- {
- return GatewayDezi;
- }
- // Getter Setter die Gateway als Dezi
- int[] GatewayDezimal(String[] netBinaer) /// Das GateWay wird als Dezimalzahl umgewandelt
- {
- int[] dezimalZahl = new int[4];
- for(int i = 0; i < dezimalZahl.length;i++)
- {
- dezimalZahl[i] = int(unbinary(netBinaer[i]));
- }
- return dezimalZahl;
- }
- String[] GatewayBinaer(String[] ip, String[] netzMaske) // Beide Binärcodes von der Ip und der Netzmaske werden verand
- {
- String[] derAndWert = new String[4];
- int[] DeziWerteUmwandeln = new int[8];
- for(int i = 0; i < 5; i++)
- {
- for(int j = 0;j < i ; j++)
- {
- DeziWerteUmwandeln[j] = unbinary(ip[j]);
- DeziWerteUmwandeln[i] = unbinary(netzMaske[j]);
- derAndWert[j] = binary(DeziWerteUmwandeln[j] & DeziWerteUmwandeln[i],8);
- }
- }
- return derAndWert;
- }
- String[] IpAdresseinByte(String[] liste) // Ip Adresse Dezi -> Binär
- {
- String[] bits = new String[4];
- for(int i = 0; i < liste.length; i++)
- {
- bits[i] = binary(Integer.parseInt(liste[i]),8);
- }
- return bits;
- }
- String[] netzmaskeUmwandlung(String dieMaske) // Netzmaske /12 werden 12 einsen in oktett geschrieben, rest ist 0
- {
- int zaehler = Integer.parseInt(dieMaske);
- String derbinaerCode = "";
- for(int i = 1; i <= 32; i++)
- {
- if(i == 32) // Der Standardgateway ist immer die erste zur Verfügbare Ip :D z.b 192.168.0.0 -> 192.168.0.1 sein | 32 weil wir 4 a 8 bits, oktett haben 4*8 = 32
- {
- derbinaerCode += "1";
- }
- else if(i <= zaehler)
- {
- derbinaerCode += "1";
- }
- else if(i > zaehler)
- {
- derbinaerCode += "0";
- }
- }
- String[] netzMaskebinaerCode = new String[4];
- int stelle = 0;
- int stelle2 = 8;
- for(int i = 0; i < netzMaskebinaerCode.length; i++)
- {
- netzMaskebinaerCode[i] = derbinaerCode.substring(stelle,stelle2);
- stelle += 8;
- stelle2 += 8;
- }
- return netzMaskebinaerCode;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement