發(fā)布時間:2022-10-06
欄目:電商資訊
我們通過了解TCP各個狀態(tài),可以排除和定位網(wǎng)絡(luò)或系統(tǒng)故障時大有幫助。
1)netstat-nat
#查看TCP各個狀態(tài)的數(shù)量
2)lsof-i:port
#可以檢測到打開套接字的狀況
3)sar-nSOCK
#查看tcp創(chuàng)建的連接數(shù)
4)tcpdump-ianytcpport9000
#對tcp端口為9000的進行抓包
網(wǎng)絡(luò)測試常用命令;
1.ping:檢測網(wǎng)絡(luò)連接的正常與否,主要是測試延時、抖動、丟包率。
但是很多服務(wù)器為了防止攻擊,一般會關(guān)閉對ping的響應(yīng)。所以ping一般作為測試連通性使用。
ping命令后,會接收到對方發(fā)送的回饋信息,其中記錄著對方的IP地址和TTL。TTL是該字段指定IP包被路由器丟棄之前答應(yīng)通過的很大網(wǎng)段數(shù)量。
TTL是IPv4包頭的一個8bit字段。例如IP包在服務(wù)器中發(fā)送前設(shè)置的TTL是64,你使用ping命令后,得到服務(wù)器反饋的信息,其中的TTL為56,說明途中一共經(jīng)過了8道路由器的轉(zhuǎn)發(fā),每經(jīng)過一個路由,TTL減1。
2.traceroute:raceroute跟蹤數(shù)據(jù)包到達網(wǎng)絡(luò)主機所經(jīng)過的路由工具
traceroutehostname
3.pathping:是一個路由跟蹤工具,它將ping和tracert命令的功能與這兩個工具所不提供的其他信息結(jié)合起來,綜合了二者的功能
pathpingwww.baidu.com
有提供某種服務(wù)才會處于LISTENING狀態(tài),TCP狀態(tài)變化就是某個端口的狀態(tài)變化,提供一個服務(wù)就打開一個端口。
例如:提供www服務(wù)默認開的是80端口,提供ftp服務(wù)默認的端口為21,當提供的服務(wù)沒有被連接時就處于LISTENING狀態(tài)。
FTP服務(wù)啟動后首先處于偵聽(LISTENING)狀態(tài)。處于偵聽LISTENING狀態(tài)時,該端口是開放的,等待連接,但還沒有被連接。就像你房子的門已經(jīng)敞開的,但還沒有人進來。
SYN-SENT:客戶端SYN_SENT狀態(tài):
再發(fā)送連接請求后等待匹配的連接請求:客戶端通過應(yīng)用程序調(diào)用connect進行activeopen.
于是客戶端tcp發(fā)送一個SYN以請求建立一個連接.之后狀態(tài)置為SYN_SENT.
Thesocketisactivelyattemptingtoestablishaconnection.在發(fā)送連接請求后等待匹配的連接請求
當請求連接時客戶端首先要發(fā)送同步信號給要訪問的機器,此時狀態(tài)為SYN_SENT,假如連接成功了就變?yōu)镋STABLISHED,正常情況下SYN_SENT狀態(tài)非常短暫。
例如要訪問網(wǎng)站www.baidu.com,假如是正常連接的話,用TCPView觀察IEXPLORE.EXE(IE)建立的連接會發(fā)現(xiàn)很快從SYN_SENT變?yōu)镋STABLISHED,表示連接成功。SYN_SENT狀態(tài)快的也許看不到。
Connectionisclosed,andthesocketiswaitingforashutdownfromtheremoteend.從遠程TCP等待連接中斷請求
Theremoteendhasshutdown,waitingforthesockettoclose.等待從本地用戶發(fā)來的連接中斷請求
Bothsocketsareshutdownbutwestilldon’thaveallourdatasent.等待遠程TCP對連接中斷的確認
Theremoteendhasshutdown,andthesocketisclosed.Waitingforacknowledgement.等待原來發(fā)向遠程TCP的連接中斷請求的確認
Thesocketiswaitingafterclosetohandlepacketsstillinthenetwork.等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認
Thesocketisnotbeingused.沒有任何連接狀態(tài)
(1)第一次握手:Client端又調(diào)用connect函數(shù)調(diào)用,系統(tǒng)為Client隨機分配一個端口,連同傳入connect中的參數(shù)(Server的IP和端口),這就形成了一個連接四元組,客戶端發(fā)送一個帶SYN標志的TCP報文到服務(wù)器。
這是三次握手過程中的報文1。connect調(diào)用讓Client端的socket處于SYN_SENT狀態(tài),等待服務(wù)器確認;SYN:同步序列編號(SynchronizeSequenceNumbers)。
(2)第二次握手:服務(wù)器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發(fā)送一個SYN包(syn=k),即SYN+ACK包,此時服務(wù)器進入SYN_RECV狀態(tài);
(3)第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認包ACK(ack=k+1),此包發(fā)送完畢,客戶器和客務(wù)器進入ESTABLISHED狀態(tài),完成三次握手。連接已經(jīng)可以進行讀寫操作。
tcpdump-ianytcpport9502

