Właśny adres IP

0

Hej. Da się sprawdzić swój publiczny adres IP w Javie? Jak?

Próbowałem czegoś takiego:

InetAddress.getLocalHost().getHostAddress(); 

Jednak zwraca to adres lokalny który nie jest chyba moim faktycznym IP bo gdy sprawdzam swoje IP na jakiejś stronie w necie to jest ono zupełnie inne.

Korzystam z darmowego internetu AREO 2... Jako, że jest to darmowy internet to co godzinę się rozłącza i trzeba wpisać kod captcha żeby znów się połączyć. Gdybym mógł poznać swoje IP to domyślam się, że zmieniłoby się ono od razu gdy tylko stracę połączenie. I właśnie o to mi chodzi, żeby program wykrył w ten sposób, że straciłem połączenie :p Wydaje mi się, że to najefektywniejszy sposób, o ile jest możliwy.

0
InetAddress.getLocalHost().getHostAddress();

Zwraca adres lokalny, ponieważ pytałeś o adres lokalny ;)

0

Metody na zwrócenie adresu publicznego nie znam, dlatego tworzę ten wątek :p

0

Nie ma takiej metody bez spytania kogoś "z zewnątrz" o to jaki masz adres.

0

@Jade koniem Masz jakieś podstawy technologii sieciowej?
Łączysz się ze światem zewnętrznym przez jakąś bramę - ona ma publiczny adres IP. Jak wejdziesz sobie na np. https://www.whatismyip.com/
to po odpowiednim trasowaniu pakietu będzie miał on adres źrodłowy równy adresowi bramy.

Z racji faktu, że nie odpytasz bramy bezpośrednio o jej adres nie-lokalny to musisz posilkować się na przykład podaną przeze mnie stroną.

EDIT: uproszczony jest ten wywód, ale z grubsza tak to wygląda.

0

http://stackoverflow.com/questions/9481419/how-can-i-get-the-public-ip-using-python2-7
niby python, ale to podobne.

natomiast sprawa wygląda w ten sposób, że te serwisy różnie chodzą, dlatego najlepiej zrobić if-a sprawdzającego dostępność:
pseudokod (do zaimplementowania w dowolnym języku):

if (serwis1 == dostępny);

//pobierz ip z tego serwisu w jakis tam sposób

if (serwis2 == dostępny)

 //pobierz ip z tego serwisu w jakis tam sposób2

if (serwis3 == dostepny)

//pobierz ip z tego serwisu w jakiś tam sposób3

else

komunikat(nie da sie pobrac zewn ip, poniewaz wszystkie serwisy  aktualnie nie działają lub nie ma połączenia z internetem)

 

przykładowe serwisy pokazujące adres ip:
http://ip.42.pl/raw
https://api.ipify.org/?format=json

generalnie chodzi o to, ze warto rozszerzyć i zrobic skrypt, ktory parę serwisów sprawdzi i jakby jakiś aktualnie nie działał, to przejdzie do następnego/kolejnego.

0

@xfin, Nie rozumiem zbytnio ale czuję, że nie rozwiąże to mojego problemu :D
Pewnie działałoby to na jakiejś podobnej zasadzie jak pingowanie jakiegoś hosta, i gdy tylko stracę połączenie to nie będzie to dalej możliwe.

@NieGooglujMnie W podobny sposób teraz mi to działa, po 59 minutach od podłączenia z internetem, zaczynają się pingować dwa serwery, gdy oba padną to znaczy, że net się rozłączył. Jednak nie jest to efektywna metoda, bo dopiero po paru długich sekundach od rozłączenia będę mieć odpowiedź, że net się rozłączył. Dlatego próbuję znaleźć coś bardziej efektywnego.

0

Twój problem - jeżeli chcesz utrzymać stałe połączenie - nie jest związany z zewnętrznym adresem IP, ale captcha.
Na tym forum masz oprogramowanie dla przepisywania CAPTCHA:
http://forum.jdtech.pl/

więcej pewnie w googlach.

Sprawa też wygląda, że nie wiadomo jak jest firewall ustawiony, mogą być jakieś dodatkowe restrykcje na łączu (co do otwartych/zamkniętych portów).
Nie korzystam z Aero2, ale jakby tak ogarnąc Captcha to połączenie byłoby na stałym poziomie.

0
NieGooglujMnie napisał(a):

jeżeli chcesz utrzymać stałe połączenie - nie jest związany z zewnętrznym adresem IP, ale captcha.

Cóż, trochę jest. W Areo2 IP jest dynamiczne, jest inne po każdym połączeniu się.

NieGooglujMnie napisał(a):

Nie korzystam z Aero2, ale jakby tak ogarnąc Captcha to połączenie byłoby na stałym poziomie.

Po godzinie internet się rozłączy niezależnie od modemu, po połączeniu się ponownie, IP będzie już inne, więc połączenie na stałym poziomie jest raczej niewykonalne nawet po ogarnięciu Captcha :p

NieGooglujMnie napisał(a):

Na tym forum masz oprogramowanie dla przepisywania CAPTCHA:
http://forum.jdtech.pl/

Dzięki, zaraz poszukam, na bank się przyda :P Już wcześniej próbowałem znaleźć, jednak bez skutecznie, może to jakiś nowy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1