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.[/quote]
zamiast > uzyj >> co dopisze linijke do pliku a nie nadpisze


2) jak ograniczyc uzytkownikom przez iptables ilosc polaczen wychodzacych z kompa....[/quote]
"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:"
[b]if [ ! -e /jakis_plik ]
then
  touch /jakis_plik
fi[/b]
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" [b] >> /jakis_plik[/b]
SUM=$(($SUM+$COUNT))
fi
done
echo "W sumie Ilo¶ć poł±czeń wynosi: $SUM" [b]>> /jakis_plik[/b]
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

[url=http://www.netfix.pro]www.netfix.pro[/url]

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

[/quote]

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
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.011 seconds, 15 queries executed ]

Informacje debugowania

Time (s) Query
0.00010 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00129 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.216.250.143' WHERE u.id=1
0.00064 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.216.250.143', 1732827963)
0.00039 SELECT * FROM punbb_online WHERE logged<1732827663
0.00061 DELETE FROM punbb_online WHERE ident='185.191.171.1'
0.00054 DELETE FROM punbb_online WHERE ident='3.14.250.187'
0.00059 DELETE FROM punbb_online WHERE ident='3.145.92.98'
0.00067 DELETE FROM punbb_online WHERE ident='3.147.27.129'
0.00047 SELECT topic_id FROM punbb_posts WHERE id=55705
0.00005 SELECT id FROM punbb_posts WHERE topic_id=7327 ORDER BY posted
0.00055 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=7327 AND t.moved_to IS NULL
0.00007 SELECT search_for, replace_with FROM punbb_censoring
0.00123 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=7327 ORDER BY p.id LIMIT 0,25
0.00171 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=7327
Total query time: 0.00896 s