Portál AbcLinuxu, 5. listopadu 2025 22:42
#!/bin/bash
set $(netstat | grep -m 14 tcp | awk '{print $4, $5}' | cut -f 2 -d: | cut -f 2 -d' ')
while :
do
echo "$(tcpdump -i ra0 |grep $1)"
shift || break
done
exit 0
takze pomoci set predam vysledky dotazu v zavorkach. TO mi vrati aktualni seznam navazanych spojeni na protokolu TCP... problem je v tom, ze nazvy jsou zkracene, takze v pripade delsiho domenoveho nazvu vlastne neni videt, s kym je spojeni navazano. Proto chci ony neuplne nazvy pouzit v dotazu "tcpdump -i ra0" kde pomoci grep a predane promenne ze set, ziskam uplne domenove nazvy z prave aktivnich spojeni. Kdyz jsem zkousel toto ( viz nize ), promenne predane ze set se zobrazily, ale uvnitr cyklu uz nejsem schopen ony predane promenne pouzit v dalsim dotazu. Rekl bych, ze podobne pripady jsou caste a s nakopnutim/vysvetlenim uz urcite pochopim, jak podobne pripady resit.
#!/bin/bash
set $(netstat | grep -m 14 tcp | awk '{print $4, $5}' | cut -f 2 -d: | cut -f 2 -d' ')
while :
do
echo $1
shift || break
done
exit 0
Tohle mi pri volani echo $1 zobrazi vypisy z retezce netstat...takze snad jsem na spravne ceste, ale promennou uz v dalsim dotazu ( v prikazu tcpdump.. )opravdu pozit nemohu. Dekuji moc za pomoc a nakopnuti - polopate prosim.
P.
for
for foo in $(kolona); do nejaky kod vyuzivajici $foo doneMísto
netstat | grep -m 14 tcp můžeš použít netstat -t.
A nakonec zkus napsat netstat -tW, příště doporučuji man netstat.
echo "$(tcpdump -i ra0 |grep $1 | head -1)"aby mi to vratilo jen jednu hodnotu. Idealni zpusob a plne dostacujici je pro me netstat -n... ip adresy uz myslim netreba dale prekladat na domenove nazvy za pomoci nslookup - usetrim tim systemove prostredky. Slo mi o to, ze neuplny domenovy nazev jak jsem to resil ja predtim, mi samozrejme byl na nic. Hlavne, ze uz taky vim, jak na vyuziti tech promennych dale ve skriptech ( pomoci for ). Vsem moc dekuji a preji pekny den!
P.
set $(prikaz)
while shift
do
prikaz $1
done
je korketni - jen bych ten shift přesunul hned za while. Když už není kam posouvat vrátí false a smyčka skončí, tak proč to dělat přes break. Funguje to podobně dost podobně jako ten for.netstat -tW
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.