14:12:45.104687IPlocalhost.39870>localhost.9502:Flags[S],seq
#客戶端IPlocalhost.39870(客戶端的端口一般是自動分配的)向服務(wù)器localhost.9502發(fā)送syn包(syn=j)到服務(wù)器》
syn的seq=
14:12:45.104701IPlocalhost.9502>localhost.39870:Flags[S.],seq,ack,
14:12:45.104711IPlocalhost.39870>localhost.9502:Flags[.],ack1,
IPlocalhost.39870>localhost.9502:Flags[P.],seq1:8,ack1,win4099,options[nop,nop,TSvalecr],length7客戶端向服務(wù)器發(fā)送長度為7個字節(jié)的數(shù)據(jù),
IPlocalhost.9502>localhost.39870:Flags[.],ack8,win4096,options[nop,nop,TSvalecr],length0服務(wù)器向客戶確認已經(jīng)收到數(shù)據(jù)
IPlocalhost.9502>localhost.39870:Flags[P.],seq1:19,ack8,win4096,options[nop,nop,TSvalecr],length18然后服務(wù)器同時向客戶端寫入數(shù)據(jù)。
IPlocalhost.39870>localhost.9502:Flags[.],ack19,win4097,options[nop,nop,TSvalecr],length0客戶端向服務(wù)器確認已經(jīng)收到數(shù)據(jù)
全局設(shè)置可更改/etc/sysctl.conf,加上:
net.ipv4.tcp_keepalive_intvl=20
net.ipv4.tcp_keepalive_probes=3
net.ipv4.tcp_keepalive_time=60
文章地址:http://www.meyanliao.com/article/online/12167.html

- 1互聯(lián)網(wǎng)對傳統(tǒng)企業(yè)的沖擊有多大
- 2美團再因不正當競爭敗訴新反法互聯(lián)網(wǎng)專條首次適用外賣領(lǐng)域!
- 32021互聯(lián)網(wǎng)十件大事對不起賈躍亭你只能排第四
- 4互聯(lián)網(wǎng)宣傳做的就是用戶體驗
- 5互聯(lián)網(wǎng)創(chuàng)業(yè)到底需要怎樣的能力
- 6適合上班族的25個副業(yè)(適合上班族的互聯(lián)網(wǎng)副業(yè))
- 7互聯(lián)網(wǎng)的世界沒有永遠的敵人只有永遠的利益
- 8押唄進駐天線貓助力互聯(lián)網(wǎng)數(shù)碼產(chǎn)品寄存行業(yè)經(jīng)濟持續(xù)發(fā)展
- 9互聯(lián)網(wǎng)公司如何做好品牌定位
- 102021年互聯(lián)網(wǎng)金融發(fā)展回顧冬去春欲來改弦當更張