共用方式為


指定交接集

一個轉移集指定遵循某個通訊協議的一組協議。 只有在剖析器可以從通訊協議實例中的數據識別下一個通訊協定時,剖析器才會使用交接集。

例如,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,以取得下一個協定的控制代碼。 最後,解析器會傳回指向 RecognizeFramephNextProtocol 參數中的句柄的指標。