技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類(lèi) >

linux中netstatus查看SYN_RECV

來(lái)源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-09-24 18:00┆點(diǎn)擊:

  可以通過(guò)下面這個(gè)命令來(lái)統(tǒng)計(jì)當(dāng)前連接數(shù)

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

  這條語(yǔ)句返回結(jié)果如下

  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表示正在等待處理的請(qǐng)求數(shù);ESTABLISHED表示正常數(shù)據(jù)傳輸狀態(tài);TIME_WAIT表示處理完畢,等待超時(shí)結(jié)束的請(qǐng)求數(shù)。

  狀態(tài):描述

  CLOSED:無(wú)連接是活動(dòng)的或正在進(jìn)行

  LISTEN:服務(wù)器在等待進(jìn)入呼叫

  SYN_RECV:一個(gè)連接請(qǐng)求已經(jīng)到達(dá),等待確認(rèn)

  SYN_SENT:應(yīng)用已經(jīng)開(kāi)始,打開(kāi)一個(gè)連接

  ESTABLISHED:正常數(shù)據(jù)傳輸狀態(tài)

  FIN_WAIT1:應(yīng)用說(shuō)它已經(jīng)完成

  FIN_WAIT2:另一邊已同意釋放

  ITMED_WAIT:等待所有分組死掉

  CLOSING:兩邊同時(shí)嘗試關(guān)閉

  TIME_WAIT:另一邊已初始化一個(gè)釋放

  LAST_ACK:等待所有分組死掉

  另外很多人會(huì)用到TCP SYN Flood透過(guò)網(wǎng)路底層對(duì)服務(wù)器Server進(jìn)行攻擊的,我可以用Iptables防范下:

  防止同步包洪水(Sync Flood)

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

  也有人寫(xiě)作

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

  --limit 1/s 限制syn并發(fā)數(shù)每秒1次,可以根據(jù)自己的需要修改

  防止各種端口掃描

  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

  同時(shí),在初始化系統(tǒng)過(guò)程中,可以對(duì)服務(wù)器的數(shù)據(jù)連接做設(shè)置,下面簡(jiǎn)單的設(shè)置下,如果有關(guān)于這方面的設(shè)置,歡迎大家分享下,先謝過(guò)了...

  vim /etc/sysctl.conf

  net.ipv4.tcp_tw_reuse = 1

  該文件表示是否允許重新應(yīng)用處于TIME-WAIT狀態(tài)的socket用于新的TCP連接。

  net.ipv4.tcp_tw_recycle = 1

  recyse是加速TIME-WAIT sockets回收

  對(duì)tcp_tw_reuse和tcp_tw_recycle的修改,可能會(huì)出現(xiàn).warning, got duplicate tcp line warning, got BOGUS tcp line.上面這二個(gè)參數(shù)指的是存在這兩個(gè)完全一樣的TCP連接,這會(huì)發(fā)生在一個(gè)連接被迅速的斷開(kāi)并且重新連接的情況,而且使用的端口和地址相同。但基本 上這樣的事情不會(huì)發(fā)生,無(wú)論如何,使能上述設(shè)置會(huì)增加重現(xiàn)機(jī)會(huì)。這個(gè)提示不會(huì)有人和危害,而且也不會(huì)降低系統(tǒng)性能,目前正在進(jìn)行工作

  net.ipv4.tcp_syncookies = 1

  表示開(kāi)啟SYN Cookies。當(dāng)出現(xiàn)SYN等待隊(duì)列溢出時(shí),啟用cookies來(lái)處理,可防范少量SYN攻擊,默認(rèn)為0,表示關(guān)閉;

  net.ipv4.tcp_synack_retries = 1

  net.ipv4.tcp_keepalive_time = 1200

  表示當(dāng)keepalive起用的時(shí)候,TCP發(fā)送keepalive消息的頻度。缺省是2小時(shí)

  net.ipv4.tcp_fin_timeout = 30

  fin_wait1狀態(tài)是在發(fā)起端主動(dòng)要求關(guān)閉tcp連接,并且主動(dòng)發(fā)送fin以后,等待接收端回復(fù)ack時(shí)候的狀態(tài)。對(duì)于本端斷開(kāi)的socket連接,TCP保持在FIN-WAIT-2狀態(tài)的時(shí)間。對(duì)方可能會(huì)斷開(kāi)連接或一直不結(jié)束連接或不可預(yù)料的進(jìn)程死亡。

  net.ipv4.ip_local_port_range = 1024 65000

  net.ipv4.tcp_max_syn_backlog = 8192

  該文件指定了,在接口接收數(shù)據(jù)包的速率比內(nèi)核處理這些包的速率快時(shí),允許送到隊(duì)列的數(shù)據(jù)包的最大數(shù)目。

  net.ipv4.tcp_max_tw_buckets = 5000

  使設(shè)置生效