linux 網路命令

2021-09-30 08:59:02 字數 2586 閱讀 3661

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 功能描述 列出目前與過去登入系統的使用者資訊,只要有人登入,就會被記錄,包括多次登入的資訊,也會被統計記錄下...