2009/10/21 17:36:47
1)列出的是所有連線
netstat -tun
2)列出的是apache所有連線
netstat -tun | grep ":80"
3)統計80埠連線數
netstat -nat|grep-i"80"|wc -l
4)統計httpd協議連線數
5)統計已連線上的,狀態為「established'
netstat -na|grep established|wc -l
6)查出哪個ip位址連線最多,將其封了
netstat -na|grep established|awk''|awk-f:''|sort|uniq-c|sort-r+0n
netstat -na|grep syn|awk''|awk-f:''|sort|uniq-c|sort-r+0n
7)檢視httpd程序數(即prefork模式下apache能夠處理的併發請求數):
8)檢視apache的併發請求數及其tcp連線狀態:
netstat -n | awk '/^tcp/ end '
或者 netstat -n | awk '/^tcp/ end '
返回結果示例:
last_ack 5
syn_recv 30
established 1597
fin_wait1 51
fin_wait2 504
time_wait 1057
說明:
syn_recv: 表示正在等待處理的請求數;
established: 表示正常資料傳輸狀態;
time_wait: 表示處理完畢,等待超時結束的請求數
closed:無連線是活動的或正在進行
listen:伺服器在等待進入呼叫
syn_recv:乙個連線請求已經到達,等待確認
syn_sent:應用已經開始,開啟乙個連線
established:正常資料傳輸狀態
fin_wait1:應用說它已經完成
fin_wait2:另一邊已同意釋放
itmed_wait:等待所有分組死掉
closing:兩邊同時嘗試關閉
time_wait:另一邊已初始化乙個釋放
last_ack:等待所有分組死掉
如發現系統存在大量time_wait狀態的連線,通過調整核心引數解決,
vim /etc/sysctl.conf
編輯檔案,加入以下內容:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
然後執行 /sbin/sysctl -p 讓引數生效。
net.ipv4.tcp_syncookies = 1 表示開啟syn cookies。當出現syn等待佇列溢位時,啟用cookies來處理,可防範少量syn攻擊,預設為0,表示關閉;
net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將time-wait sockets重新用於新的tcp連線,預設為0,表示關閉;
net.ipv4.tcp_tw_recycle = 1 表示開啟tcp連線中time-wait sockets的快速**,預設為0,表示關閉。
net.ipv4.tcp_fin_timeout 修改系統預設的 timeout 時間
下面附上time_wait狀態的意義:
客戶端與伺服器端建立tcp/ip連線後關閉socket後,伺服器端連線的埠
狀態為time_wait
是不是所有執行主動關閉的socket都會進入time_wait狀態呢?
有沒有什麼情況使主動關閉的socket直接進入closed狀態呢?
主動關閉的一方在傳送最後乙個 ack 後
就會進入 time_wait 狀態 停留2msl(max segment lifetime)時間
這個是tcp/ip必不可少的,也就是「解決」不了的。
也就是tcp/ip設計者本來是這麼設計的
主要有兩個原因
1。防止上一次連線中的包,迷路後重新出現,影響新連線
(經過2msl,上一次連線中所有的重複包都會消失)
2。可靠的關閉tcp連線
在主動關閉方傳送的最後乙個 ack(fin) ,有可能丟失,這時被動方會重新發
fin, 如果這時主動方處於 closed 狀態 ,就會響應 rst 而不是 ack。所以
主動方要處於 time_wait 狀態,而不能是 closed 。
time_wait 並不會占用很大資源的,除非受到攻擊。
還有,如果一方 send 或 recv 超時,就會直接進入 closed 狀態
linux 網路命令
netstat tun 列出的是所有連線 netstat tun grep 80 列出的是 所有連線 檢視httpd程序數 即prefork模式下apache能夠處理的併發請求數 linux命令 檢視apache的併發請求數及其tcp連線狀態 linux命令 netstat n awk tcp en...
Linux網路命令
網路環境檢視命令 1.ifconfig 檢視網絡卡資訊 2.ifdown 網絡卡裝置名 禁用該網絡卡裝置 3.ifup 網絡卡裝置名 啟用該網絡卡裝置 4.查詢網路狀態 netstat 選項 選項 t 列出tcp協議埠 u 列出udp協議埠 n 不使用網域名稱與服務名,而使用ip位址和埠號 l 僅列...
Linux網路命令
linux網路命令 last和lastlog命令 1 網路命令 last 1.1 命令說明 指令名稱 last 指令所在路徑 usr bin last 執行許可權 所有使用者 語法 last 功能描述 列出目前與過去登入系統的使用者資訊,只要有人登入,就會被記錄,包括多次登入的資訊,也會被統計記錄下...