1. 程式人生 > >經驗分享:C/S系統故障排查之伺服器埠telnet失敗

經驗分享:C/S系統故障排查之伺服器埠telnet失敗

      (在過去的10+年基於 做了很多的C/S系統,也協助客戶解決了諸多開發和執行時的技術問題,個人覺得這些歷史經驗是非常寶貴的,接下來我會將這些經驗逐步分享出來,希望對碰到類似問題的人有所啟發和幫助。)

        telnet命令的主要作用是與目標埠進行TCP連線(即完成TCP三次握手)。

        當服務端啟動後,但是telnet其監聽的埠,卻失敗了。或者,當服務端運行了一段時間後,突然其監聽的埠telnet不通了。當類似這樣的telnet失敗的情況出現時,都可以按照如下方面進行排查:

1.觀察一下服務端程序的CPU和記憶體是否有異常。

       比如,當CPU持續在100%時,就有可能導致來自客戶端的TCP連線請求被丟棄或無暇處理。 

2.埠監聽器是否執行正常?

        可以通過IRapidServerEngine的Advanced屬性的GetPortListenerState方法來獲取埠監聽器的狀態,該方法返回一個PortListenerState物件,其包含3個屬性:

(1)IsMaxConnection:是否達到了最大連線數的限制。

(2)IsListening:是否正在監聽埠。如果未授權,或達到了最大連線數限制,則將會停止監聽埠。

(3)LastDetectTime:最後一次檢測TCP連線佇列(已完成OS底層的三次握手,但尚未被ESFramework提取的TCP連線存放於該佇列中)的時間。 

        如果上述兩點都正常,則接下來,需要專業的運維人員或網管人當員參與進來協助排查。

3.在當前伺服器上執行telnet命令,看能否連線成功?

        如果能連線成功,至少表明本機的TCP握手請求是能正常地被接收和處理的。 

4.在伺服器上執行netstat命令

          netstat是一個非常有用的檢視埠狀態的命令,執行netstat命令後,請注意檢視以下資訊:

(1)目標埠是否處於監聽狀態?

(2)目標埠上是否存在已成功建立的TCP連線(ESTABLISHED)?其數量是多少?

(3)是否存在半開連線(SYN_RECV)?其數量是多少?

(4)是否存在等待關閉的連線(TIME_WAIT)?其數量是多少?

          這裡,最有可能的原因是半開連線數達到最大限制,導致windows系統丟棄後續的TCP連線請求。 

5.TCP三次握手是否正常?

         對於一些奇怪現象的跟蹤與分析,資料抓包工具是不可缺少的。

         在伺服器上將抓包工具執行起來,然後在其他的電腦上telnet該伺服器的目標埠,通過抓包工具觀察目標埠上TCP三次握手的過程是否正常:

(1)目標埠是否收到了來自客戶端的SYN請求?

(2)目標埠有回覆SYN_ACK給客戶端?

(3)目標埠有收到來自客戶端的第三次握手?

         只有當TCP三次握手順利完成後,windows底層才會將建立好的TCP連線放入佇列中,提交給上層的應用程式。

6.伺服器網路拓撲結構、防火牆、路由器、網路安全監控等相關軟硬體

        在抓包分析的同時,結合伺服器的網路拓撲介面進行考慮是很有必要的。很可能來自客戶端的三次握手請求被防火牆、路由器、或某些網路完全監控的相關軟硬體給擋住了。

        此時,需要專業的運維人員或網管人員參與進來,協助排查問題,比如:

(1)在伺服器上執行netstat命令,檢視目標埠的相關狀態資訊。

(2)在伺服器上執行抓包工具,監測目標埠上是否有資料從客戶端過來。

(3)分析伺服器的網路拓撲結構,並以伺服器為中心,依次向外檢查防火牆、路由器、網路安全監控等相關軟硬體等的設定,並進行鍼對性的排查測試。

       經過以上的排查分析,應該都可以找到問題的根源所在,如果還是沒有結果,可以給我留言,我們一起討論下啊。    

相關推薦

