Poslao: 29 Sep 2012 15:33
|
offline
- E.L.I.T.E.
- Legendarni građanin
- Pridružio: 23 Maj 2012
- Poruke: 4575
|
Zelim da napravim neki program koji bi ucitavao IP korisnika, evo primera:
Da li je moguce napraviti tako nesto u c++ i koje skripte mi trebaju?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 30 Sep 2012 14:36
|
offline
- Srki_82
- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Tebi verovatno treba javna IP adresa. Nažalost, nju ne možeš sam da znaš jer možeš da se nalaziš iza raznih ruter-a, proxy-a, i ko zna čega već. Da bi dobio javnu IP adresu, moraš da pitaš neki sajt na internetu da ti kaže preko koje IP adrese si došao do nje. Jedan primer je recimo ovo:
#include <windows.h>
#include <wininet.h>
#include <iostream>
#pragma comment(lib, "wininet")
int main(int argc, char* argv[])
{
HINTERNET hInternet, hFile;
DWORD rSize;
char buffer[32];
hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
hFile = InternetOpenUrl(hInternet, "http://automation.whatismyip.com/n09230945.asp", NULL, 0, INTERNET_FLAG_RELOAD, 0);
InternetReadFile(hFile, &buffer, sizeof(buffer), &rSize);
buffer[rSize] = '\0';
InternetCloseHandle(hFile);
InternetCloseHandle(hInternet);
std::cout << "Your IP Address: " << buffer << "\n";
system("pause");
return 0;
}
Imaj na umu da vlasnici whatismyip servisa dozvoljavaju upotrebu ove funkcije samo jednom na svakih 5 minuta. Ako budeš zvao češće, možda će ti zauvek onemogućiti dostup do njihovih servisa.
|
|
|
|
Poslao: 30 Sep 2012 17:21
|
offline
- E.L.I.T.E.
- Legendarni građanin
- Pridružio: 23 Maj 2012
- Poruke: 4575
|
Srki_82 ::Tebi verovatno treba javna IP adresa. Nažalost, nju ne možeš sam da znaš jer možeš da se nalaziš iza raznih ruter-a, proxy-a, i ko zna čega već. Da bi dobio javnu IP adresu, moraš da pitaš neki sajt na internetu da ti kaže preko koje IP adrese si došao do nje. Jedan primer je recimo ovo:
#include <windows.h>
#include <wininet.h>
#include <iostream>
#pragma comment(lib, "wininet")
int main(int argc, char* argv[])
{
HINTERNET hInternet, hFile;
DWORD rSize;
char buffer[32];
hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
hFile = InternetOpenUrl(hInternet, "http://automation.whatismyip.com/n09230945.asp", NULL, 0, INTERNET_FLAG_RELOAD, 0);
InternetReadFile(hFile, &buffer, sizeof(buffer), &rSize);
buffer[rSize] = '\0';
InternetCloseHandle(hFile);
InternetCloseHandle(hInternet);
std::cout << "Your IP Address: " << buffer << "\n";
system("pause");
return 0;
}
Imaj na umu da vlasnici whatismyip servisa dozvoljavaju upotrebu ove funkcije samo jednom na svakih 5 minuta. Ako budeš zvao češće, možda će ti zauvek onemogućiti dostup do njihovih servisa.
Znam za taj servis medjutim nešto nije u redu, jer svaki sledeći put kada udjem na njega pokazuje mi drugi IP, kao da mi se stalno menja IP?!
Ne znam da li je to zbog toga što sam do skoro imao Hide IP program. Hvala na odgovoru.
|
|
|
|
Poslao: 30 Sep 2012 17:25
|
offline
- Srki_82
- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Na osnovu imena (Hide IP) bih rekao da taj program koristi neke proxy-je i da preko njih ideš na net da bi sakrio svoj IP. Zbog toga je i logično da svaki put dobiješ drugi IP
|
|
|
|
Poslao: 10 Okt 2012 19:02
|
offline
- Pridružio: 05 Maj 2010
- Poruke: 112
|
Najbolje je da ograničiš korišćenje programa korisniku na 5 minuta posle prve provere ip-a...
|
|
|
|
Poslao: 12 Okt 2012 12:11
|
offline
- E.L.I.T.E.
- Legendarni građanin
- Pridružio: 23 Maj 2012
- Poruke: 4575
|
Srki_82 ::Na osnovu imena (Hide IP) bih rekao da taj program koristi neke proxy-je i da preko njih ideš na net da bi sakrio svoj IP. Zbog toga je i logično da svaki put dobiješ drugi IP
Kada udjem u servis pise: No Proxy Detected...
|
|
|
|
Poslao: 06 Nov 2012 16:57
|
offline
- Pridružio: 05 Maj 2010
- Poruke: 112
|
IZVOR: stackoverflow
#include <stdio.h>
#include <sys/types.h>
#include <ifaddrs.h>
#include <netinet/in.h>
#include <string.h>
#include <arpa/inet.h>
int main (int argc, const char * argv[]) {
struct ifaddrs * ifAddrStruct=NULL;
struct ifaddrs * ifa=NULL;
void * tmpAddrPtr=NULL;
getifaddrs(&ifAddrStruct);
for (ifa = ifAddrStruct; ifa != NULL; ifa = ifa->ifa_next) {
if (ifa ->ifa_addr->sa_family==AF_INET) { // check it is IP4
// is a valid IP4 Address
tmpAddrPtr=&((struct sockaddr_in *)ifa->ifa_addr)->sin_addr;
char addressBuffer[INET_ADDRSTRLEN];
inet_ntop(AF_INET, tmpAddrPtr, addressBuffer, INET_ADDRSTRLEN);
printf("%s IP Address %s\n", ifa->ifa_name, addressBuffer);
} else if (ifa->ifa_addr->sa_family==AF_INET6) { // check it is IP6
// is a valid IP6 Address
tmpAddrPtr=&((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr;
char addressBuffer[INET6_ADDRSTRLEN];
inet_ntop(AF_INET6, tmpAddrPtr, addressBuffer, INET6_ADDRSTRLEN);
printf("%s IP Address %s\n", ifa->ifa_name, addressBuffer);
}
}
if (ifAddrStruct!=NULL) freeifaddrs(ifAddrStruct);
return 0;
}
|
|
|
|