开发者

Extract IP from netstat output

开发者 https://www.devze.com 2023-01-16 07:21 出处:网络
The netstat output contains thing like... tcp00 0.0.0.0:80221.126.149.99:51973ESTABLISHED 23879/apache2

The netstat output contains thing like...

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
tc开发者_如何学编程p        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

I use this commands

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

I was not able to get the IP, any hints?


This will return a list of unique IP address you're connected too:

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

Well I think I need to change my glasses also =P


You may try

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

For some reason I am counting 6 fields, while everybody else is counting 4 ... Should I buy new glasses? :)

HTH!


You're really close. You just need to change your field separator regular expression so that it's not considering a single whitespace or colon as the field separator:

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


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


 netstat -ant | grep 80 | wc -l
0

精彩评论

暂无评论...
验证码 换一张
取 消