GoogleBig - Forum

Full Version: [C++] Programma per convertire l'ip
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Code:
/*
  Name:  Langy
  Date: 26/07/07 23.25
  Description: Programma che converte l'ip
*/


#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>


main()
{

// variabili dell'ip
unsigned long ip1;
unsigned long ip2;
unsigned long ip3;
unsigned long ip4;
unsigned long ipcod;     // ip codificato

cout << "\nINSERISCI L'IP DA CODIFICARE:\n\n";

// Primo gruppo dell'ip
cout << "1) Primo gruppo dell'ip: ";
cin >> ip1;
if (ip1 > 256)
{
        cout << "Numero errato, il massimo consentito e' 256\n\n";
        cout << "1) Reinserisci il primo gruppo dell'ip: ";
        cin >> ip1;
        }

// Secondo gruppo dell'ip
cout << "\n2) Secondo gruppo dell'ip: ";
cin >> ip2;
if (ip2 > 256)
{
        cout << "Numero errato, il massimo consentito e' 256\n\n";
        cout << "1) Reinserisci il secondo gruppo dell'ip: ";
        cin >> ip2;
        }

// Terzo gruppo dell'ip
cout << "\n3) Terzo gruppo dell'ip: ";
cin >> ip3;
if (ip3 > 256)
{
        cout << "Numero errato, il massimo consentito e' 256\n\n";
        cout << "3) Reinserisci il terzo gruppo dell'ip: ";
        cin >> ip3;
        }

// Quarto gruppo dell'ip
cout << "\n4) Quarto gruppo dell'ip: ";
cin >> ip4;
if (ip4 > 256)
{
        cout << "Numero errato, il massimo consentito e' 256\n\n";
        cout << "4) Reinserisci il quarto gruppo dell'ip: ";
        cin >> ip4;
        }

// codifica dell'ip
ipcod = (ip4 + (ip3*256) + (ip2*256*256) + (ip1*256*256*256));

// risultato
cout << "\n\nL'ip per esteso e': ";
cout << ip1 << "." << ip2 << "." << ip3 << "." << ip4;

cout << "\n\nL'ip codificato e': " << ipcod << "\n\n\n";

cout << "Se ora provi a fare un ping a " << ipcod << " ti rispodera' l'ip " << ip1 << "." << ip2 << "." << ip3 << "." << ip4 << "\n\n\n";

system("pause");

return(0);
}

melo sono letto tutto ma devo ancora realizzare dove mettere queste cose.. O.O
-.-'

è c++, si da in pasto ad un compilatore che ti crea l'eseguibile.

Usa Dev c++
http://www.bloodshed.net/dev/devcpp.html
ora ci do un occhiata cmq penso di capire...è un linguaggio di programmazione avanzato se nn mi sbaglio,e TROPPO AVANZATO PER ME!
Sn ancora sulla strada di aspirante X°°D
cmq ora ci guardo al link ke mi hai dato.
io so usare il multiproxy,e una volta mi sn incasinato l'ip che nn mi si cambiava piu,nn l'avevo piu diamico...insomma avevo fatto un disastro X°°D
questo nn è un proxy ma solo una conversione dell'ip per mascherarlo
bello!
volevo modificare il tuo prog aggiungendo l'inserimento dell'ip subito dopo il nome del programma. pensavo fosse uguale al C, invece mi sbagliavo!
allora ho riscritto il programma in C, ma con alcuni ip (per es. 192.168.1.2) non funziona...
se vi interessa, eccolo:

Code:
/*
  Description: Programma che converte l'ip
  da un'idea di Langy
  (versione C by gieffe)
*/


#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{
    if(!argv[1]) {
        // se non viene inserito nessun ip
        // stampa l'errore ed esce
        printf("ip non trovato!\n");
        return 1;
    }
    else {
        // l'ip e' una stringa (argv[1]), estraggo i numeri
        // e li metto in un vettore di stringhe
        // (una matrice di char)
        char str[4][4];
        int i, c, k;
        for(k=0,c=0,i=0;argv[1][i]!='\0';i++) {
            if(argv[1][i]!='.') {
                str[c][k]=argv[1][i];
                k++;
            }
            else {
                str[c][k]='\0';
                k=0;
                c++;
            }
        }
        // converto i numeri dell'ip da stringhe ad int
        // e li memorizzo nel vettore ip; se un numero e' maggiore
        // di 256 o minore di zero, esco stampando l'errore
        long ip[4];
        long ipcod;
        for(i=0;i<4;i++) {
            ip[i]=atol(str[i]);
            if(ip[i]>256 || ip[i]<0) {
                printf("l'ip non e' valido!\n");
                return 1;
            }
        }
        // codifica dell'ip
        ipcod=(ip[3] + (ip[2]*256) + (ip[1]*256*256) + (ip[0]*256*256*256));
        printf("%d.%d.%d.%d >> %d\n", ip[0], ip[1], ip[2], ip[3], ipcod);
        return 0;
    }
}

allora, l'ho compilato ma appena lo eseguo mi dice ip non trovato!
da linea di comando

Code:
prog.exe 64.233.187.99

Perfetto funziona! :D
Reference URL's