藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年6月26日 11:18


請教關於程序輸出分別提取的問題

小弟想從netstat的輸出中分別提取跟兩個外部ip地址的端口連接數情況, 因為socket連接較多,運行一次netstat要耗費很大資源和很長時間,所以想運行一次就把和這兩個ip的連接情況分別匯總提取出來,並放到數組內:

假設這兩個地址分別為:192.168.1.1和192.168.1.2,要查看的端口為1234,大家有什麼好辦法嗎?謝謝!!!

用sed/awk提取,這些工具具體用法請參閱置頂shell十二篇

Unix系統裡包含unix域和Internet域的socket,所有在使用netstat使用一定的參數,應該不會非常占資源。
不妨使用如下類似的方法:
===
[vic@localhost ~]$ netstat --ip -n
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 192.168.1.14:48950          211.99.206.101:80           ESTABLISHED
tcp        0    410 192.168.1.14:33252          66.187.239.15:80            FIN_WAIT1
tcp        0      0 192.168.1.14:46351          218.30.70.102:80            ESTABLISHED
tcp        0   2529 192.168.1.14:46356          218.30.70.102:80            ESTABLISHED
tcp        0   1266 192.168.1.14:46354          218.30.70.102:80            ESTABLISHED
tcp     1340   1266 192.168.1.14:46355          218.30.70.102:80            ESTABLISHED
tcp        0    421 192.168.1.14:46352          218.30.70.102:80            ESTABLISHED
tcp        0      0 192.168.1.14:46353          218.30.70.102:80            ESTABLISHED
[vic@localhost ~]$ netstat --ip -n |grep 218.30.70.102:80
tcp        0      0 192.168.1.14:46351          218.30.70.102:80            ESTABLISHED
tcp        0    471 192.168.1.14:46356          218.30.70.102:80            ESTABLISHED
tcp        0      0 192.168.1.14:46354          218.30.70.102:80            ESTABLISHED
tcp        0      0 192.168.1.14:46355          218.30.70.102:80            ESTABLISHED
tcp        0      0 192.168.1.14:46352          218.30.70.102:80            ESTABLISHED
tcp        0      0 192.168.1.14:46353          218.30.70.102:80            ESTABLISHED
[vic@localhost ~]$



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com