linux中netstatus查看SYN

來源:互聯網
上載者:User

   可以通過下面這個命令來統計當前串連數

  netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

  這條語句返回結果如下

  1.TIME_WAIT 346

  2.FIN_WAIT1 85

  3.FIN_WAIT2 6

  4.ESTABLISHED 1620

  5.SYN_RECV 169

  6.LAST_ACK 8

  SYN_RECV表示正在等待處理的請求數;ESTABLISHED表示正常資料轉送狀態;TIME_WAIT表示處理完畢,等待逾時結束的請求數。

  狀態:描述

  CLOSED:無串連是活動的或進行中

  LISTEN:伺服器在等待進入呼叫

  SYN_RECV:一個串連請求已經到達,等待確認

  SYN_SENT:應用已經開始,開啟一個串連

  ESTABLISHED:正常資料轉送狀態

  FIN_WAIT1:應用說它已經完成

  FIN_WAIT2:另一邊已同意釋放

  ITMED_WAIT:等待所有分組死掉

  CLOSING:兩邊同時嘗試關閉

  TIME_WAIT:另一邊已初始化一個釋放

  LAST_ACK:等待所有分組死掉

  另外很多人會用到TCP SYN Flood透過網路底層對伺服器Server進行攻擊的,我可以用Iptables防範下:

  防止同步包洪水(Sync Flood)

  1.iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

  也有人寫作

  1.iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT

  --limit 1/s 限制syn並發數每秒1次,可以根據自己的需要修改

  防止各種連接埠掃描

  1.iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

  Ping洪水攻擊(Ping of Death)

  1.iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

  同時,在初始化系統過程中,可以對伺服器的資料連線做設定,下面簡單的設定下,如果有關於這方面的設定,歡迎大家分享下,先謝過了...

  vim /etc/sysctl.conf

  net.ipv4.tcp_tw_reuse = 1

  該檔案表示是否允許重新應用處於TIME-WAIT狀態的socket用於新的TCP串連。

  net.ipv4.tcp_tw_recycle = 1

  recyse是加速TIME-WAIT sockets回收

  對tcp_tw_reuse和tcp_tw_recycle的修改,可能會出現.warning, got duplicate tcp line warning, got BOGUS tcp line.上面這二個參數指的是存在這兩個完全一樣的TCP串連,這會發生在一個串連被迅速的斷開並且重新串連的情況,而且使用的連接埠和地址相同。但基本 上這樣的事情不會發生,無論如何,使能上述設定會增加重現機會。這個提示不會有人和危害,而且也不會降低系統效能,目前進行中工作

  net.ipv4.tcp_syncookies = 1

  表示開啟SYN Cookies。當出現SYN等待隊列溢出時,啟用cookies來處理,可防範少量SYN攻擊,預設為0,表示關閉;

  net.ipv4.tcp_synack_retries = 1

  net.ipv4.tcp_keepalive_time = 1200

  表示當keepalive起用的時候,TCP發送keepalive訊息的頻度。預設是2小時

  net.ipv4.tcp_fin_timeout = 30

  fin_wait1狀態是在發起端主動要求關閉tcp串連,並且主動發送fin以後,等待接收端回複ack時候的狀態。對於本端斷開的socket串連,TCP保持在FIN-WAIT-2狀態的時間。對方可能會中斷連線或一直不結束串連或不可預料的進程死亡。

  net.ipv4.ip_local_port_range = 1024 65000

  net.ipv4.tcp_max_syn_backlog = 8192

  該檔案指定了,在介面接收資料包的速率比核心處理這些包的速率快時,允許送到隊列的資料包的最大數目。

  net.ipv4.tcp_max_tw_buckets = 5000

  使設定生效

  sysctl -p

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。