我們開發通訊的時候,客戶的明明把資料傳送出去了,而服務端就是沒接收到,或是收發資料不穩定,有時能收到,有時不能收到,
這個時候有3種可能:
1、客戶端的問題,資料傳送有問題
2、服務端的問題,資料接收有問題,這個經常碰到,重複建立鏈路,導致收發資料如果有多條鏈路,傳送資料是通過廢棄鏈路出去,那服務端怎麼也不可能接受到資料。
3、機房網路的問題,可能是頻寬不夠,或者交換機限速了,也有可能伺服器網絡卡故障、網線劣質等多種原因。
以上1和2就不說了,那是程式的bug,仔細排查**,很容易就能找到原因所在,我們現在主要講怎麼通過抓包工具進行排查是應用程式的問題還是網路方面的問題。
linux 抓包工具:tcpdump
1、列印傳送資料報的日誌(16進製制)
2、在伺服器執行視窗執行監視客戶端ip和埠號
tcpdump -i em1 dst host hostname and port
如:tcpdump -i em1 dst host 192.168.128.10 and 8080
檢視傳送出去的時間和資料長度是否與列印日誌的時間和資料長度一致,如果是就是同一條。
windows 抓包工具:minisniffer
1、開啟工具過濾要抓包的ip位址和埠號
通過這個工具能否抓到資料長度和內容是與上面傳送的資料內容一致,如果有排除掉網路問題,程式問題,如果沒有就是網路問題
linux 伺服器丟包故障排查
專案開了個p2p伺服器,但是執行一段時間就會出現丟包問題,具體表現為 1 udp丟包嚴重 一分鐘收發分別1.5w 2 ssh 用於運維指令 連線不上該伺服器 超時 3 伺服器執行好像沒什麼異常,udp假連線數比tcp連線數少 正常應該相近 首先開始懷疑是不是客戶端有bug,查log發現某段時間有個別...
伺服器運維抓包練習
用tcpdump抓包 tcpdump port 80 w 1.pcap用前幾天給計網老師搭的上傳環境hh 傳了乙個一句話木馬上去 包下來了,看一眼 直接追蹤流,可以看到這個上傳的檔案 這個配置出了點小問題,影響不大。用蟻劍連一下子,再抓一下流量,可以看到這個流量 www wwwroot 175.24...
TCP伺服器是否需要心跳包?
之前的測試都是,手動強制關閉客戶端程序,然後檢視伺服器的情況,結果往往是,伺服器收到了客戶端關閉的事件。其實,我一直忽略了乙個問題,我沒有拔掉網線來測試!上面的手動關閉客戶端程序,事實上並不能測試出想要的結果,因為程序是在應用層的,所以,這種測試方法不能保證網路驅動層也不傳送資料報文給伺服器。經過測...