經驗分享C/S系統故障排查伺服器telnet失敗

      (在過去的10+年基於 做了很多的C/S系統,也協助客戶解決了諸多開發和執行時的技術問題,個人覺得這些歷史經驗是非常寶貴的,接下來我會將這些經驗逐步分享出來,希望對碰到類似問題的人有所啟發和幫助。)        telnet命令的主要作用是與目標埠進行TCP連線

故障排查是什麼 導致了伺服器telnet失敗

telnet命令的主要作用是與目標埠進行TCP連線(即完成TCP三次握手)。       當服務端啟動後,但是telnet其監聽的埠,卻失敗了。或者,當服務端運行了一段時間後,突然其監聽的埠telnet不通了。當類似這樣的telnet失敗的情況出現時,都可以按照如下方面

經驗分享嵌入式系統學習步驟

淩陽教育 嵌入式 嵌入式學習的朋友們,想要學好嵌入式嗎?我們該如何學好嵌入式?看看淩陽教育的老師為大家帶來的一些方便大家了解的嵌入式學習路線與步驟: 1、Linux 基礎 安裝Linux操作系統 Linux文件系統 Linux常用命令 Linux啟動過程詳解 熟悉Linux服務能夠

12月技術考核Windows系統故障排查

系統故障排查 徹底 問題 系統故障 機器 考核 防火墻 測試 異常 一:Windows系統故障排查 1.無法遠程,將故障排查。 答:對於Windows系統無法遠程,要進行的排查步驟有:第一個是機器是否死機還是關機了;第二個是機器的系統裏邊的遠程設置是否打開了;第三個是機器的

專案經驗總結分享圖書館維護系統總結

圖書館維護系統算是我獨立寫的第一個B-S系統,牛腩新聞釋出系統僅僅是照著敲而已,當時看感覺還行,挺簡單,到自己真正做了,才發現很多細節不是沒記住就是不會。但是牛腩視訊的作用是不可低估的,因為他給了我一個巨集觀指導,一個完整的B-S開發流程。同時,也讓我瞭解了一些至關重要的B

後臺經驗分享如何做許可權管理系統設計?

作者:橘子洲頭 全文共 2210 字 5 圖,閱讀需要 6 分鐘 ———— / BEGIN / ———— 在人人都是產品經理的網站上蟄居了4年,學習了四年,由於最近的工作方向偏向於後臺,在設計後臺時時常會查閱後臺的相關資料,但是關於後臺的文章等內容分享的太少了。 正好這一段時間在調整,想嘗試撰寫一系

經驗分享系統下丟失OS X系統引導的修復方法

起因 在通過Boot Camp安裝完Win10之後,發現只有一個分割槽,就在Win10的磁碟管理中通過“壓縮卷”功能對當前系統分割槽操作,擴充套件了一部分未使用的容量出來,於是在重啟系統之後發現引導介面中“Macintosh HD”引導項不見了,在一番折騰之後

經驗分享如何系統學習 Web 前端技術?

本文作者:曾亮。晟暄科技 CEO ,HTML5 & Node.js 技術講師. Javascript前後端全棧開發人員 DDD/CQRS 設計師 對 Node.js 和 HTML5 有多年開發經驗。獨立研發 Node.js 版的 CQRS framework ,

經驗分享三套簡單的迷宮地圖生成方案

最好 .html ref 展示 方便 灰色 bob 創建 特點 轉自:http://www.gameres.com/754927.html 概述:文章基於一種基礎的地圖,來討論三套不同的地圖生成方案。 文章不會出現跟代碼相關的內容,會以較為通俗的語句和不少簡單的示

iOS開發經驗分享UITableViewCell復用問題

owa 添加 gre 現在 ack ret container con ext   很多朋友覺得UITableViewCell復用問題很難處理,百思不得其解,甚至有很多朋友自己琢磨很久也不明白個究竟。現在分享一下個人的一些經驗,希望對大家有幫助,如果有好的意見或者

linux運維系統故障排查思路及常見故障處理

