Vous n'êtes pas identifié(e).
Pages : 1
Le script consiste a simplement assembler un retour de la commande netstat -tun de manière la plus condensée afin de s'afficher correctement dans un conky.
Hors conky, l'usage est la suivante:
warlocg@linux:~$ python pyConky-netstat.py
*** (1) | 194.78.0.18:443 (1) | *** (1)
74.125.136.95:443 (1) | 194.78.0.95:443 (1) | 198.23.69.198:8001 (1)
194.78.0.18:80 (1) | 194.78.99.45:443 (1) | 46.51.197.89:443 (1)
194.78.99.18:443 (1)
warlocg@linux:~$ python pyConky-netstat.py 2
*** (1) | 194.78.0.18:443 (1)
*** (1) | 74.125.136.95:443 (1)
194.78.0.95:443 (1) | 198.23.69.198:8001 (1)
194.78.0.18:80 (1) | 194.78.99.45:443 (1)
46.51.197.89:443 (1) | 194.78.99.18:443 (1)
PS: Ne vous amusez pas rechercher des IP sensibles dedans j'ai édité la sortie
from subprocess import check_output
import sys, re
if (len(sys.argv) > 1) and re.match('^[\d]{1,2}',sys.argv[1]):
size=int(sys.argv[1])
else:
size=3
cmd='netstat -tun | grep ESTABLISHED | awk \'{print $5}\' | uniq -c | awk \'{print $2$3$4" ("$1")"}\''
lines=check_output(cmd,shell=True).split('\n')
msg = ''
for s in range(len(lines)-1):
if s % size == 0:
msg += '%-25s' % (lines[s])
else:
msg += ' | %-25s' % (lines[s])
if s % size == (size - 1):
msg += '\n'
print(msg)
Résultat en image dans mon conky:
Avec un remerciement spécial à CheckFX pour son pix, celui de toile-libre et celui de cyber-nux ayant eu des problèmes lors de l'upload.
Hors ligne
J'ai une question concernant netstat ?
J'utilise ss -t en général plus clair pour moi, que veux dire le (1) à la fin de la ligne ?
j'ai une différence si je fais
netstat -tun | grep ESTABLISHED | awk '{print $5}' | uniq -c | awk '{print $2$3$4" ("$1")"}'
Et si je fais
ss -t | grep ESTAB | awk '{print $5}'
D’où provient le (1) ? est-ce uniq qui le génère ? à quoi sert son affichage ?
Si je fais
netstat -tun | grep ESTABLISHED | awk '{print $5}' | uniq -c | awk '{print $2$3$4}'
J'ai la même réponse que ss -t
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
J'utilise ss -t en général plus clair pour moi, que veux dire le (1) à la fin de la ligne ?
Je ne suis pas trop familier avec ss, merci pour cette trouvaille. Le 1 est généré par uniq -c, le 1 affiche les doublons, si ca n'affiche que 1 c'est qu'il n'y a pas de doublons.
Petit exemple:
warlocg@linux:~$ for i in a a a a;do echo $i; done
a
a
a
a
warlocg@linux:~$ for i in a a a a;do echo $i; done | uniq
a
warlocg@linux:~$ for i in a a a a;do echo $i; done | uniq -c
4 a
warlocg@linux:~$ for i in a a a a;do echo $i; done | uniq -c | awk '{print $2" -> "$1}'
a -> 4
Hors ligne
Oki, je peux le virer alors merci pour l'info
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
Pages : 1