Problem z dynamicznym IP wymaga pliku wsadowego

0

Mój ISP zapewnia mi połączenie internetowe z dynamicznym IP. kiedy muszę zmienić adres IP, po prostu odłącz moje połączenie telefoniczne za pomocą pliku bat (rasdial „nazwa połączenia telefonicznego” / rozłącz) i ponownie połącz się z tym samym plikiem bat za pomocą polecenia rasdial „nazwa połączenia dial-up” nazwa użytkownika hasło. W większości działa, ale czasami denerwujące jest późniejsze wyszukiwanie podczas przeglądania mojego adresu IP. Zdarza się powiedzieć raz na 10 do 15 prób. Czy może istnieć plik nietoperza, który przy wykonywaniu notatek wskazuje aktualny adres IP, a następnie rozłącza internet, a następnie ponownie się łączy, a następnie sprawdza, czy adres IP uległ zmianie lub nie i czy adres IP nie zmienił się, wraca do rozłączenia i ponownego połączenia, aż do zmiany adresu IP.


źródło
Dlaczego i tak musisz zmienić swój adres IP? Brzmi dla mnie podejrzanie: P
Thorarin

Odpowiedzi:

2

Coś takiego powinno działać

ipconfig | find "IP Address" > tempip.txt
set /p tvar=< tempip.txt

:untilloop

do redial here

ipconfig | find "IP Address" > tempip.txt
set /p newip=< tempip.txt
if %tvar%==%newip% goto untilloop
Col
źródło
1

Jeśli musisz to zrobić w nietoperzu, możesz użyć for pętla z wyjściem ipconfig w Twoim set blok. Wyjmij swój początkowy adres IP przed rozłączeniem i przetestuj go za pomocą tego samego procesu po ponownym połączeniu.

Nie jestem pewien, dlaczego „trzeba” zmienić adres IP. Byłbym zainteresowany zrozumieniem przyczyn, ponieważ nie są one tak oczywiste, jak wskazujesz, powinny być w twoim komentarzu.

akf
źródło
Dzięki akf, używam prostego pojedynczego pliku bat do łączenia i odłączania sieci. Co jest następujące: @echo off rasdial "nazwa połączenia dial-up" / disconnect rasdial "nazwa połączenia dial-up" nazwa użytkownika hasło Zmień to tak, jak zasugerowałeś i nie pozwól mi tutaj, ponieważ nie wiem nic o partii lub programowaniu i tak Nie mogę tego zrobić sam. Jeśli chodzi o przyczynę, chcę pobrać pliki z rapidshare itp. Bez większego kłopotu jako wolny użytkownik. pozdrowienia
1

Czy skontaktowałeś się ze swoim dostawcą usług internetowych?

  • Dowiedz się, jakie są czasy dzierżawy DHCP.
  • Zapytaj ich, jakie czynniki mogą spowodować zmianę adresu IP. Nie wspomniałbym, że próbujesz uzyskać inny.

W większości działa, ale czasami denerwujące jest późniejsze wyszukiwanie podczas przeglądania mojego adresu IP. Zdarza się powiedzieć raz na 10 do 15 prób.

Może być konieczne odczekanie znacznej części czasu dzierżawy w celu odnowienia, chociaż jeśli otrzymasz inny adres 90% czasu, może nie.

Zwykle bardziej się martwię konserwowanie adres, więc nie jestem pewien, co należy zrobić, aby tego uniknąć. Niemniej jednak mogą one mieć charakter informacyjny:

NVRAM
źródło
1

Jeśli możesz zmienić adres MAC przy każdym uruchomieniu skryptu, na pewno otrzymasz nowy adres IP z serwera DHCP. Szanse na konflikty MAC są dość niskie.

secureBadshah
źródło
0

Często zdarza się, że jeśli łączysz się zbyt szybko, otrzymujesz ten sam adres IP.

Na przykład u mojego dostawcy Internetu wymagane jest opóźnienie o co najmniej 15 minut w przypadku nowego adresu IP, ale może to potrwać dłużej.

harrymc
źródło
0

Jeśli masz wiele kart sieciowych, metoda ipconfig może nie być dobra. Możesz także wyeliminować plik tymczasowy z następującą logiką:

for /f "tokens=3" %%i in (
   'netsh interface ip show addresses "Connection Name"^| findstr "IP"'
) do set ip=%%i

:dountill
rasdial "dial-up connection name" /disconnect
rasdial "dial-up connection name" username password

for /f "tokens=3" %%i in (
   'netsh interface ip show addresses "Connection Name"^| findstr "IP"'
) do set ipnew=%%i

:delay a sec or so
PING 1.1.1.1 -n 1 -w 2 >NUL
if %ip%==%newip% goto dountill
joojaa
źródło