Istnieje wiele powodów, dla których możemy potrzebować odnaleźć nasz publiczny adres IP w skrypcie. Jednak cała sztuka polega na tym, jak znaleźć ten adres bez ludzkiej interwencji, jeśli jesteśmy podłączeni do sieci lokalnej LAN.
Najprostszym sposobem, jaki na ten moment znalazłam jest użycie mało skomplikowanej komendy, która wyszukuje IP na wybranej przez nas stronie internetowej:
GET www.monip.org | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p'
lub
lynx --źródło www.monip.org | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p'
albo jeszcze
w3m -dump http://www.monip.org/ | awk -F': ' '/IP/ { print $2 }'
Dziękujemy użytkownikowi dubcek za propozycję rozwiązania z "w3m"
Komenda GET (lwp-request) znajduje się w libwww języka Perl (package perl-libwww-perl-version).
Zgodnie z nazwą tej komendy, powoduje ona działanie GET na stronie, co pokazuje kod źródłowy strony.
Lynx jest przeglądarką w trybie tekstowym obecną w większości dystrybucji Linuksa, która jednocześnie, gdyby zaszła taka potrzeba, jest prostsza do zainstalowania niż lwp-request Perl.
Komenda sed:
Linia zawierająca adres IP jest zatem zastępowana przez sam adres IP ;-)
To do Ciebie należy decyzja, co następnie zrobisz z otrzymanym rezultatem!
Zdjęcie: © Thought Catalog - Unsplash