Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pišemo zajedno: ES oneliner #0001

[es] :: Skript jezici :: Pišemo zajedno: ES oneliner #0001

Strane: 1 2 3

[ Pregleda: 8734 | Odgovora: 43 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Pišemo zajedno: ES oneliner #000122.09.2004. u 23:51 - pre 238 meseci
Program koji ćemo ovaj put pisati treba da iz liste koju daje netstat -na prikaže sledeće podatke:

broj tcp ipv4 konekcija, grupisano po stanjima (ESTABLISHED, LISTEN, TIME_WAIT, SYN_SENT, FIN_WAIT_[12], LAST_ACK i ostala koja sam možda zaboravio)

Cilj: napisati što više varijacija, bilo po efikasnosti koda i brzini izvršavanja, kriptičnosti, što manjoj dužini, ili već koji cilj sebi zacrtate.

Osnovni uslov je da se program izvršava na većini linux mašina u nekom od well known shell alata ili skripting jezika (bash, awk, sed, grep, perl, ... dozvoljene sve kombinacije) i da staje u jedan red (zato se i zove oneliner). "Red" za sada nije strogo definisan, ali mislim da je oko 100 bajtova za sada ok, možemo posle i da skraćujemo.

Kasnije ćemo zadatak proširiti nekim grupisanjem po portovima, videćemo već iz smera koji rešenja budu zauzela i naravno vaših komentara.
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
212.200.53.*

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 01:24 - pre 238 meseci
'Ajde da otvorim ovo:
netstat -na | grep ^tcp | awk -F\ '{ print $6 }' | uniq -c
Izvinjavam se sto nije "kripticno".
JaFreelancer.com
 
Odgovor na temu

chupcko
Negde
Beograd

Član broj: 5560
Poruke: 1141

Sajt: www.google.com


+63 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 08:27 - pre 238 meseci
Ajde da ubacimo malo kriptinosti :)

Code:
netstat -nat|sed -e 1,2d|tr -dc A-Z\\n|uniq -c


Sada bar mora da se manuje komanda tr (sto bi neki rekli, moja omiljena :))

P.S. videh da fali jedno _

Code:
netstat -nat|sed -e 1,2d|tr -dc A-Z_\\n|uniq -c


je malo bolje :).

[Ovu poruku je menjao chupcko dana 23.09.2004. u 13:16 GMT]
CHUPCKO
 
Odgovor na temu

chupcko
Negde
Beograd

Član broj: 5560
Poruke: 1141

Sajt: www.google.com


+63 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 09:20 - pre 238 meseci
A moze i jos sladje :)

Code:
netstat -nat|sed -e '1,2d;s/^.\{68\}//'|uniq -c



CHUPCKO
 
Odgovor na temu

chupcko
Negde
Beograd

Član broj: 5560
Poruke: 1141

Sajt: www.google.com


+63 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 09:37 - pre 238 meseci
I naravno jeste kripticno, jeste ludo, ali nije bas kratko resenje:

Code:
cat /proc/net/tcp|sed -e '1d;s/^.\{34\}\(..\).*/\1/;s/01/ESTABLISHED/;s/02/SYN_SENT/;s/03/SYN_RECV/;s/04/FIN_WAIT1/;s/05/FIN_WAIT2/;s/06/TIME_WAIT/;s/07/CLOSE/;s/08/CLOSE_WAIT/;s/09/LAST_ACK/;s/0A/LISTEN/;s/0B/CLOSING/'|uniq -c

CHUPCKO
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651
Via: [es] mailing liste



+165 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 10:35 - pre 238 meseci
Evo jednom perl, mada verovatno može i bolje, samo još malo da razmislim.. ;)

netstat -nat|perl -e '/[A-Z]{2,}/&&print"$&n"while<>'|uniq -c
 
Odgovor na temu

chupcko
Negde
Beograd

Član broj: 5560
Poruke: 1141

Sajt: www.google.com


+63 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 11:14 - pre 238 meseci
Fali jedan backslash pre n :)

A i da bi lepo radilo mora i _ da se ukljuci :)

Code:
netstat -nat|perl -e '/[A-Z_]{2,}/&&print"$&\n"while<>'|uniq -c


Eto dokaza da pratim temu :))))) hihihiih
CHUPCKO
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651
Via: [es] mailing liste



+165 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 11:52 - pre 238 meseci
Ma da pogrešan copy paste ;) hvala na ispravci.. nego sad će jedan bolji da usledi, bez uniq-a.
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 12:02 - pre 238 meseci
Zapravo nije, sad vidim da mi mailing lista pojede taj jedan backslash. To ćemo morati da sredimo, u međuvremenu evo grubog rešenja, još može da se doteruje:

