共用方式為


指定交接集

交接集會指定遵循通訊協定的通訊協定。 剖析器只有在剖析器可以從通訊協定實例中的資料識別下一個通訊協定時,才會使用交接集。

例如,TCP 通訊協定具有埠屬性,可識別 TCP 通訊協定後面的通訊協定。 屬性值為 20 表示下一個通訊協定是 FTP。 屬性值為 53 表示下一個通訊協定是 DNS。 由於埠屬性會識別下列通訊協定,因此 TCP 剖析器可以使用下列交接設定來取得埠屬性所指定通訊協定的控制碼。

[TCP_HandoffSet]
  20    = FTP
  21    = FTP
  23    = TELNET
  25    = SMTP
  53    = DNS
  79    = FINGER
  80    = HTTP
  102   = ISO
  111   = RPC
  119   = NNTP
  137   = NBT, 1000
  138   = NBT, 1002
  139   = NBT, 1001
  389   = LDAP
  445   = NBT, 1001
  515   = LPR
  612   = HMMP
  613   = HMMP
  1024  = NBT, 1001
  1047  = NBT, 1001
  1362  = TDS
  1433  = TDS
  1723  = PPTP
  3020  = NBT, 1001
  3268  = LDAP
  5678  = PPTP

交握集會儲存在剖析器 INI 檔案中。 例如,上述 TCP 交接集位於 tcpip.ini 檔案中。 請注意,如果剖析器 DLL 支援多個通訊協定,則每個使用交接集的剖析器在 INI 檔案中都有自己的位置。

ParserAutoInstallInfo 函式的實作期間,會指定交接集資訊。 剖析器可以指定剖析器通訊協定前面的通訊協定,以及剖析器通訊協定後面的通訊協定。 網路監視器會採用之前的所有通訊協定,並將剖析器通訊協定新增至剖析器 INI 檔案的下列集合區段,每個上述通訊協定都有。 網路監視器會將後續通訊協定清單儲存在剖析器 INI 檔案的交接集區段中。

網路監視器會將交接集資訊儲存在剖析器 INI 檔案中,但剖析器不會直接存取 INI 檔案。 若要使用交接集中的資訊,剖析器會呼叫 CreateHandoffTable 函式來建立交接資料表。 一般而言,當剖析器註冊通訊協定時,就會建立交接資料表。 註冊通訊協定之後,網路監視器會建立剖析器可以使用的交接集資料表。

剖析器會在辨識資料時使用其交握集。 首先,剖析器會讀取識別下一個通訊協定的屬性值。 然後,剖析器會呼叫 GetProtocolFromTable ,以取得下一個通訊協定的控制碼。 最後,剖析器會傳回RecognizeFrame之 phNextProtocol參數中控制碼的指標。