The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Написать скрипт проверки по netstat"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Написать скрипт проверки по netstat"  
Сообщение от EDMANN on 18-Фев-07, 01:52 
Здравствуйте!

Ребята, помогите написать скрипт АтиДДоса.

Имеем информацию из: netstat -ant|grep ESTABLISHED|awk '{print($5)}'
Нужно в соответствии с полученной, проверитъ, если один и тот же IP повтаряется более 10 раз, то произвести действие. Если нет, то ничего не делать...

В принципе просто, сам программист, но в SHELL не силён, прошу помощи...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Написать скрипт проверки по netstat"  
Сообщение от NuINu (??) on 19-Фев-07, 12:12 
>Здравствуйте!
>
>Ребята, помогите написать скрипт АтиДДоса.
>
>Имеем информацию из: netstat -ant|grep ESTABLISHED|awk '{print($5)}'
>Нужно в соответствии с полученной, проверитъ, если один и тот же IP
>повтаряется более 10 раз, то произвести действие. Если нет, то ничего
>не делать...
>
>В принципе просто, сам программист, но в SHELL не силён, прошу помощи...
>
Ага, просто, учи перл и наслаждайся(раз программист) ;-)
my $max_conn = 10;

use strict;
my %ip;

open (FH, "<iptest") or die "Can't open ip address list: $!";
while(<FH>) {
# Работает только для IPv4
   next unless /^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*/;
   $ip{$1}++;
}

foreach (sort {$ip{$b} <=> $ip{$a}} keys %ip) {
  if($ip{$_} > $max_conn) {
      printf "WARNING!!! upper limit connection for %10s %d\n", $_, $ip{$_};
  } else {
      printf "legal user: %10s %d\n", $_, $ip{$_};
  }
}
close FH or die "Close error: $!";

ну там переделать нужно поток ввода заменить, на стд, и все.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Написать скрипт проверки по netstat"  
Сообщение от ovax email(??) on 20-Фев-07, 04:19 
Да зачем тебе нетстат ?

читай данные сразу из файла /proc/net/ip_conntrack

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Написать скрипт проверки по netstat"  
Сообщение от perece on 21-Фев-07, 17:54 
>Да зачем тебе нетстат ?
>
>читай данные сразу из файла /proc/net/ip_conntrack
это годится только на линухе и только если модуль ip_conntrack загружен. из условий задачи этого не следует. загрузка же оного сильно увеличивает packet processing overhead, что делает это неприемлимым для этой задачи (уязвимость к DDOS увеличивается в разы)

\^P^/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Написать скрипт проверки по netstat"  
Сообщение от perece on 21-Фев-07, 17:34 
>Здравствуйте!
>
>Ребята, помогите написать скрипт АтиДДоса.
>
>Имеем информацию из: netstat -ant|grep ESTABLISHED|awk '{print($5)}'

... | sort | uniq -c | awk '$1 >= 10 {system(sprintf("./handle_attacking_ip %s",$2))}'

и забей на перл. это советуют люди, коим шел и авк не по зубам.

