2010-09-12 2 views
8

NetStat вывода содержит вещь, как ...Извлечение IP из NETSTAT выхода

tcp  0  0 0.0.0.0:80  221.126.149.99:51973 ESTABLISHED 23879/apache2 
tcp  0  0 0.0.0.0:80  66.249.68.154:40883  ESTABLISHED 23899/apache2 
tcp  0  0 0.0.0.0:80  66.249.68.81:41200  ESTABLISHED 23892/apache2 
tcp  0  0 0.0.0.0:80  66.249.67.121:59355  ESTABLISHED 23905/apache2 
tcp  0 4465 0.0.0.0:80  110.75.175.27:48139  ESTABLISHED 23901/apache2 

Я использую эти команды

netstat -anpt|grep apache2 |grep ESTABLISHED | awk -F "[ :]" '{print $4}' 

Я не был в состоянии получить IP-адрес, любые намеки?

ответ

9

Это возвращает список уникальных IP-адрес вы подключены также:

netstat -anpt | grep apache2 |grep ESTABLISHED | awk '{ print $5 }' | cut -d: -f1 | sort -u 

Ну, я думаю, что нужно изменить свои очки также = P

2

Вы действительно близко. Вам просто нужно изменить регулярное выражение разделителя полей так, что он не рассматривает ни одного пробелов или двоеточие в качестве разделителя полей:

netstat -anpt|grep apache2 |grep ESTABLISHED | awk -F "[ :]*" '{print $4}' 
2

Вы можете попробовать

netstat -anpt|awk 'BEGIN {FS="[ :]+"};/ESTABLISHED/ && /apache/{print $6}' 

По какой-то причине я Рассчитываю 6 полей, в то время как все остальные считаются 4 ... Должен ли я покупать новые очки? :)

HTH!

+0

Ты не единственный. Я бы рекомендовал перемещать шаблоны grep внутри awk. –

+0

@glenn jackman Согласен. Ред. Иногда, в хорошо сформированных вопросах, когда OP отправляет свое решение, я считаю, что лучше изменить минимально возможное, потому что это облегчает понимание ошибки. Возможно, я ошибаюсь –

2
netstat -anpt | awk '/apache2/&&/ESTABLISHED/{sub(/:*/,"",$4);print $4} ' 
+0

Действие awk должно быть: '{sub (/:.*/,"",$ 5); print $ 5}' –

+1

почему это $ 5? Я не использую FS, но по умолчанию – ghostdog74

+0

Это было 4 доллара, но доходило до 5 долларов. Надутый код. – Lizz

-1
netstat -ant | grep 80 | wc -l 
+0

Это будет считать количество 80, перечисленных в выводе команды «netstat -ant», что является неточным. –

Смежные вопросы