Nowe posty

Autor Wątek: konfiguracja sieci - jak wyciągnąć?  (Przeczytany 6136 razy)

herszt

  • Gość
konfiguracja sieci - jak wyciągnąć?
« dnia: 2010-08-09, 23:50:12 »
Witam!

Takie dość nietypowe pytanie mam. Chciałbym w jak najprostszy sposób wycignąć takie rzeczy jak IP, DNS, bramka i maska. Czy jest jakiś inny sposób niż ifconfig? Może ta konfiguracja jest zapisywana w jakimś pliku? Potrzebuję później te dane dość łatwo obrobić więc im łatwiej będzie to wyciągnąć tym lepiej.

z góry dzięki
pozdrawiam
herszt

arctgx

  • Gość
konfiguracja sieci - jak wyciągnąć?
« Odpowiedź #1 dnia: 2010-08-10, 00:46:27 »
Cytat: herszt
Czy jest jakiś inny sposób niż ifconfig?
Jest jeszcze ip.

Interfejs sieciowy zdaje się być obsługiwany bezpośrednio przez jądro, więc może gdzieś w /proc lub /sys coś znajdziesz (/proc/net/route zawiera zapisane szesnastkowo i "odwrotnie" ułożone oktety adresów, np. 0001A8C0 dla 192.168.1.0, ale pliku z parametrami interfejsów sieciowych nie znalazłem na szybko). W dokumentacji jądra się rozejrzyj.

chmooreck

  • Gość
konfiguracja sieci - jak wyciągnąć?
« Odpowiedź #2 dnia: 2010-08-10, 08:07:59 »
ifconfig
/etc/resolv.conf
route

ubu59

  • Gość
konfiguracja sieci - jak wyciągnąć?
« Odpowiedź #3 dnia: 2010-08-10, 08:14:02 »
Witam!
Cytat: herszt
(...) Chciałbym w jak najprostszy sposób wycignąć takie rzeczy jak IP, DNS, bramka i maska. Czy jest jakiś inny sposób niż ifconfig?(...)
Wg mnie jest to najprostszy i kompletny sposób (masz wszystkie potrzebne dane). Poza tym uniwersalny. Pliki konfiguracyjne w poszczególnych dystrybucjach mogą się różnić nazwą i/lub lokalizacją. Np.: w slackware dane te są w pliku /etc/rc.d/rcinet1.conf (źródło: R. Sokół, Slackware Linux, Helion 2007, str. 113), w moim systemie (PCLinuxOS) takiego pliku nie ma.
Cytat: herszt
(...)Może ta konfiguracja jest zapisywana w jakimś pliku? Potrzebuję później te dane dość łatwo obrobić więc im łatwiej będzie to wyciągnąć tym lepiej.
(...)
Jeśli koniecznie chcesz zapisać dane z polecenia do pliku możesz skorzystać z przekierowania ">" lub ">>" np.:
# ifconfig > dane.txt #wysyła dane wszystkich interfejsów do pliku dane.txt
# ifconfig eth0 > dane.txt #dane interfejsu eth0
# ifconfig ppp0 > dane.txt #dane interfejsu ppp0
Inna możliwość to wykorzystanie potoku "|" i polecenia grep. W tym przypadku wszystkie dane masz w jednej linijce, bo po kolei jest ip interfejsu, bramki (jeśli występuje) i maska.
# ifconfig eth0 | grep "inet addr" #dane interfejsu eth0 bez zapisu do pliku
# ifconfig eth0 | grep "inet addr" > dane.txt #jw. z zapisem do pliku dane.txt
Pozdrawiam!

herszt

  • Gość
konfiguracja sieci - jak wyciągnąć?
« Odpowiedź #4 dnia: 2010-08-10, 11:19:12 »
Tak właśnie postanowiłem zrobić jak Koledzy radzą - czyli ifconfig, resolv.conf oraz route. Największym kłopotem tutaj będą jednak wyrażenia regularne. Mam problem z czytaniem np. drugiej zwróconej przez cat linijki (w pierwszej jest coś co mnie nie interesuje). Można odczytać linijki o określonym numerze? Używałem "cut" ale tam można bawić się samymi kolumnami oddzielonymi określonym separatorem. Może jest na to jakiś sposób?

z góry dzięki
pozdrawiam
herszt

arctgx

  • Gość
konfiguracja sieci - jak wyciągnąć?
« Odpowiedź #5 dnia: 2010-08-10, 17:10:37 »
Napiszę krótko: awk.

ubu59

  • Gość
konfiguracja sieci - jak wyciągnąć?
« Odpowiedź #6 dnia: 2010-08-11, 10:17:42 »
Witam!
Cytat: herszt
(...)Mam problem z czytaniem np. drugiej zwróconej przez cat linijki (w pierwszej jest coś co mnie nie interesuje). Można odczytać linijki o określonym numerze? Używałem "cut" ale tam można bawić się samymi kolumnami oddzielonymi określonym separatorem. Może jest na to jakiś sposób?

z góry dzięki
pozdrawiam
herszt
Może tail?
http://www.linux.pl/man/index.php?command=tail
Pozdrawiam!