Advertisement
Zidinjo

Untitled

Apr 18th, 2015
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.87 KB | None | 0 0
  1. //WebServer
  2. import processing.net.*;
  3. Server s;
  4. Client c;
  5.  
  6. String homepage = "";
  7. String dieMessage = "";
  8. String saved = "";
  9. String typing = "";
  10. String binaerCode="";
  11. String IpOhneNetz,nurNetz,nurNetzmitSlash,ipAdresse;
  12. String[] ipAdresseBinaer, netzMaskeBinaer,GatewayBinaer;
  13. int[] GatewayDezi;
  14. int counter = 0;
  15.  
  16. //HTML PARAMETER
  17. int eins = 1;
  18. String center = "center";
  19. String farbe = "#2548844";
  20. // END HTML PARAMETER
  21.  
  22. void setup()
  23. {
  24.     s = new Server(this, 12345);
  25. }
  26.  
  27. void draw()
  28. {
  29.   c = s.available();
  30.  
  31.   if(c != null)
  32.   {
  33.     if(counter == 0)
  34.     {
  35.       counter++;
  36.       dieMessage = c.readString();
  37.       Kommunikation(dieMessage);
  38.      
  39.       ipAdresse =  getIpAdresse(); // Die Methode übergibt den Wert der IpAdresse
  40.       ipAdresseBinaer = getIpBinaer(); // ""
  41.       netzMaskeBinaer = getNetzmaskeBinaer(); // ""
  42.       GatewayBinaer = getGatewayBinaer(); // ""
  43.       GatewayDezi = getGatewayDezi(); // ""
  44.       nurNetzmitSlash = getNetzmaske(); // ""
  45.      
  46.       homepage += "<html>";
  47.       homepage += "<body bgcolor="+farbe+">";
  48.       homepage += "<table border="+eins+" align="+center+">";
  49.       homepage += "<tr>";
  50.       homepage += "<td>";
  51.       homepage += "Die Ip lautet : "+ ipAdresse +""+nurNetzmitSlash+" <br>";
  52.       homepage += "</tr>";
  53.       homepage += "</td>";
  54.       homepage += "<tr>";
  55.       homepage += "<td>";
  56.       homepage += "Ip Binär: "+ipAdresseBinaer[0] +" "+ipAdresseBinaer[1]+" "+ipAdresseBinaer[2]+" "+ipAdresseBinaer[3]+ "  <br>";
  57.       homepage += "</tr>";
  58.       homepage += "</td>";
  59.       homepage += "<tr>";
  60.       homepage += "<td>";
  61.       homepage += "Submaske "+netzMaskeBinaer[0] +" "+netzMaskeBinaer[1]+" "+netzMaskeBinaer[2]+" "+netzMaskeBinaer[3]+ "  <br>";
  62.       homepage += "</tr>";
  63.       homepage += "</td>";
  64.       homepage += "<tr>";
  65.       homepage += "<td>";
  66.       homepage += "<marquee> calculating ...</marquee><br>";
  67.       homepage += "</tr>";
  68.       homepage += "</td>";
  69.       homepage += "<tr>";
  70.       homepage += "<td>";
  71.       homepage += "Gateway Binär "+GatewayBinaer[0] +" "+GatewayBinaer[1]+" "+GatewayBinaer[2]+" "+GatewayBinaer[3]+ "  <br>";
  72.       homepage += "</tr>";
  73.       homepage += "</td>";
  74.       homepage += "<tr>";
  75.       homepage += "<td>";
  76.       homepage += "IP Gateway/Router "+GatewayDezi[0] +"."+GatewayDezi[1]+"."+GatewayDezi[2]+"."+GatewayDezi[3]+ "  <br>";
  77.       homepage += "</tr>";
  78.       homepage += "</td>";
  79.       homepage += "</table>";
  80.       homepage += "</body>";
  81.       homepage += "</html>";
  82.      
  83.       c.write(homepage);
  84.       c.stop();
  85.     }
  86.   }
  87. }
  88.  
  89. void Kommunikation(String am) //am = ankommendeMessage
  90. {
  91.    String test = am.substring(am.indexOf('=')+1,am.indexOf('H')-1);
  92.  
  93.    IpOhneNetz = test.substring(0,test.indexOf('/')); // IpAdresse ohne die Netzmaske
  94.    nurNetz = test.substring(test.indexOf('/')+1); // Wird nur die Netzmaske ausgelesen
  95.    nurNetzmitSlash = test.substring(test.indexOf('/')); // Fuer die Anzeige im Browser, da wir normalerweise das / wegschneiden
  96.        
  97.    String[] liste = split(IpOhneNetz,'.'); // IpAdresse wird gesplittet zu einzelnen Strings
  98.    String[] ipUmwandlung = IpAdresseinByte(liste); // Ip wird zu bytes
  99.    String[] binaerCode = netzmaskeUmwandlung(nurNetz); // Netzmaske wird erstellt und zum binärcode umgewandelt
  100.    String[] netzwerkBinaer = GatewayBinaer(ipUmwandlung,binaerCode); // Die Ip Adresse und Netzmaske werden geand und daraus wird das Standardgateway
  101.    int[] netzwerkDezi = GatewayDezimal(netzwerkBinaer); // Gateway wird als Dezi erstellt
  102.        
  103.    setIpAdresse(IpOhneNetz); // Wird die IP Variable festgelegt
  104.    setNetzmaske(nurNetzmitSlash); // Wird die IP Variable festgelegt
  105.    setIpBinaer(ipUmwandlung); // Wird die IP Variable festgelegt
  106.    setNetzmaskeBinaer(binaerCode); // Wird die IP Variable festgelegt
  107.    setGatewayBinaer(netzwerkBinaer); // Wird die IP Variable festgelegt
  108.    setGatewayDezi(netzwerkDezi); // Wird die IP Variable festgelegt
  109. }
  110.  
  111. void setNetzmaske(String dieMacAdresse)
  112. {
  113.    nurNetzmitSlash = dieMacAdresse;
  114. }
  115.  
  116. String getNetzmaske()
  117. {
  118.   return nurNetzmitSlash;
  119. }
  120.  
  121. // Getter Setter die Netzmaske
  122.  
  123. void setIpAdresse(String dieIpAdresse)
  124. {
  125.    ipAdresse = dieIpAdresse;
  126. }
  127.  
  128. String getIpAdresse()
  129. {
  130.   return ipAdresse;
  131. }
  132.  
  133. // Getter Setter die IpAdresse
  134.  
  135. void setIpBinaer(String[] dieIpAdresse)
  136. {
  137.    ipAdresseBinaer = dieIpAdresse;
  138. }
  139.  
  140. String[] getIpBinaer()
  141. {
  142.   return ipAdresseBinaer;
  143. }
  144.  
  145. // Getter Setter die IpAdresse als Binär
  146.  
  147. void setNetzmaskeBinaer(String[] dasNetzwerk)
  148. {
  149.    netzMaskeBinaer = dasNetzwerk;
  150. }
  151.  
  152. String[] getNetzmaskeBinaer()
  153. {
  154.   return netzMaskeBinaer;
  155. }
  156.  
  157. // Getter Setter die Netzmaske als Binär
  158.  
  159.  
  160. void setGatewayBinaer(String[] dasGatewayBin)
  161. {
  162.    GatewayBinaer = dasGatewayBin;
  163. }
  164.  
  165. String[] getGatewayBinaer()
  166. {
  167.   return GatewayBinaer;
  168. }
  169.  
  170. // Getter Setter die Gateway als Binär
  171.  
  172. void setGatewayDezi(int[] dasGatewayDezi)
  173. {
  174.    GatewayDezi = dasGatewayDezi;
  175. }
  176.  
  177. int[] getGatewayDezi()
  178. {
  179.   return GatewayDezi;
  180. }
  181.  
  182. // Getter Setter die Gateway als Dezi
  183.  
  184. int[] GatewayDezimal(String[] netBinaer) /// Das GateWay wird als Dezimalzahl umgewandelt
  185. {
  186.   int[] dezimalZahl = new int[4];
  187.   for(int i = 0; i < dezimalZahl.length;i++)
  188.   {
  189.     dezimalZahl[i] = int(unbinary(netBinaer[i]));
  190.   }
  191.   return dezimalZahl;
  192. }
  193.  
  194. String[] GatewayBinaer(String[] ip, String[] netzMaske) // Beide Binärcodes von der Ip und der Netzmaske werden verand
  195. {
  196.   String[] derAndWert = new String[4];
  197.   int[] DeziWerteUmwandeln = new int[8];
  198.  
  199.   for(int i = 0; i < 5; i++)
  200.   {
  201.     for(int j = 0;j < i ; j++)
  202.     {
  203.       DeziWerteUmwandeln[j] = unbinary(ip[j]);
  204.       DeziWerteUmwandeln[i] = unbinary(netzMaske[j]);
  205.       derAndWert[j] = binary(DeziWerteUmwandeln[j] & DeziWerteUmwandeln[i],8);
  206.     }    
  207.   }
  208.   return derAndWert;
  209. }
  210.  
  211. String[] IpAdresseinByte(String[] liste) // Ip Adresse Dezi -> Binär
  212. {
  213.   String[] bits = new String[4];
  214.   for(int i = 0; i < liste.length; i++)
  215.   {
  216.     bits[i] = binary(Integer.parseInt(liste[i]),8);
  217.   }
  218.   return bits;
  219. }
  220.  
  221. String[] netzmaskeUmwandlung(String dieMaske) // Netzmaske /12 werden 12 einsen in oktett geschrieben, rest ist 0
  222. {
  223.   int zaehler = Integer.parseInt(dieMaske);
  224.   String derbinaerCode = "";
  225.   for(int i = 1; i <= 32; i++)
  226.   {
  227.     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
  228.     {
  229.       derbinaerCode += "1";
  230.     }
  231.     else if(i <= zaehler)
  232.     {
  233.       derbinaerCode += "1";
  234.     }
  235.     else if(i > zaehler)
  236.     {
  237.       derbinaerCode += "0";
  238.     }
  239.   }
  240.  
  241.   String[] netzMaskebinaerCode = new String[4];
  242.   int stelle = 0;
  243.   int stelle2 = 8;
  244.  
  245.   for(int i = 0; i < netzMaskebinaerCode.length; i++)
  246.     {
  247.       netzMaskebinaerCode[i] = derbinaerCode.substring(stelle,stelle2);
  248.       stelle += 8;
  249.       stelle2 += 8;
  250.     }
  251.   return netzMaskebinaerCode;
  252. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement