Shell - jak znaleźć adres IP?

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.

jak znaleźć adres IP?

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"

Wyjaśnienie

GET

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

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.

Sed

Komenda sed:

  • parametry
    • -n: ogranicza wyświetlanie do podanych linii (związane z parametrem "p")
    • -r: obsługa rozszerzonych wyrażeń regularnych
    • -e: wyrażenie
    • s///: wyznacza substytucję
    • p: rezultat jest wyświetlony (w korelacji do parametru "n")
    • motyw
    • ^.*(motif_ip).*$: wyszukiwanie linii zawierającej adres IP (porównaj z artykułem który pojawi się wkrótce: RegExp -jak znaleźć adres IP )
    • \1: elementy znajdujące się w nawiasach mogą być adresowanie w następstwie wyrażenia przez \1.

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

Zadaj pytanie
Treści, które ukazują się w serwisie CCM powstają we współpracy z ekspertami IT i pod kierownictwem Jeana-François Pillou, założyciela CCM.net. CCM to serwis o nowych technologiach - jeden z największych na świecie, dostępny w 11 językach.
Zobacz również
Ten dokument zatytułowany "Shell - jak znaleźć adres IP?" opublikowany przez CCM (pl.ccm.net) jest udostępniany na licencji Creative Commons. Możesz kopiować i modyfikować kopie tej strony, na warunkach określonych przez licencję i wymienionych w niniejszym tekście.