Kommunizieren mit Router

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Kommunizieren mit Router

Beitrag von NicTheQuick »

Hier Jungs!

Ich will mit meinem PureBasic-Programm herausfinden unter welcher IP ich im Internet eingeloggt bin. Da ich aber über einen Router ins Internet gehe, gestaltet sich das auslesen etwas schwierig, außer jemand kennt da eine einfachere Methode.

Wenn ich auf den Router per WebInterface zugreife, sieht das so aus, dass da ein Passwort-Feld und ein Login- und Cancel-Button ist. Nach Eingabe des Passwortes werde ich durch den Login-Button auf die [c]main.htm[/c] weitergeleitet, auf der ich dann alle meine Informationen finden kann, die ich bräuchte.

Allerdings gestaltet sich das mit PB dann etwas schwierig. Ich muss ja das Passwort irgendwie zu dem Router schicken, damit er mit die [c]main.htm[/c] gibt, die ja so nicht einfach aufrufbar ist.

Hat dazu jemand eine Idee?
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Mein ZyXel Router kommuniziert auch über Telnet (port 21)
Probiers mal aus!

greetz
remi
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Über Telnet? Was kann ich damit machen bzw. wo finde ich das?
Und was hast du dem Router "gesagt", damit er dir geantwortet hat?
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Unter der Console: (protokoll (ausm kopf))

Code: Alles auswählen

telnet
o
192.168.1.1
Passwort: ******
dann kommt ein Menu.
Also mit OpenNetworkConnection() mit der RouterIP auf Port 21 verbinden, dann warten bis Antwort kommt, dann Passwort senden und du solltest drinn sein.


greetz
remi
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Habe einen Sitecom Router auf "192.168.0.1", die Statusseite wo die IP drinsteht heisst bei mir "status.html". Diese Seite kann ich so auslesen :

Code: Alles auswählen

URLDownloadToFile_(0,"http://user:passwort@192.168.0.1/status.htm","c:\test.txt",0,0) = #S_OK
Du musst nur die html Seite wissen die abrufen musst, ansonsten user und passwort mitgeben


Ergebnis (Auschnitt) :

Code: Alles auswählen

        <tr>
          <td width=40%><font face="Arial" size="2">IP Address :</font></td>
          <td width=60%><font face="Arial" size="2">217.236.50.121</font></td>            
        </tr>
Das brauch ich dann nur noch rauspicken und ich hab die IP ohne auf einen externen Dienst angewiesen zu sein.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Naja, funktioniert beides nicht.

Eine Verbindung unter Port 21 funktioniert überhaupt nicht. Ich kann nur mit Port 80 oder 88 verbinden und dann wei ich auch nicht, wie ich weiter machen soll.

Eine Übergabe des Passworts per URL funktioniert genauso wenig. Ich habe aber auch kein Passwort festgelegt und einen Benutzernamen muss man auch nicht angeben.

Was ich aber herausgefunden habe ist, dass man auf Groß- und Kleinschreibung achten sollte. Hier ist [c]main.htm[/c] etwas anderes wie [c]main.HTM[/c]. Aber auf diese Seite komme ich nur, wenn ich mich vorher schonmal eingeloggt habe auf der Seite [c]login.htm[/c] (Diesmal klein geschrieben).

Hilft es euch was, wenn ich euch den Quellcode der Login-seite poste?

Code: Alles auswählen

<HTML>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>Login</title>
</head>

<BODY bgcolor="#0000FF">
<form action="login.htm" method="post" name="tF">
<input type="hidden" name="page" value="login">
<table border="0" width="100%" height="184" cellspacing="0">
  <tr>
    <td width="100%" height="103" colspan="2" align="center">
    	<a href="http://www.belkin.com"><img border="0" src="image/Belkin.gif" width="161" height="80"></a>
    </td>
  </tr>
   <tr>
    <td width="100%" height="19" colspan="2" align="center">
    	<H2><font face="Arial, Helvetica, sans-serif" color="#FFFFFF">Login &nbsp;Screen</font></H2>
    </td>
  </tr>
  
  <tr>
    <td width="50%" height="19" align="right">
    	<font face="Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Password&nbsp;&nbsp;&nbsp;:</font></td>
    <td width="50%" height="19" align="left">
	    <INPUT type="password" maxLength=12 size=9 name=pws></td><p>
  </tr>
 <tr>
    <td width="50%" height="19">&nbsp;</td>
    <td width="50%" height="19">&nbsp;</td>
  </tr>
   <tr>
	<td width="50%" height="19" align="right">
   		<INPUT type="submit" value="Login"><img src="image/PIXEL.GIF" width="6" height="1">
    </td>
    <td width="50%" height="19" align="left">
    	<INPUT class=button onclick=window.close(); type=button value=Cancel>
    </td>
  </tr>
</table>
</body>
</FORM>
</BODY></HTML>
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Es würde wohl am meisten bringen, wenn du uns den Namen deines Routers verraten würdest :wink: . Wie alt ist der den?
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Meine Methode muss eigentlich gehen, es sei denn du hast XP & SP drauf. Es wurde bei irgendeinem Update umgestellt.Versuch mal folgenden Schlüssel zu registrieren, aber schau vielleicht vorher mal rein wie es bei dir aussieht:

Code: Alles auswählen

[HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE]
"iexplore.exe"=dword:00000000
"explorer.exe"=dword:00000000
Nur damit akzeptiert Purebasic (...ie) User und Passwort in "http"!
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

:wink:

Es ist ein Belkin-GateWay-Router.
Ein paar Daten:

Code: Alles auswählen

Name: 4-PORT CABLE/DSL GATEWAY ROUTER
Runtime Code Version: V1.20.003
Boot Code Version: V1.00
Hab momentan nicht wirklich Ahnung wie der genau heißt.

Vielleicht ein paar Bilder von vorne...
Bild
...oder von der Seite?
Bild

Ich kann momentan nicht mit viel mehr dienen, aber morgen vielleicht.

///Edit:
@Icke: Das Verzeichnis "FeatureControl" exisitiert bei mir überhaupt nicht in dem Verzeichnis "Main".

Aber mal davon abgesehen funktionieren andere Seiten mit dem "user:password@"-Tag wunderbar.
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Ich hab grad mal dein HTML Code im Browser anzeigen lassen, da iss ja ein richtiger "Knopp" drin! Bei mir geht ein Browserfenster mit User und Passwort auf, ich vermute mal das es daran liegt...

Code: Alles auswählen

<INPUT class=button onclick=window.close(); type=button value=Cancel>
Ist das nicht Java oder irre ich ?
Antworten