Титла: Bash скрипт Публикувано от: empty в Aug 23, 2007, 03:06 Трябва ми просто скриптче което да се сложи в crontab примерно и да следи за failed connection attempts в /var/log/messages и ако има повече от 10 опита да адва правило в iptables което да блоква IP-то пробващо да пробие в машината. Правилото да речем, че се записва в /etc/sysconfig/iptables и после се рестартират iptables посредством service iptables restart.
Става въпрос за Fedora Core. Благодаря предварително. Титла: Bash скрипт Публикувано от: VladSun в Aug 23, 2007, 03:51 http://linux-bg.org/cgi-bin....5185851
http://denyhosts.sourceforge.net/ http://linux-bg.org/cgi-bin....4186810 Виж и коментарите. Иначе:
Титла: Bash скрипт Публикувано от: empty в Aug 23, 2007, 03:51 Мерси!
Титла: Bash скрипт Публикувано от: VladSun в Aug 23, 2007, 03:52 Ти си го пооправи
Примерно може да не е 11-тата "дума" ИП-то ... Титла: Bash скрипт Публикувано от: sdr в Aug 23, 2007, 12:10
Който го е писал това не е бил уред с главата! То вярно, че се изпълнява веднъж на високосна ама все пак е по-добре да се помисли малко преди да се пише
Титла: Bash скрипт Публикувано от: VladSun в Aug 23, 2007, 14:04
Я, по-спокойно! Ходи, бегай, пуши една цигара ... К'вото си искам това си пиша ... Титла: Bash скрипт Публикувано от: syman в Aug 23, 2007, 14:58 cat|grep|awk боже боже колко ламерштина има
трябваше да е cat|grep|awk|sed я бързо записвай курсове за bash че с това ниво до никъде, помеждудругото проблема с големия лог от опити за бруте форсе се оправя само със смяна на порта Титла: Bash скрипт Публикувано от: VladSun в Aug 23, 2007, 14:59
До-о-о-бре! Титла: Bash скрипт Публикувано от: the_real_maniac в Aug 23, 2007, 15:14 Ако е по-прегледно , защо да не се напише един cat в повече ? (примерно)
не винаги НАЙ-ЛЕСНИЯТ начин е НАЙ-БЪРЗИЯТ ! как да е ... по работа as_moderator: Всеки има право на мнение, независимо дали е правилно или не. А може и всеки да си е прав за себе си ! Така че ... по-спокойно с определенията "от Великите към Непросветените" Изказвайте мнения, никой не Ви кара да се съгласявате с другият. ! Точка ... без обиди ... и най-вече да се правите на всезнаещи @syman си е не детска работа ,а пубертетска (в лошият смисъл)! Титла: Bash скрипт Публикувано от: VladSun в Aug 23, 2007, 15:21 Съгласен съм с някои от критиките - тона не ми хареса ...
Кодът го писaх в "debug" режим в 4:00am ... който иска по-добър - да пише код, а не да се самовъзхвалява. Титла: Bash скрипт Публикувано от: Mitaka в Aug 23, 2007, 15:55 apt-get install fail2ban
или ако не използваш дебиан базирана дистрибуция - просто си намери сорс/пакет на fail2ban за твоята. Титла: Bash скрипт Публикувано от: Gaara в Aug 23, 2007, 16:35 Еми аз може и да съм малко лайк, но скрипта на VladSun ми хареса, както и всичките му постове
Та: 1. Лога в CentOS е
т.е. IP-то е 13 колона и трябва да се използва sed. Нещо от сорта на:
и нататък би трябвало да е същото sdr, като си толкова могъщ на думи, покажи ни и на практика колко си добър. Титла: Bash скрипт Публикувано от: the_real_maniac в Aug 23, 2007, 16:51 Наистаина за да няма повече заяжданя по темата ще припомня:
"който иска по-добър - да пише код, а не да се самовъзхвалява. " :-) Има една японска поговорка: Дървото се познава по плодовете ;-) не казано че всички могат да видят плодовете, но ако ги има, то би трябвало да може да се видят :-) Успех на всички. пп: имаше една простичка програмка , която преди 2г преправих на C по молба, не помня колко добре се справих а и беше нещо малко, но като първи крачки тогава бееш добре та ето я темата http://www.linux-bg.org/cgi-bin....antilam аа сега виждам .. мда ... във форума не може да се прикачват файлове та му я пратих по mail/icq ... мхм , е ако някой има интерес ще сложа линк по-късно, но не очаквайте кой знае какво беше просто програмка откриваше опит за връзка и правеше рег. в syslog level кой беше не помня точно ;-) т.е като кой тип съобщение го бях вкарал edit: ок , намерих предпоследната версия, но не и последната, която правих + това съм го правил 2004, първи стъпки в системното проргамиране + бил съм доста ентусиязиран още го помня, ето какви глупости съм писал даже в началото на сорс кода © dgt_it@abv.bg !!!!!! This software IS UNDER GPL !!!!!! © за copyright , което е пълна глупост, просто исках да си дам maila- и после GPL ... ... как да е ... ентусиязма ми е бил малко в повече + има ДВЕ,три грешки с английският в коментарите, но ... :-) едит: забравих линка http://dani11.hit.bg/antilame-002g.c пп: и това нещо работи :-D хаха Не добре е, но определено има какво да се оправи и най-вече в коментарите хаха :-) Титла: Bash скрипт Публикувано от: Йордан в Aug 23, 2007, 17:19 ГОЛЯМ ОФТОПИК!
Много се нервя на "компетентни" мнения! @sdr, като си голям специялист вместо да плюеш защо не даде твой вариант на скрипта? Написал си цели 6 реда, а можеше с твойте способности да напишеш скрипта н един ред! Титла: Bash скрипт Публикувано от: sdr в Aug 23, 2007, 17:28 Не мислех да поствам след като казах каквото иках да кажа но понеже се понатрупаха въпроси към мен:
@Gaara
Колко си готов да платиш? @GigaVolt
Щото има тонове готови такива скриптове. Хубавото в цялата тая работа е, че успях да предизвикам дискусия и има надежда следващите ви скриптове да са по-иконимични Титла: Bash скрипт Публикувано от: the_real_maniac в Aug 23, 2007, 18:12 1. "колко ще платиш"
реалист ? 2. "да са по икономични" оптимист ? -- все пак прав си че се получи дискусия, хвала Но не знам дал иначина е като се заяжда човек :-P Титла: Bash скрипт Публикувано от: romeo_ninov в Aug 23, 2007, 19:01
@sdr В програмирането (най-общо) има правило че не е лошо програмата да бъде четима освен за компилатора/интерпретатора/траслатора и за автора/редактора/дебъгващия. Да, и аз съм чел няколко книги за писане на скриптове и мога да намеря сигурно десетки примери за "практически" безсмислено използване на програмата cat. Но много често за човешкия мозък е по-лесно да "види" така нещата, да ги прочете и разбере. Освен това скоростите на съвременните процесори са толкова големи че забавяне от 0.1% или даже 5% е несъществено в общия случай. И //офтопик не е лошо да е научиш да коментираш културно работата на другите. Все пак тук сме се "събрали" да дискутираме и помагаме, а не да се обиждаме (надявам се) Титла: Bash скрипт Публикувано от: sdr в Aug 23, 2007, 21:01 @romeo_ninov: Ще го имам предвид. Особено когато става въпрос за 3 ПРОЦЕСА вместо един и цялото усилие за комуникация между тях. Ако на някой не му е ясен единствения ред с awk ,който заметва реда подвърпрос, огромния пайп който пак завършва на awk няма да му стане по-ясен. Нямам протиw всеки да си пише както иска по неговите машини, въпроса е да не се разпространяват "лоши практики" сред младежта. По логиката "скоростите на съвременните процесори са толкова големи" всички трябва да седнем да пишем всичко на bash смесен с VBasic под wine!
Титла: Bash скрипт Публикувано от: Йордан в Aug 23, 2007, 21:02
Не забелязах някой да дискутира оптимизиране на код.! Май народа дискотира ТЕБ! Титла: Bash скрипт Публикувано от: the_real_maniac в Aug 23, 2007, 21:12
Не бе човек ... човекът(romeo_ninov) ти казва , че прегледност за програмист е по-добре от колкото краткият път ПОНЯКОГА !!!
горният пример е елементарен, но в такиа случеи се печели 1. че се разбира по-лесно идеята -> защо така е направено 2. че се намират по-лесно пролемите и 3. че ако някой реши да променя е в пъти по-лесно и гъвкаво за това става дума то и аз го казах по-горе
Титла: Bash скрипт Публикувано от: VladSun в Aug 23, 2007, 21:26 Това чак аз не го вярвам
PS: pp2.sh е втората част от изхода на cat . PPS: Повторих опитите няколко пъти - резултата е качествено подобен. PPPS:
Титла: Bash скрипт Публикувано от: sdr в Aug 23, 2007, 21:32 Ми нека коментираме скорости тогава
Титла: Bash скрипт Публикувано от: VladSun в Aug 23, 2007, 21:35 1:1 друго не мога да кажа ...
Освен:
Титла: Bash скрипт Публикувано от: VladSun в Aug 23, 2007, 21:38
Едит: Това е най-доброто време при мен ... Титла: Bash скрипт Публикувано от: tarator в Aug 23, 2007, 21:45 Аз също винаги пиша cat | grep в скриптове. IMNSHO така е по-прегледно.
Awk не използвам. Както казва Роб Пайк, "If you think awk is the perfect programming language for the problem, you don't understand the problem yet." Титла: Bash скрипт Публикувано от: sdr в Aug 23, 2007, 21:51 Ха ха ха! Посипвам си главата с пепел!
Наистина използването на три процеса е даже и по-бързо!
Титла: Bash скрипт Публикувано от: VladSun в Aug 23, 2007, 21:53 хех, още няколко машини ...
Титла: Bash скрипт Публикувано от: VladSun в Aug 23, 2007, 21:55 Има смисъл - никога не правим:
Според мен това е причината ... Титла: Bash скрипт Публикувано от: the_real_maniac в Aug 23, 2007, 21:57 Истината се открива в спора, _но само когато спора е качествен _и се прави от хора, _които търсят _истината
качествена тема се получи след всичко , оказва се че освен прегледно , прегледното се оказва и по-добро от към бързодействие, значи се получава с един коршум - два заека , супер (2в1) Титла: Bash скрипт Публикувано от: sdr в Aug 23, 2007, 21:59
най добре замени awk-a с cut -f11 -d" " аз така постигнах най-добро време но все пак не бих държал подобен код на моя машина Титла: Bash скрипт Публикувано от: the_real_maniac в Aug 23, 2007, 23:24 Имам предположение защо при по-малко програми работи по-бързо като цяло
Защото при една програма примерно awk има повече аргументи да parse-ва Все пак обработката на низове е една от най-бавните да не кажем най... като цяло тази обраобтка, която прави преобръщане м/у човешки разбираем код и компютърен код нищо че гледа само ASCII или utf-8 таблица или каквото и да е parse-ването на опции и изваждането и , разбирането им кое какво да ползва изисква доста време Даже най-много от тези действия, който взима решение if(!strcmp("k",str); е впъти по -.. от if(var == true/false) примерно и ок, има в Unix/linux системите функции за parse-ване , но те са просто оптимизирани в това в крайна сметка пак опираме до str функции, а те са от едни най-бавните навързани 2,3 ,4 програми с по един аргумент със сигурност ще е по бързо от 1 пр с 4 аргумент (3 основни и един пояснителен, който е дълъг низ ):) Това е идея, не казвам че съм прав,но да кажем че съм доста убеден че е така Титла: Bash скрипт Публикувано от: VladSun в Aug 23, 2007, 23:41 Според мен е защото 1) се пускат няколко процеса едновременно, като 2) обработката на информацията става поточно, а не поетапно.
Титла: Bash скрипт Публикувано от: gat3way в Aug 24, 2007, 00:01 Защото през тъпият awk минава къде по-малко data е според мен Едно е да викаш awk за целият лог файл, друго е да го викаш за някаква извадка, направена с grep. Между другото, grep работи в пъти по-бързо от awk
Титла: Bash скрипт Публикувано от: VladSun в Aug 24, 2007, 01:43 Да, ама никой не видя бъгчето в скрипта ми, нали?
Още не е оправено - чакам критика Титла: Bash скрипт Публикувано от: empty в Aug 24, 2007, 11:31 С извинение ще кажа "Бах мама му!". Абе хора вие не сте наред. Аз помолих за един скрипт а вие ще се избиете Всъщност и аз съм запознат до някъде със bash скриптирането, но не достатъчно. Поисках просто да се напише от някой който е по в час от мен пък аз си я тунинговах и си я направих за моите нужди така да се каже.
Искам да изкажа много благодарности на VladSun за скриптчето което спретна! Искам да изкажа и благодарности на the_real_maniac Едно времи когато не бях много в час с нат-а ми направи едно скриптче за вдигане на TTL-a Благодаря ви! За хора които си чешат просто езиците ... това не е мястото, нито начина. Ако можете да подобрите нещо го направете, а не си мерете пишките докато са меки . Всичко най най!!! Титла: Bash скрипт Публикувано от: romeo_ninov в Aug 24, 2007, 13:51
Въпроса, който се повдигна е доста принципен и опира до стила на програмиране. Така че (лично) се надявам спора да не е излишен. За 10 реда скрипт въпроса не стои, но си представи че става въпрос за няколко хиляди реда Титла: Bash скрипт Публикувано от: VladSun в Aug 24, 2007, 14:09
Освен очевадната грешка за ползване на `` около iptables командите (тоя Perl ...) Титла: Bash скрипт Публикувано от: sdr в Aug 24, 2007, 14:34 И аз си обеснявам бавната работа на awk с огромната инфраструктура която е необходима за поддръжка на множестжо различни екшъна с множество различни патърни с разни релации между тях към един екшън. Предполагам, че ако се направи пач който да елеминира излишния за анализ на входния поток когато данните няма да се зиползват обработката в този толкова прост случай от гледна точка на възможностите на awk би се подобрила значително.
Титла: Bash скрипт Публикувано от: the_real_maniac в Aug 24, 2007, 15:18 Значи пак говори за arguments parse и НАЙ-ВЕЧЕ разбирането не само отделянето и разпределянето като типове ,
основен аргумент - подаргумент -dir /path/to и т.н Титла: Bash скрипт Публикувано от: VladSun в Aug 25, 2007, 00:31 Ех ... никой не поиска да се включи ...
Правилният код е:
разликаата е в grep " $ip " |