運維故障 故障排查 常見linux故障 一 linux系統故障的一般處理思路 報錯信息--->查閱日誌文件--->分析定位問題--->解決問題。二 linux系統無法啟動原因及解決 系統無法啟動的原因很多,常見的有下面幾種情況: 1 文件系統被破壞,常常因斷電和

[轉]經驗分享CSS浮動(float,clear)通俗講解

描述 閱讀 分享圖片 向上 技術分享 必須 理論 規則 組成 原文地址: http://www.cnblogs.com/iyangyuan/archive/2013/03/27/2983813.html 寫在前面的話: 由於CSS內容比較多,小菜沒有精力從頭到

積累成功經驗分享運營網站要有目標和方向

  建站學院文件 網路上流行著太多站長成功、一夜致富的傳奇故事。這裡面充滿著所有人的夢想,做網站,我們最終目的就是為了盈利。就是有了這點誘惑力 ,站長們願意花把更多的時間與精力放在網站上。   眾多站長可能都有這樣一個問號,做什麼內容的網站才好?對著各形各類的內容,我們要如何選擇,就要看它

Java學習筆記C/S 與B/S 區別!

C/S 是Client/Server 的縮寫,是客戶機與伺服器結構的應用程式;B/S是Brower/Server 的縮寫,是瀏覽器和伺服器結構的應用程式,即Web 應用程式。C/S 與B/S 區別如下: 1)硬體環境不同: C/S 一般建立在專用的網路上, 小範圍裡的網路環境, 區域網

線上應用故障排查高內存占用

int tool iter net 參數 top jmap命令 eap tom 前一篇介紹了線上應用故障排查之一:高CPU占用,這篇主要分析高內存占用故障的排查。 搞Java開發的,經常會碰到下面兩種異常: 1、java.lang.OutOfMemoryError: Per

阿里架構師經驗分享Java程式設計師5年職業路線指南

  沒有沒免費的Java架構師進階資料領取?(文末提供獲取方法) 阿里架構師技術分享:分散式任務排程系統的實現 阿里架構師技術分享:承載千萬級併發的分散式架構設計思想 阿里架構師技術分享:併發程式設計之手寫阻塞式執行緒安全佇列 阿里架構師技術分享:面試

環宇暢行分享人臉識別系統用於共享單車

    近兩年,共享經濟概念火爆,不少的廠商開始加入共享的大潮中,總以為只要掛上共享的大旗就可以狠賺一筆。共享單車、共享房子、共享KTV、共享健身房……如雨後春筍般出現在我們的生活當中,但是有些不被使用者的接受的共享經濟已經面臨倒閉,而遺留下來的共享經濟也受到了很多的管制。

經驗分享如何合併pdf檔案

工作時間越長,大家電腦上在電腦上堆積的檔案也會越來越多,有一些格式的檔案還好,可以直接複製到同一個檔案中,可是有些檔案就比如PDF檔案就沒有辦法直接複製到同一個檔案當中,那這樣的檔案在工作中我們應該怎麼處理呢,接下來教大家PDF檔案要怎麼樣才能合併。藉助工具:pdf轉換器 1.大家可以在電腦上準備好PDF轉

Windows系統故障排查

先ping IP 是通的無法遠端,進系統進去檢查。先檢查遠端桌面是不是啟用了。選擇啟用。第二步檢查防火牆,如果想防火牆開啟能遠端,這樣就要做好防火牆策略,這邊我們選擇關閉防火牆。在有就是去看一下埠,是不是預設的3389.不是3389遠端的時候加新的埠。在服務裡面看一下遠端服務是不是啟用的。檢查完以上情況,我們

經驗分享SecureCRT遠端登入樹莓派開發板

初次接觸樹莓派開發板,摸索了一天,終於弄清了如何利用SecureCRT遠端登入開發板。 要登入到樹莓派上,需要解決以下問題: 讓樹莓派開發板先連線上自己的區域網; 獲取樹莓派的動態IP地址; ssh使能; 知道登入時的使用者名稱以及密碼。 上述問題中第四個問