1樓:棲木
1、首先,last_acktcp狀態是tcp建立連結過程中的等待原來的發向遠端tcp的連線中斷請求的確認狀態;
2、除last_acktcp狀態外還有tcp連結還有以下狀態:
1)listening:偵聽來自遠方的tcp埠的連線請求. 首先服務端需要開啟一個socket進行監聽,狀態為listen。
有提供某種服務才會處於listening狀態,tcp狀態變化就是某個埠的狀態變化,提供一個服務就開啟一個埠,例如:提供www服務預設開的是80埠,提供ftp服務預設的埠為21,當提供的服務沒有被連線時就處於listening狀態。ftp服務啟動後首先處於偵聽(listening)狀態。
處於偵聽listening狀態時,該埠是開放的,等待連線,但還沒有被連線。就像你房子的門已經敞開的,但還沒有人進來。看listening狀態最主要的是看本機開了哪些埠,這些埠都是哪個程式開的,關閉不必要的埠是保證安全的一個非常重要的方面,服務埠都對應一個服務(應用程式),停止該服務就關閉了該埠,例如要關閉21埠只要停止iis服務中的ftp服務即可。
關於這方面的知識請參閱其它文章。
如果你不幸中了服務埠的木馬,木馬也開個埠處於listening狀態。
2)syn-sent:客戶端syn_sent狀態: 再傳送連線請求後等待匹配的連線請求:
客戶端通過應用程式呼叫connect進行active open.於是客戶端tcp傳送一個syn以請求建立一個連線.之後狀態置為syn_sent.
當請求連線時客戶端首先要傳送同步訊號給要訪問的機器,此時狀態為syn_sent,如果連線成功了就變為established,正常情況下syn_sent狀態非常短暫。例如要訪問**http://www.
baidu.com,如果是正常連線的話,用tcpview觀察iexplore.exe(ie)建立的連線會發現很快從syn_sent變為stablished,表示連線成功。
syn_sent狀態快的也許看不到。
如果發現有很多syn_sent出現,那一般有這麼幾種情況,一是你要訪問的**不存在或線路不好,二是用掃描軟體掃描一個網段的機器,也會出出現很多syn_sent,另外就是可能中了病毒了,例如中了"衝擊波",病毒發作時會掃描其它機器,這樣會有很多syn_sent出現。
3)syn-received:伺服器端狀態syn_rcvd 再收到和傳送一個連線請求後等待對方對連線請求的確認 當伺服器收到客戶端傳送的同步訊號時,將標誌位ack和syn置1傳送給客戶端,此時伺服器端處於syn_rcvd狀態,如果連線成功了就變為established,正常情況下syn_rcvd狀態非常短暫。
如果發現有很多syn_rcvd狀態,那你的機器有可能被syn flood的dos(拒絕服務攻擊)攻擊了。 syn flood的攻擊原理是: 在進行三次握手時,攻擊軟體向被攻擊的伺服器傳送syn連線請求(握手的第一步),但是這個地址是偽造的,如攻擊軟體隨機偽造了51.
133.163.104、65.
158.99.152等等地址。
伺服器在收到連線請求時將標誌位ack和syn置1傳送給客戶端(握手的第二步),但是這些客戶端的ip地址都是偽造的,伺服器根本找不到客戶機,也就是說握手的第三步不可能完成。 這種情況下伺服器端一般會重試(再次傳送syn+ack給客戶端)並等待一段時間後丟棄這個未完成的連線,這段時間的長度我們稱為syn timeout,一般來說這個時間是分鐘的數量級(大約為30秒-2分鐘);一個使用者出現異常導致伺服器的一個執行緒等待1分鐘並不是什麼很大的問題,但如果有一個惡意的攻擊者大量模擬這種情況,伺服器端將為了維護一個非常大的半連線列表而消耗非常多的資源----數以萬計的半連線,即使是簡單的儲存並遍歷也會消耗非常多的cpu時間和記憶體,何況還要不斷對這個列表中的ip進行syn+ack的重試。此時從正常客戶的角度看來,伺服器失去響應,這種情況我們稱做:
伺服器端受到了syn flood攻擊(syn洪水攻擊)
4)established:代表一個開啟的連線。 established狀態是表示兩臺機器正在傳輸資料,觀察這個狀態最主要的就是看哪個程式正在處於established狀態。
伺服器出現很多established狀態: netstat -nat |grep 9502或者使用lsof -i:9502可以檢測到。
當客戶端未主動close的時候就斷開連線:即客戶端傳送的fin丟失或未傳送。這時候若客戶端斷開的時候傳送了fin包,則服務端將會處於close_wait狀態;這時候若客戶端斷開的時候未傳送fin包,則服務端處還是顯示established狀態;結果客戶端重新連線伺服器。
而新連線上來的客戶端(也就是剛才斷掉的重新連上來了)在服務端肯定是stablished;
如果客戶端重複的上演這種情況,那麼服務端將會出現大量的假的established連線和
close_wait連線。最終結果就是新的其他客戶端無法連線上來,但是利用netstat還是能看到一條連線已經建立,並顯示established,但始終無法進入程式**。
5)fin-wait-1:等待遠端tcp連線中斷請求,或先前的連線中斷請求的確認 主動關閉
(active close)端應用程式呼叫close,於是其tcp發出fin請求主動關閉連線,之後進入
fin_wait1狀態。
6)fin-wait-2:從遠端tcp等待連線中斷請求 主動關閉端接到ack後,就進入了fin-
wait-2 。這就是著名的半關閉的狀態了,這是在關閉連線時,客戶端和伺服器兩次握手之後的狀態。在這個狀態下,應用程式還有接受資料的能力,但是已經無法傳送資料,但是也有一種可能是,客戶端一直處於fin_wait_2狀態,而伺服器則一直處於ait_close狀態,而直到應用層來決定關閉這個狀態。
7)close-wait:等待從本地使用者發來的連線中斷請求 被動關閉(passive close)端tcp接到fin後,就發出ack以迴應fin請求(它的接收也作為檔案結束符傳遞給上層應用程式),並進入close_wait。
8)closing:等待遠端tcp對連線中斷的確認 比較少見。
9)last-ack:等待原來的發向遠端tcp的連線中斷請求的確認 被動關閉端一段時間後,接收到檔案結束符的應用程式將呼叫close關閉連線。這導致它的tcp也傳送一個 fin,等待對方的ack.
就進入了last-ack 。
10)time-wait:等待足夠的時間以確保遠端tcp接收到連線中斷請求的確認 在主動關閉端接收到fin後,tcp就傳送ack包,並進入time-wait狀態。time_wait等待狀態,這個狀態又叫做2msl狀態,說的是在time_wait2傳送了最後一個ack資料包以後,要進入time_wait狀態,這個狀態是防止最後一次握手的資料包沒有傳送到對方那裡而準備的(注意這不是四次握手,這是第四次握手的保險狀態)。
這個狀態在很大程度上保證了雙方都可以正常結束,但是,問題也來了。
由於插口的2msl狀態(插口是ip和埠對的意思,socket),使得應用程式在2msl時間內是無法再次使用同一個插口的,對於客戶程式還好一些,但是對於服務程式,例如h
httpd,它總是要使用同一個埠來進行服務,而在2msl時間內,啟動httpd就會出現錯誤(插口被使用)。為了避免這個錯誤,伺服器給出了一個平靜時間的概念,這是說在2msl時間內,雖然可以重新啟動伺服器,但是這個伺服器還是要平靜的等待2msl時間的過去才能進行下一次連線。
11)closed:沒有任何連線狀態 被動關閉端在接受到ack包後,就進入了closed的狀態。連線結束。
2樓:匿名使用者
關閉一個tcp連線需要從兩個方向上分別進行關閉,雙方都是通過傳送fin來表示單方向資料的關閉,當通訊雙方傳送了最後一個fin的時候,傳送方此時處於last_ack狀態,當傳送方收到對方的確認(fin的ack確認)後才真正關閉整個tcp連線
應該是還在連線的!沒有收到確認的資訊就會這樣.
ack是什麼意思?
3樓:繆_小鵬
ack(acknowledgement),即確認字bai
符,在資料通訊du中,接收站發zhi給傳送站的一種傳輸類控制字dao
符。回表示發答來的資料已確認接受無誤。ack訊號通常是一個ascii字元,不同的協議中ack訊號都不一樣。
當傳送方接收到ack訊號時,就可以傳送下一個資料。如果傳送方沒有收到訊號,那麼傳送方可能會重發當前的資料包,也可能停止傳送資料
4樓:段山斯清婉
ack基本翻譯
n.傳送結束訊號
網路釋義
ack:確認|應答訊號|應答
uack:開啟|分開|取貨作業
aack:將球踢回|很快恢復
各個埠都代表什麼意思?
5樓:匿名使用者
在網路技術中,埠(port)大致有兩種意思:
一是物理意義上的埠,比如,adsl modem、集線器、交換機、路由器用於連線其他網路裝置的介面,如rj-45埠、sc埠等等;
二是邏輯意義上的埠,一般是指tcp/ip協議中的埠,埠號的範圍從0到65535,比如用於瀏覽網頁服務的80埠,用於ftp服務的21埠等等。
埠:1
服務:tcpmux
說明:這顯示有人在尋找sgi
irix機器。irix是實現tcpmux的主要提供者,預設情況下tcpmux在這種系統中被開啟。irix機器在釋出是含有幾個預設的無密碼的帳戶,如:ip、guest
uucp、nuucp、demos
、tutor、diag、outofbox等。許多管理員在安裝後忘記刪除這些帳戶。因此hacker有可能在internet上搜尋tcpmux並利用這些帳戶。
3389埠是windows 2000(2003) server遠端桌面的服務埠,可以通過這個埠,用"遠端桌面"等連線工具來連線到遠端的伺服器,如果連線上了,輸入系統管理員的使用者名稱和密碼後,將變得可以像操作本機一樣操作遠端的電腦,因此遠端伺服器一般都將這個埠修改數值或者關閉。
nat埠對映是什麼來的NAT埠對映是什麼來的
我們用adsl 路由共享上網時,路由器預設是允許內網機器主動訪問外網,但拒絕外網機器主動訪問內網機器的。埠對映的作用就是能讓外網機器主動訪問到內網機器,這樣就要在路由器上設定一個通道,讓路由器把訪問這個通道的資訊 到內網機器上去。舉個例子 a為外網機器,ip為101.101.101.101,b為路由...
什麼是假死,人的假死狀態是什麼狀態
簡單一點來說就是系統的資源被耗盡,反應速度超慢,感覺像宕機一樣,但是些時並不是真的宕機了,只是反應慢而已,經過長時間等待,系統會慢慢恢復!你可以通過結束一些程序來釋放出資源。用windows xp時間比較長後,有時執行會很不流暢,甚至會不響應滑鼠鍵盤對操作。很多時候是系統的假死。和真正的宕機不同,假...
VGA輸出埠是什麼什麼是VGA介面
vga介面就是顯示卡上輸出模擬訊號的介面,vga video graphics array 介面,也叫d sub介面。雖然液晶顯示器可以直接接收數字訊號,但很多低端產品為了與vga介面顯示卡相匹配,因而採用vga介面。vga介面是一種d型介面,上面共有15針空,分成三排,每排五個。vga介面是顯示卡...