\^P^/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Написать скрипт проверки по netstat"  
Сообщение от NuINu (??) on 26-Фев-07, 10:09 
>>Здравствуйте!
>>
>>Ребята, помогите написать скрипт АтиДДоса.
>>
>>Имеем информацию из: netstat -ant|grep ESTABLISHED|awk '{print($5)}'
>
>... | sort | uniq -c | awk '$1 >= 10 {system(sprintf("./handle_attacking_ip %s",$2))}'
>
>и забей на перл. это советуют люди, коим шел и авк не
>по зубам.
>
>\^P^/
;-)), ну тогда будь другом, не поленись, и вырежь номер порта из потока, иначе uniq работать не будет!


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Написать скрипт проверки по netstat"  
Сообщение от perece on 10-Апр-07, 21:10 
>>>Имеем информацию из: netstat -ant|grep ESTABLISHED|awk '{print($5)}'
>>
>>... | sort | uniq -c | awk '$1 >= 10 {system(sprintf("./handle_attacking_ip %s",$2))}'
>>
>>и забей на перл. это советуют люди, коим шел и авк не
>>по зубам.
>>
>;-)), ну тогда будь другом, не поленись, и вырежь номер порта из
>потока, иначе uniq работать не будет!
а  awk '{print($5)}'  это разве не оно? я не просто так с многоточия написал. имелось ввиду подписать сие к вышепроцитированному
упс... соррри, $5 там похоже ip:port. тогда Ok, порт надо отсечь. ступил.
(можно модифицировать вышенаписаный авк, дабы не вставлять еще одного компонента:
... | awk '{split($5,adrp,":"); print adrp[1]}' | ...
или
... | awk '{adr=$5; sub(":.*$","",adr); print adr}' | ...
или изгаляться cut'ом отдельно

\^P^/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Написать скрипт проверки по netstat"  
Сообщение от BigShadow email on 10-Апр-07, 14:40 
>Здравствуйте!
>
>Ребята, помогите написать скрипт АтиДДоса.
>
>Имеем информацию из: netstat -ant|grep ESTABLISHED|awk '{print($5)}'
>Нужно в соответствии с полученной, проверитъ, если один и тот же IP
>повтаряется более 10 раз, то произвести действие. Если нет, то ничего
>не делать...

И где здесь ДОС?!
ДОС у тебя будет не при эстаблишеных коннектах
а в случае соединений со статусом SYN_RCV

смотри HOW-TO по DDOS :)))

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Написать скрипт проверки по netstat"  
Сообщение от BigShadow email on 10-Апр-07, 14:52 
>а в случае соединений со статусом SYN_RCV

поправка SYN_RCVD

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Написать скрипт проверки по netstat"  
Сообщение от idle (ok) on 11-Апр-07, 13:20 
>Здравствуйте!
>
>Ребята, помогите написать скрипт АтиДДоса.
>
>Имеем информацию из: netstat -ant|grep ESTABLISHED|awk '{print($5)}'
>Нужно в соответствии с полученной, проверитъ, если один и тот же IP
>повтаряется более 10 раз, то произвести действие. Если нет, то ничего
>не делать...
>
>В принципе просто, сам программист, но в SHELL не силён, прошу помощи...
>
Скажите а зачем Вам этот велосипед, с квадратными колёсами?
В любой нормальной системе, есть фаервол который сделает это за Вас, достаточно прописать нужные опции.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Написать скрипт проверки по netstat"  
Сообщение от perece on 11-Апр-07, 19:53 
>>Здравствуйте!
>>
>>Ребята, помогите написать скрипт АтиДДоса.
>>
>>Имеем информацию из: netstat -ant|grep ESTABLISHED|awk '{print($5)}'
>>Нужно в соответствии с полученной, проверитъ, если один и тот же IP
>>повтаряется более 10 раз, то произвести действие. Если нет, то ничего
>>не делать...
>>
>>В принципе просто, сам программист, но в SHELL не силён, прошу помощи...
>>
>Скажите а зачем Вам этот велосипед, с квадратными колёсами?
>В любой нормальной системе, есть фаервол который сделает это за Вас, достаточно
>прописать нужные опции.
да что вы? ключевое слово здесь - _стандартный_ файрвол. со стандартными же методами обхода его. в плане защиты любой, пусть даже самый пошлый креатив лучше любого стандартного решения. а еще лучше - в комплексе.

P.S. пошла старая тема по рукам. автор пди и забыл уже, что спрашивал это тут, и вряд-ли будет искать тут ответ :)

\^P^/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Написать скрипт проверки по netstat"  
Сообщение от idle (ok) on 12-Апр-07, 14:24 
>>Скажите а зачем Вам этот велосипед, с квадратными колёсами?
>>В любой нормальной системе, есть фаервол который сделает это за Вас, достаточно
>>прописать нужные опции.
>да что вы? ключевое слово здесь - _стандартный_ файрвол. со стандартными же
>методами обхода его.
Да что Вы?
Можно пару ссылок на "стандартные метода обхода" фаервола?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру