[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

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.;)
 
Kostenlos!

Statistik des Forums

Themen
248,924
Beiträge
2,305,326
Mitglieder
378,652
Neuestes Mitglied
stego88