Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-03-23 12:05:43

  b4mbus - Użytkownik

b4mbus
Użytkownik
Skąd: czę100chowa
Zarejestrowany: 2007-02-02

Ilosć połączeń...

1) Witam mam taki mały skrypcik prosze pomoc mi rozwiazac problem... wiec tak...

#!/bin/bash
echo "Statystyki poł±czeń z NAT:"
IP=$(arp -n | grep C | grep -v eth0 | awk '{print $1 }')
SUM=0
for I in $IP
do
   COUNT=$(grep $I /proc/net/ip_conntrack | wc -l)
    if [ "$COUNT" -gt 0 ]
   then
echo -e "$IIlosć poł±czeń: $COUNT"
SUM=$(($SUM+$COUNT))
   fi
done
echo "W sumie Ilo¶ć poł±czeń wynosi: $SUM"
exit 0

Chciałbym by to co zostanie wypisane na ekran zostalo zapisane do pliku txt i by pomiar byl robiony co powiedzmy 10 minut....

z tym zapisaem do pliku nie moge sobie dac rady gdyz jak dopisze "> /vaw/www/nat.txt" zapisuje mi sie tylko ostatnia linijka a nie cala lista... jak to zrobic poprawnie.

2) jak ograniczyc uzytkownikom przez iptables ilosc polaczen wychodzacych z kompa....

Offline

 

#2  2007-03-23 12:53:19

  Libo - Użytkownik

Libo
Użytkownik
Skąd: Żory
Zarejestrowany: 2004-10-25

Re: Ilosć połączeń...

... gdyz jak dopisze "> /vaw/www/nat.txt" zapisuje mi sie tylko ostatnia linijka a nie cala lista... jak to zrobic poprawnie.

zamiast > uzyj >> co dopisze linijke do pliku a nie nadpisze


2) jak ograniczyc uzytkownikom przez iptables ilosc polaczen wychodzacych z kompa....

"iptables ... -m connlimit --connlimit-above x -j DROP "


Nie ma nie idzie... jest nie umiem.

Offline

 

#3  2007-03-23 13:00:36

  b4mbus - Użytkownik

b4mbus
Użytkownik
Skąd: czę100chowa
Zarejestrowany: 2007-02-02

Re: Ilosć połączeń...

wiem ze >> nadpisze ale nadal ostatnia linijke tego co na ekranie sie wyswietla ale ja chce wszystko....

Offline

 

#4  2007-03-23 13:09:19

  Libo - Użytkownik

Libo
Użytkownik
Skąd: Żory
Zarejestrowany: 2004-10-25

Re: Ilosć połączeń...

teraz to nie za bardzo rozumiem o co ci chodzi, jezeli chcesz aby kazda linijak zapisywala ci sie do pliku to musisz skrypt zmienic tak:


#!/bin/bash
echo "Statystyki poł±czeń z NAT:"
if [ ! -e /jakis_plik ]
then
  touch /jakis_plik
fi

IP=$(arp -n | grep C | grep -v eth0 | awk '{print $1 }')
SUM=0
for I in $IP
do
COUNT=$(grep $I /proc/net/ip_conntrack | wc -l)
if [ "$COUNT" -gt 0 ]
then
echo -e "$IIlosć poł±czeń: $COUNT" >> /jakis_plik
SUM=$(($SUM+$COUNT))
fi
done
echo "W sumie Ilo¶ć poł±czeń wynosi: $SUM" >> /jakis_plik
exit 0


Nie ma nie idzie... jest nie umiem.

Offline

 

#5  2007-03-23 13:23:23

  b4mbus - Użytkownik

b4mbus
Użytkownik
Skąd: czę100chowa
Zarejestrowany: 2007-02-02

Re: Ilosć połączeń...

O to mi chodzilo :) dziekuje :) a powiesz jeszcze jak zrobic by pomiar byl prowadzony co 5 minut i automatycznei sie uruchamial... i jak zamias numeru IP wstawic nazwe uzytkownika... ?

Offline

 

#6  2007-03-23 13:45:14

  Libo - Użytkownik

Libo
Użytkownik
Skąd: Żory
Zarejestrowany: 2004-10-25

Re: Ilosć połączeń...

mozesz to zrobic jak zwykle na kilka sposobow,  najprosciej dopisz sobie linijke

Kod:

0,5,10,15,20,25,30,35,40,45,50,55 *    * * *   root    /sciezka_do_skryptu

do pliku /etc/crontab i oczywisce zrestartuj demona ( ale uwazam ze pomiar co 5 minut jest za czesty, ja bym dal najmniej 15 -20 min minimum)

co do zamiany ip na nazwe hosta to mozesz sie pobawic z poleceniem grep + awk na pliku /etc/hosts. moze jest jakies komenda ktore to zrobi za ciebie ale ja jej nie znam :)


Nie ma nie idzie... jest nie umiem.

Offline

 

#7  2007-03-23 19:20:35

  zlyZwierz - Moderator

zlyZwierz
Moderator
Zarejestrowany: 2005-02-18
Serwis

Re: Ilosć połączeń...

Ale rzeźnia :)

A nie prościej tak:

Kod:

router ~ # sysctl net.ipv4.netfilter.ip_conntrack_count
net.ipv4.netfilter.ip_conntrack_count = 13260

albo

Kod:

router ~ # cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count 
12936

Offline

 

#8  2007-03-24 11:22:49

  naibed - Nowy użytkownik

naibed
Nowy użytkownik
Zarejestrowany: 2007-03-24

Re: Ilosć połączeń...

1) Witam mam taki mały skrypcik prosze pomoc mi rozwiazac problem... wiec tak...

#!/bin/bash
echo "Statystyki poł±czeń z NAT:"
IP=$(arp -n | grep C | grep -v eth0 | awk '{print $1 }')
SUM=0
for I in $IP
do
   COUNT=$(grep $I /proc/net/ip_conntrack | wc -l)
    if [ "$COUNT" -gt 0 ]
   then
echo -e "$IIlosć poł±czeń: $COUNT"
SUM=$(($SUM+$COUNT))
   fi
done
echo "W sumie Ilo¶ć poł±czeń wynosi: $SUM"
exit 0

skrypt ma jeden blad ;)
mianowicie jezli mas zusera o ip 11 i usera o ip 111 to zliczy z obu
prosta zasada grepa
mozesz to obejsc dajac po $I' '
wiecej man grep

pozdrawiam :)

Offline

 

#9  2007-03-25 22:46:31

  Libo - Użytkownik

Libo
Użytkownik
Skąd: Żory
Zarejestrowany: 2004-10-25

Re: Ilosć połączeń...

@zlyZwierz oczywiscie ze jest prosciej :) ale w kernelach 2.4 bez patcha z patch-o-matic nie ma tego klucza/pliku. Samą sume mozna sprawdzac tez tak cat /proc/net/ip_conntrack | wc -l , ale powyzszy skrypt latwo zmodyfikowac aby podawal kto ma ile polaczen ( a nie tylko sume)


Nie ma nie idzie... jest nie umiem.

Offline

 

#10  2007-06-01 13:21:47

  GuruPL - Członek DUG

GuruPL
Członek DUG
Zarejestrowany: 2006-03-13
Serwis

Re: Ilosć połączeń...

Kod:

0,5,10,15,20,25,30,35,40,45,50,55 *    * * *   root    /sciezka_do_skryptu

lepiej jako

Kod:

*/5 * * * *   root    /sciezka_do_skryptu

zapisac

:)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)