netmon中解析非1433連接埠的TDS協議

來源:互聯網
上載者:User
文章目錄
  • 參考文獻:
  • 本文
參考文獻:

How to enable TDS parser to display TDS frames when SQLServer is listening on port other than default 1433

本文

如果你使用netmon3.4抓sql server網路包的話,在協議中你會發現有各種類型的協議,常見的由TCP/TDS/TLS等。如所示:

但是,之所以我們能夠抓到TDS協議,是因為我們串連的是預設執行個體,其連接埠號碼是1433。如果我們串連的是具名執行個體,連接埠號碼不再是1433了,那麼我們就抓不到TDS協議了,如所示:

在中我們已經找不到prelogin,response,recrequest等關鍵字了,多了許多Flag=...AP...,我自己抓到的網路包如所示:

為了能夠讓netmon解析具名執行個體的TDS網路包,我們需要對netmon進行一些修改。我們需要修改tcp.npl這個Praser,如所示:

找到tcp.npl以後,開啟這個檔案,在裡面搜尋1433,然後在case 1433之前添加具名執行個體的tcp連接埠號碼,如所示:

修改完以後點擊儲存,但是可能會出現如下錯誤:

這是因為tcp.npl這個檔案是唯讀,我們需要在磁碟中找到這個檔案,去掉該檔案的唯讀屬性即可,這個檔案的路徑是:C:\ProgramData\Microsoft\Network Monitor 3\NPL\NetworkMonitor Parsers\Base。在這個目錄下找到tcp.npl,在屬性中去掉唯讀屬性,然後我們再次儲存tcp.npl檔案,此時儲存成功。點擊“rebuild prasers”,最後重啟netmon,否則修改不生效。

此時我們再次去抓sql server的網路包,我們就會發現能夠解析TDS協議了,如所示:

我抓到的網路包如所示:

再說一句題外話,上面我們可以看到使用的是NTLM驗證模式,而不是使用kerberos,這是因為我的sql server2012沒有註冊spn的緣故。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.