netstat -nat|perl -e '/[A-Z_]{2,}/&&$*{$&}++while<>;for$&(keys%{*}){print$*{$&}," $&\n"}'
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 12:45 - pre 238 meseci
Varijacija ali još uvek bez konkretnog napretka:

netstat -nat|perl -e '/[A-Z_]{2,}/&&$*{$&}++while<>;print"$^ $*\n"while($*,$^)=each%{*}'
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 13:04 - pre 238 meseci
Čupko.. aj uradi brojanje u SEDu, bez uniq? :)
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 13:31 - pre 238 meseci
Ovo prethodno ipak nije hvatalo odvojeno FIN_WAIT_1 i FIN_WAIT_2 ali zato ovo radi:

netstat -nat|perl -e '/[A-Z_]{2,}[12]?/&&$*{$&}++while<>;@^=keys%{*};print"$*{$*=pop@^} $*\n"while$#{^}>=0'
 
Odgovor na temu

chupcko
Negde
Beograd

Član broj: 5560
Poruke: 1141

Sajt: www.google.com


+63 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 13:42 - pre 238 meseci
Paaaaaaaaaa sed tesko da moze da broji :), moralo bi da se iskoraci u awk ili perl :).
CHUPCKO
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
212.200.53.*

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 14:30 - pre 238 meseci
Nakon sto sam naucio nesto o netstat-u:
netstat -nat | awk -F\ '{ print $6 }' | uniq -c
Inace, imao sam ideju sa hash listom u perlu, ali, ne znam kako to da izvedem u jednom redu.
Mozda ti, Gojko, uskocis sa nekim resenjem.
JaFreelancer.com
 
Odgovor na temu

chupcko
Negde
Beograd

Član broj: 5560
Poruke: 1141

Sajt: www.google.com


+63 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 14:54 - pre 238 meseci
Nemoj misliti da cepidlacim :), ali evo ovo ovako radi

Code:
[chp] 1 /home/chupcko => netstat -nat | awk -F\  '{ print $6 }' | uniq -c
      1 established)
      1 Foreign
      2 LISTEN
      1 ESTABLISHED

CHUPCKO
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
212.200.53.*

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 15:05 - pre 238 meseci
Znam. I ja sam provalio tek posle onih prvih dva reda.
JaFreelancer.com
 
Odgovor na temu

popeye
Branko Ivanović
Beograd

Član broj: 3846
Poruke: 960
*.pristop.co.yu

Jabber: popeye@elitesecurity.org
ICQ: 18038966
Sajt: popeye.linuxo.org


Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 17:24 - pre 238 meseci
CLI verzija PHP-a:

netstat -nat | php -r 'print_r(array_count_values(preg_grep("/^[A-Z]+$/", preg_split("/[\s]+/", fread(STDIN, 5000)))));'
 
Odgovor na temu

popeye
Branko Ivanović
Beograd

Član broj: 3846
Poruke: 960
*.pristop.co.yu

Jabber: popeye@elitesecurity.org
ICQ: 18038966
Sajt: popeye.linuxo.org


Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 17:45 - pre 238 meseci
Mala ispravka:

netstat -nat | php -r 'print_r(array_count_values(preg_grep("/^[A-Z_]+[12]*$/", preg_split("/[\s]+/", fread(STDIN, 5000)))));'
 
Odgovor na temu

bzero
dev null
europe

Član broj: 5907
Poruke: 371
195.252.85.*

Jabber: bzero@elitesecurity.org
Sajt: www.google.com/search?q=b..


Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 18:25 - pre 238 meseci
Jedan mali Perl:

Code:

netstat -nat|perl -e '/([A-Z_]{2,}[12]*)\n/&&$u{$1}++while<>;map{print"$_-$u{$_}\n"}keys(%u);'

Never trust an operating system you don't have sources for.
 
Odgovor na temu

popeye
Branko Ivanović
Beograd

Član broj: 3846
Poruke: 960
*.pristop.co.yu

Jabber: popeye@elitesecurity.org
ICQ: 18038966
Sajt: popeye.linuxo.org


Profil

icon Re: Pišemo zajedno: ES oneliner #000123.09.2004. u 18:41 - pre 238 meseci
Bzero, to izgleda ne radi.
 
Odgovor na temu

[es] :: Skript jezici :: Pišemo zajedno: ES oneliner #0001

Strane: 1 2 3

[ Pregleda: 8734 | Odgovora: 43 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.