Temat: Różne pytania (WL500gP + OpenWRT i Linux)

Witaj Cezary,

Już zadomowiłem się na Twoim forum :-)
Postanowiłem założyć nowy wątek, żeby nie zadawać pytań nie związanych z tematem.

Więc pierwsze z nich.

Komenda 'env' wyświetla zmienne środowiskowe. Chciałem użyć jej w skrypcie, żeby w syslog wypisało mi wszystkie zmienne środowiskowe. Do sysloga ze skryptu wysyłem dane przez 'logger', ale nie mogę ich razem ożenić. Jak to zrobić?

Jarek

2

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

To pytanie raczej z podstaw shella niż openwrt smile

Do zmiennej uzyskujesz dostęp przez $zmienna czyli np. logger $USER, echo "Jestem zalogowany jako " $USER

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Tak. Z tym sobie radzę. Chodzi mi o to, żeby wysłać za jednym zamochem wszystkie zmienne środowiskowe do syslog. 'env' realizuje to, zle wyświetla zestaw zmiennych na konsolę.

4

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

logger `env`?
Chyba ze coś innego chcesz, to pokaż co chcesz otrzymać.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Wydając bezpośrednio w linii poleceń

# env

dostaję:

USER=root
HOME=/tmp
PS1=\u@\h:\w\$
LOGNAME=root
TERM=xterm
PATH=/bin:/sbin:/usr/bin:/usr/sbin
SHELL=/bin/ash
PWD=/tmp

Chciałbym żeby w skrypcie odpalić 'env', a efekt jedo dziłania znalazł się w syslog.

6

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

To tez napisałem: logger `env`

lub

SROD=`env`
logger $SROD

lub

for i in `env`; do logger $i; done

Jak Ci wygodniej. Rozwiązań jest wiele.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7 (edytowany przez jkdobro 2007-01-25 18:45:06)

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Sorki. Z rozpędu zamiast znaku ` używałem '. A to jest drobna różnica smile

Działa smile

8

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

No tak, mogłem napisać...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Każdy nowo odpalony proces dostaje swój (kolejny) PID. Do jakiej wartości PID może się zwiększać?
Co jeśli PID przekroczy wartość krytyczną i zostanie odpalony następny proces?

10

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

zalezy od systemu. 32768 jak mnie pamięc nie myli potem leci od nowa

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Ale chyba omija PID które nadal są aktywne?

12

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

no tak smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Jeszcze w sprawie ataków przez WAN i prób włamu.
Strasznie mi dropbear śmieci w syslogu. Ponieważ prób logowania do routera z dziwnych IP jest tak wiele, że log zawiera same zapisy z dropbear.
Czy można skierować logi z dropbear do jakiegoś oddzielnego pliku?
Nie znalazłem w opcjach do niego żadnego przełącznika przekierowujące logi do pliku. Da się to zrobić?

Jarek

14

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Nie spodziewał bym się. Zarówno dropbear jak i syslog z busyboxa są zbyt proste, żeby coś takiego zawierały. Nie sprawdzę tego, muszę do domu wrócić. Przenieś ssh na wyższy port i tyle.

Albo poczytaj o knockd, to też może być rozwiązanie.

Zawsze możesz openssh zainstalować.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

A jednak. Robisz dropbear -E > /tmp/ssh.log

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16 (edytowany przez jkdobro 2007-01-27 17:46:31)

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Chyba mnie coś weźmie. Od godziny próbuję napisać prosty warunek w skrypcie i...... NIE POTRAFIĘ!

Sprawdzam czy modem jest wpięty do USB poleceniem:

usb_dev="Vendor=06b9 ProdID=4061"
cat /proc/bus/usb/devices | grep "$usb_dev"

Cat zwraca ciąg z danymi modemu, albo ciąg pusty. To samo chce zrobić tylko w warunku w skrypcie:

if [ .....sprawdzenie czy ciąg nie jest pusty......]; then

fi

Już wszystkiego próbowałem. Kto wymyślił taką składnię!!!!!! POMOCY jak to zrobić?

17

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Wiesz już jak? smile

usb_dev="Vendor=06b9 ProdID=4061"
if ! grep "$usb_dev" /proc/bus/usb/devices; then
 echo "brak"
else
 echo "ok"
fi
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

18

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Dzięki o Panie! Nie rozumiem tej składni. W innych skryptach warunki są zapisywane if [ coś tam ]; then....
A dlaczego ty nie użyłeś []?

19

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

A po co? [ to tak naprawdę testuje warunki, a przeciez grep zwraca odpowiednie kody jeżeli warunek jest spełniony (BTW: ping tez tak robi i kilkadziesiąt innych programów)

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

20

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Czyli w innych przypadakach muszę użyć []? Np. if [ -f /usr/cos ]; then

21

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Tak.

W tym tez możesz:

usb_dev="Vendor=06b9 ProdID=4061"
usb_tmp=`cat /proc/bus/usb/devices | grep "$usb_dev"`

if [ "$usb_tmp" == "" ]; then
    echo "Pusty"
else
    echo "Jest"
fi

tylko po co...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

22 (edytowany przez jkdobro 2007-01-27 19:33:43)

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

No jasne. smile

Przy okazji jeszcze jedno. Sprawdzam czy jest nawiązane połączenie z ppp0. Gdzieś podpatrzyłem, że robią to przy pomocy route.
# route | grep "default"
Jak więc to wsadzić w warunek?
Choć zastanawiam się czy to jest dobre rozwiązanie, bo route długo zwraca wartść. Ponieważ ma to być w skrypcie odpalanym z crona co 1 min., to chciałbym żeby sprawdzenie odbywało się jak najszybciej.

EDIT:
Czy route do sprawdzenia trasy wysyła pakiet do hosta? Czyli podobnie jak ping. Może lepiej pingować serwer zdalny (ten od neo)?

23

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

route -n jak już. Route nic nie wysyła, określa tylko gdzie mają sie udać pakiety (default) jeżeli nie trafią w dane klasy adresowe.

Zobacz jak padnie ppp czy nadal masz trasę domyślną (ale przez route -n  - to ta z 0.0.0.0). Pewnie masz, to lepszym rozwiązaniem będzie pingowanie czegoś po tamtej stronie (ale nie co minutę, bo uznają Cię za szkodliwca co za duży podejrzany ruch generuje), a jeszcze lepszym sposobem jest puszczenie zapytania po http i sprawdzić czy odpowie tama strona (np. wget www.google.pl).

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

24

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Po padnięciu ppp route -n daje tylko:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 br0

nic więcej. Dlatego mogę po nim sprawdzać.

Mogę też wysłać pinga do IP przydzielanego przez neo (nadaje 2 IP):

Jan 27 20:09:12 (none) kern.notice pppd[1409]: local  IP address 83.11.137.213
Jan 27 20:09:12 (none) kern.notice pppd[1409]: remote IP address 213.25.2.228

Moślę że pingowanie na remote IP co minutę TePSA nie uzna za jakieś ataki?

A które rozwiązanie mniej obciązy router i zajmie mniej czasu?

25

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

No wiec możesz. Tyle pingowanie drugiej strony jest takie sobie, bo ruter  po stronie tpsa moze odpowiadać, ale nie ma wyjścia dalej w świat.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.