[INFO] determine external IP address without script

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
8,014
Punkte für Reaktionen
28
Punkte
48
U. a. auch für das Patchen geeignet.
Code:
/* by sf3978 */
#include <stdio.h>

int main (int argc, char* argv[])
{  
FILE *fp = NULL;
char ip[16];
unsigned short int c, n = 0;

fp = popen("/sbin/showdsldstat", "r");

if (fp == NULL) {
    fprintf (stdout, "%s: \"/sbin/showdsldstat\" is missing!\n", argv[0]);
    pclose(fp);
    exit (1);
  }

for (n = 0; n <= 5; n++)
    while( (c=getc(fp)) != '\n')
    ;
for (n = 0; n <= 1; n++)
    while( (c=getc(fp)) != ' ')
    ;
n = 0;
while( (c=getc(fp)) != ' ')
  ip[n++] = c;
  fprintf(stdout,"%s\n", ip);
/*
while( (c=getc(fp)) != ' ')
    putc(c,stdout);
    printf("\n");
*/
pclose(fp);
fp = NULL;

return 0;
}
Code:
/var/mod/root # geipa
##.###.##.176
 

Anhänge

  • geipa.patch.txt
    3.5 KB · Aufrufe: 2
Zuletzt bearbeitet:
Ist jetzt nicht "böse" gemeint: Gibt es einen "tieferen" Sinn, für solche "Einzeiler" Skripte ein eigenes Programm zu schreiben, mit dem ganzen Overhead dazu?

Jörg
 
Es geht um das Patchen von Quelltext für diverse Pakete in Freetz. Die Programme allein machen keinen Sinn. Sie sind ja nur zum testen des Quelltextes erstellt worden. Ja eine Shell wird gestartet, aber es wird nicht die Funktion "system()" verwendet.;)
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.