Я пытаюсь написать сценарий bash, который выводит TCP-соединения, установленные на порту 8000 (icecast), а также фильтрует внутренний IP-адрес из этого списка.
Вот 2 примера, которые работают, но мне нужнопомогите оптимизировать командную строку.
1.
netstat -ant | grep 8000 | grep ESTABLISHED | grep -v
'192.168.1.102
2.
ss -H -nt sport eq 8000 | awk '{print $5}'| awk -F':' '{print $1}' |
grep -v '192.168.1.102'
Может кто-нибудь помочь мне объединить фильтры grep
или awk
, пожалуйста?Из того, что я прочитал, команда SS лучше по производительности, чем команда netstat
.Но если кто-то знает лучшее приложение, чтобы получить вышеуказанную информацию и отфильтровать ее, я буду использовать ее вместо этого.
Пример вывода из SS:
ESTAB 0 1400 192.168.3.2:8000 x.x.x.x:62090
ESTAB 0 0 192.168.3.2:8000192.168.1.102:1033
Образец из netstat:
tcp 0 1400 192.168.3.2:8000 x.x.x.x:62090 ESTABLISHED
tcp 0 0 192.168.3.2:8000 192.168.1.102:1033 ESTABLISHED
tcp 0 0 192.168.3.2:22 y.y.y.y:32897 ESTABLISHED