共用方式為


Winsock 網路事件追蹤詳細資料

下列詳細說明可追蹤的每個 Winsock 網路事件,並描述記錄哪些參數和資訊。

通訊端建立

事件識別碼 = 1

層級 = 4 (資訊)

下列 Winsock 事件會追蹤以建立通訊端:

  • 通訊端控制碼是由 對通訊端WSASocket 函式的呼叫所建立。
  • 接聽通訊端上接受的通訊端控制碼。
  • 呼叫 WSAJoinLeaf 函式所建立的通訊端控制碼。
  • 通訊端控制碼會由對 AcceptExConnectEx 函式的呼叫重複使用。

系統會記錄下列參數以用於通訊端建立事件:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
SocketType
通訊端的類型。
協定
通訊端的通訊協定。
UserModePid
建立通訊端的使用者模式進程識別碼。

 

通訊端系結

事件識別碼 = 2 (IPv4) ,事件識別碼 = 3 (IPv6)

層級 = 4 (資訊)

下列 Winsock 事件會追蹤系結作業:

  • 通訊端控制碼的隱含或明確系結。

系結事件會記錄下列參數:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
位址
本機 IP 位址。
港口
本機 IP 埠號碼。
地位
系結作業傳回的狀態或錯誤碼。

 

失敗的系結

事件識別碼 = 40

層級 = 4 (資訊)

下列 Winsock 事件會追蹤失敗的系結作業:

  • 通訊端控制碼的隱含或明確系結失敗。

下列參數會記錄失敗的系結事件:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
錯誤
失敗系結作業傳回的錯誤碼。

 

Socket Connect

事件識別碼 = 4 (IPv4) ,事件識別碼 = 5 (IPv6)

層級 = 4 (資訊)

下列 Winsock 事件會追蹤連線作業要求, (連線、ConnectExWSAConnect、WSAConnectByList 或 WSAConnectByName函式) :

  • 將通訊端連線至目的地,以進行連線導向或無連線通訊端。

線上活動會記錄下列參數:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
位址
遠端 IP 位址。
港口
遠端 IP 埠號碼。

 

連線已完成

事件識別碼 = 6

層級 = 4 (資訊)

下列 Winsock 事件會追蹤已完成的連線:

  • 連線作業已完成。

下列參數會記錄連線完成事件:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
錯誤
連線作業傳回的錯誤碼。

 

AFD-Initiated中止

事件識別碼 = 7

層級 = 4 (資訊)

下列 Winsock 事件會針對 Winsock 起始的中止或取消作業進行追蹤:

  • 中止,因為未讀取的接收資料會在關閉之後緩衝處理。
  • 關閉 函式的呼叫之後中止, 其參數設定 為 SD_RECEIVE,以及對 closesocket 函式的呼叫,並暫止接收資料。
  • 嘗試排清端點失敗之後中止。
  • 發生內部 Winsock 錯誤之後中止。
  • 因為連線發生錯誤而中止,而且應用程式先前要求在特定情況下中止連線。 此案例的其中一個範例是將SO_LINGER設定為零且連線上仍有未清除資料的應用程式。
  • 連線上的中止未完全與接受端點相關聯。
  • acceptAcceptEx 函式的失敗呼叫中止。
  • 因接收作業失敗而中止。
  • 因為隨插即用事件而中止。
  • 因排清要求失敗而中止。
  • 因失敗的加速資料接收要求而中止。
  • 因為傳送要求失敗而中止。
  • 因為已取消傳送要求而中止。
  • 中止,因為已取消呼叫 TransmitPackets 函式。

下列參數會針對 Winsock 起始的中止或取消作業進行記錄:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
原因
中止或取消作業的原因。

 

Transport-Initiated中止

事件識別碼 = 8

層級 = 4 (資訊)

下列 Winsock 事件會針對傳輸起始的中止或取消作業進行追蹤:

  • 傳輸所指出的重設。

下列參數會針對 Winsock 起始的中止或取消作業進行記錄:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
原因
中止或取消作業的原因。

 

傳送要求失敗

事件識別碼 = 9

層級 = 4 (資訊)

下列 Winsock 事件會追蹤 傳送WSASend 要求上的錯誤:

系統會針對導致錯誤的傳送要求記錄下列參數:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
錯誤
針對作業傳回的錯誤碼。

 

失敗的 WsaSendMsg 要求

事件識別碼 = 10

層級 = 4 (資訊)

下列 Winsock 事件會追蹤 WSASendMsg 要求上的錯誤:

系統會針對導致錯誤的傳送要求記錄下列參數:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
錯誤
針對作業傳回的錯誤碼。

 

失敗的 Recv 要求

事件識別碼 = 11

層級 = 4 (資訊)

下列 Winsock 事件會追蹤 recvWSARecvWSARecvEx 要求上的錯誤:

  • 在失敗的接收要求上傳回的錯誤。

系統會針對導致錯誤的傳送要求記錄下列參數:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
錯誤
針對作業傳回的錯誤碼。

 

失敗的 Recvfrom 要求

事件識別碼 = 12

層級 = 4 (資訊)

下列 Winsock 事件會追蹤 recvfromWSARecvFrom 要求上的錯誤:

系統會針對 recvfromWSARecvFrom 要求記錄下列參數,這會導致錯誤:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
錯誤
針對作業傳回的錯誤碼。

 

通訊端關閉

事件識別碼 = 13

層級 = 4 (資訊)

下列 Winsock 事件會針對通訊端關閉作業進行追蹤:

  • 通訊端控制碼已關閉。

下列參數會記錄通訊端關閉事件:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
錯誤
通訊端關閉作業的傳回值。

 

通訊端清除

事件識別碼 = 14

層級 = 4 (資訊)

下列 Winsock 事件會追蹤通訊端清除 (關閉) 作業:

  • 在通訊端上呼叫 關機 函式。
  • 傳輸表示失敗的正常中斷連線。

系統會針對通訊端清除記錄下列參數, (關閉) 或通訊端關閉事件:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
錯誤
通訊端清除 (關閉) 作業的傳回值。

 

通訊端接受

事件識別碼 = 15 (IPv4) ,事件識別碼 = 16 (IPv6)

層級 = 4 (資訊)

下列 Winsock 事件會針對 acceptAcceptExWSAAccept 函式要求進行追蹤:

系統會記錄下列接受事件的參數:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
位址
遠端 IP 位址。
港口
遠端 IP 埠號碼。
地位
接受作業傳回的狀態或錯誤碼。

 

接受失敗

事件識別碼 = 17

層級 = 4 (資訊)

下列 Winsock 事件會針對失敗的接受作業進行追蹤:

系統會針對失敗的接受事件記錄下列參數:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
錯誤
失敗接受作業傳回的錯誤碼。

 

傳送張貼

事件識別碼 = 18

層級 = 5 (詳細資訊)

例如,為了診斷使用者緩衝區損毀 (,當應用程式在另一個傳送或接收呼叫中重新使用相同緩衝區時,當它仍在使用) 時,資料緩衝區會在張貼至 Winsock 和基礎傳輸完成時記錄。 下列 Winsock 事件會追蹤通訊端傳送和接收緩衝區後作業:

  • 應用程式張貼傳送。
  • 傳送作業會完成至 Winsock。

通訊端傳送作業會記錄下列參數:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
FastPath
布林值,指出是否使用快速路徑 I/O。
BufferCount
緩衝區計數。
緩衝區
緩衝區的虛擬位址。 對於鏈結緩衝區,此參數是鏈結中第一個緩衝區的虛擬位址。
BufferLength
緩衝區的長度。 對於鏈結緩衝區,此參數是鏈結中所有緩衝區的位元組總數。

 

當 FastPath 為 true 時,緩衝區陣列中第一個緩衝區的使用者模式位址會記錄在 Buffer 參數中。 當 FastPath 為 false 時,Winsock 核心緩衝區位址會記錄在 Buffer 參數中。

接收張貼

事件識別碼 = 19

層級 = 5 (詳細資訊)

例如,為了診斷使用者緩衝區損毀 (,當應用程式在另一個傳送或接收呼叫中重新使用相同緩衝區時,當它仍在使用) 時,資料緩衝區會在張貼至 Winsock 和基礎傳輸完成時記錄。 下列 Winsock 事件會追蹤通訊端接收緩衝區後作業:

  • 應用程式張貼接收。
  • 接收作業會完成至 Winsock。

下列參數會記錄通訊端接收作業:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
FastPath
布林值,指出是否使用快速路徑 I/O。
BufferCount
緩衝區計數。
緩衝區
緩衝區的虛擬位址。 對於鏈結緩衝區,此參數是鏈結中第一個緩衝區的虛擬位址。
BufferLength
緩衝區的長度。 對於鏈結緩衝區,此參數是鏈結中所有緩衝區的位元組總數。

 

當 FastPath 為 true 時,緩衝區陣列中第一個緩衝區的使用者模式位址會記錄在 Buffer 參數中。 當 FastPath 為 false 時,Winsock 核心緩衝區位址會記錄在 Buffer 參數中。

RecvFrom 張貼

事件識別碼 = 20

Level = 5 (Verbose)

例如,若要診斷使用者緩衝區損毀 (例如,當應用程式在另一個傳送或接收呼叫中重複使用相同的緩衝區時,當它仍在使用中) 時,資料緩衝區會在張貼到 Winsock 以及基礎傳輸完成時記錄。 下列 Winsock 事件會針對通訊端上的 recvfrom 緩衝區後置作業進行追蹤:

  • 應用程式會張貼來自作業的接收。

下列參數會針對 recvfrom 作業進行記錄:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
FastPath
布林值,指出是否使用快速路徑 I/O。
BufferCount
緩衝區計數。
緩衝區
緩衝區的虛擬位址。 對於鏈結緩衝區,此參數是鏈結中第一個緩衝區的虛擬位址。
BufferLength
緩衝區的長度。 對於鏈結緩衝區,此參數是鏈結中所有緩衝區的位元組總數。

 

當 FastPath 為 true 時,緩衝區陣列中第一個緩衝區的使用者模式位址會記錄在 Buffer 參數中。 當 FastPath 為 false 時,Winsock 核心緩衝區位址會記錄在 Buffer 參數中。

SendTo Posted

事件識別碼 = 21 (IPv4) ,事件識別碼 = 22 (IPv6)

Level = 5 (Verbose)

例如,若要診斷使用者緩衝區損毀 (例如,當應用程式在另一個傳送或接收呼叫中重複使用相同的緩衝區時,當它仍在使用中) 時,資料緩衝區會在張貼到 Winsock 以及基礎傳輸完成時記錄。 下列 Winsock 事件會針對 通訊端上的 sendto 緩衝區後置作業進行追蹤:

  • 應用程式會張貼傳送來源。

下列參數會記錄給 sendto 作業:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
FastPath
布林值,指出是否使用快速路徑 I/O。
BufferCount
緩衝區計數。
緩衝區
緩衝區的虛擬位址。 對於鏈結緩衝區,此參數是鏈結中第一個緩衝區的虛擬位址。
BufferLength
緩衝區的長度。 對於鏈結緩衝區,此參數是鏈結中所有緩衝區的位元組總數。
位址
通訊端的遠端 IP 位址。
港口
通訊端的遠端 IP 埠號碼。

 

當 FastPath 為 true 時,緩衝區陣列中第一個緩衝區的使用者模式位址會記錄在 Buffer 參數中。 當 FastPath 為 false 時,Winsock 核心緩衝區位址會記錄在 Buffer 參數中。

Recv Completed

事件識別碼 = 23

Level = 5 (Verbose)

例如,若要診斷使用者緩衝區損毀 (例如,當應用程式在另一個傳送或接收呼叫中重複使用相同的緩衝區時,當它仍在使用中) 時,資料緩衝區會在張貼到 Winsock 以及基礎傳輸完成時記錄。 下列 Winsock 事件會針對通訊端接收已完成的作業進行追蹤:

  • 傳送作業會完成至傳輸。
  • 接收作業會完成至傳輸。

下列參數會記錄為已完成或已完成的傳送:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
緩衝區
緩衝區的虛擬位址。 對於鏈結緩衝區,此參數是鏈結中第一個緩衝區的虛擬位址。
BufferLength
收到的位元組緩衝區長度。 對於鏈結緩衝區,此參數是鏈結中所有緩衝區中收到的位元組總數。

 

傳送已完成

事件識別碼 = 24

Level = 5 (Verbose)

例如,若要診斷使用者緩衝區損毀 (例如,當應用程式在另一個傳送或接收呼叫中重複使用相同的緩衝區時,當它仍在使用中) 時,資料緩衝區會在張貼到 Winsock 以及基礎傳輸完成時記錄。 下列 Winsock 事件會針對通訊端傳送已完成的作業進行追蹤:

  • 傳送作業會完成至傳輸。

下列參數會記錄為已完成的傳送:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
緩衝區
緩衝區的虛擬位址。 對於鏈結緩衝區,此參數是鏈結中第一個緩衝區的虛擬位址。
BufferLength
傳送之位元組緩衝區的長度。 對於鏈結緩衝區,此參數是從鏈結中的所有緩衝區傳送的總位元組。

 

SendMsg 已完成

事件識別碼 = 25

Level = 5 (Verbose)

例如,若要診斷使用者緩衝區損毀 (例如,當應用程式在另一個傳送或接收呼叫中重複使用相同的緩衝區時,當它仍在使用中) 時,資料緩衝區會在張貼到 Winsock 以及基礎傳輸完成時記錄。 當 WSASendMsg 緩衝區作業在通訊端上完成時,會追蹤下列 Winsock 事件:

WSASendMsg完成會記錄下列參數:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
BufferCount
緩衝區計數。
緩衝區
緩衝區的虛擬位址。 對於鏈結緩衝區,此參數是鏈結中第一個緩衝區的虛擬位址。
BufferLength
所傳送位元組緩衝區的長度。 對於鏈結緩衝區,此參數是從鏈結中的所有緩衝區傳送的總位元組。
位址
通訊端的遠端 IP 位址。
港口
通訊端的遠端 IP 埠號碼。

 

RecvFrom Completed

事件識別碼 = 26 (IPv4) ,事件識別碼 = 27 (IPv6)

層級 = 5 (詳細資訊)

例如,為了診斷使用者緩衝區損毀 (,當應用程式在另一個傳送或接收呼叫中重新使用相同緩衝區時,當它仍在使用) 時,資料緩衝區會在張貼至 Winsock 和基礎傳輸完成時記錄。 當 通訊端上的 recvfrom 緩衝區後作業完成時,會追蹤下列 Winsock 事件:

下列參數會記錄 回傳 完成:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
BufferCount
緩衝區計數。
緩衝區
緩衝區的虛擬位址。 對於鏈結緩衝區,此參數是鏈結中第一個緩衝區的虛擬位址。
BufferLength
所接收位元組緩衝區的長度。 對於鏈結緩衝區,此參數是鏈結中所有緩衝區中收到的位元組總數。
位址
通訊端的遠端 IP 位址。
港口
通訊端的遠端 IP 埠號碼。

 

SendTo Completed

事件識別碼 = 28

層級 = 5 (詳細資訊)

例如,為了診斷使用者緩衝區損毀 (,當應用程式在另一個傳送或接收呼叫中重新使用相同緩衝區時,當它仍在使用) 時,資料緩衝區會在張貼至 Winsock 和基礎傳輸完成時記錄。 在通訊端上的 sendto 緩衝區後作業完成時,會追蹤下列 Winsock 事件:

  • 應用程式完成 sendto 作業。

系統會記錄下列參數以完成 sendto

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
BufferCount
緩衝區計數。
緩衝區
緩衝區的虛擬位址。 對於鏈結緩衝區,此參數是鏈結中第一個緩衝區的虛擬位址。
BufferLength
所傳送位元組緩衝區的長度。 對於鏈結緩衝區,此參數是從鏈結中的所有緩衝區傳送的總位元組。
位址
通訊端的遠端 IP 位址。
港口
通訊端的遠端 IP 埠號碼。

 

通訊端選項組

事件識別碼 = 29

層級 = 5 (詳細資訊)

每當應用程式變更特定通訊端選項值和 Ioctls 時,將會記錄新的值。 記錄的選項可用來診斷應用程式中效能不佳或奇怪的行為。 下列 Winsock 事件會追蹤特定通訊端選項和 Ioctls:

  • SO_SNDBUF變更。
  • SO_RCVBUF變更。
  • FIONBIO
  • SIO_ENABLE_CIRCULAR_QUEUEING
  • SIO_UDP_CONNRESET
  • SO_OOBINLINE

下列參數會針對 setockoptWSAIoctl 函式通話記錄,以變更上述任何值:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
選項
已變更的通訊端選項或 Ioctl。
價值
通訊端選項或 Ioctl 的新值。

 

選取/投票張貼

事件識別碼 = 30

層級 = 5 (詳細資訊)

當應用程式呼叫 selectWSAPoll 函式時,會追蹤下列 Winsock 事件:

下列參數會記錄為 selectWSAPoll 事件:

參數 描述
過程
擁有進程識別碼。
HandleCount
應用程式傳入的控制碼數目 (只在起始事件) 有效。
超時
選取WSAPoll函式等候的時間上限。

 

選取/輪詢已完成

事件識別碼 = 31

層級 = 5 (詳細資訊)

當應用程式呼叫 selectWSAPoll 函式時,會追蹤下列 Winsock 事件:

選取WSAPoll 作業完成時,會記錄下列參數:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
錯誤
針對選取WSAPoll作業傳回的錯誤碼。

 

WSAEventSelect

事件識別碼 = 32

層級 = 5 (詳細資訊)

當應用程式呼叫 WSAEventSelect 函式時,會追蹤下列 Winsock 事件:

WSAEventSelect函式呼叫會記錄下列參數:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
EventMask
事件遮罩的值。

 

卸載的資料包

事件識別碼 = 33 (IPv4) ,事件識別碼 = 34 (IPv6)

層級 = 5 (詳細資訊)

為了協助診斷資料包應用程式的問題,會追蹤下列 Winsock 事件:

  • 當資料包送達且卸載資料包時,會達到緩衝區空間不足。
  • 在連接的資料包上,如果資料來自連線目的地以外的來源。

已卸載的資料包會記錄下列參數:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
PacketSize
已卸載之封包的大小。
位址
封包來源的 IP 位址。
港口
封包來源的 IP 埠號碼。
原因
捨棄封包的錯誤碼或原因。

 

指出的連接

事件識別碼 = 35 (IPv4) ,事件識別碼 = 36 (IPv6)

層級 = 5 (詳細資訊)

下列 Winsock 事件會追蹤連線指示的作業:

  • 應用程式會收到連線要求。

系統會針對從傳輸事件指出的連接記錄下列參數:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
位址
遠端 IP 位址。
港口
遠端 IP 埠號碼。

 

指出的資料

事件識別碼 = 37

層級 = 5 (詳細資訊)

下列 Winsock 事件會追蹤資料指示的作業:

  • 應用程式會在連線的通訊端上接收資料。

系統會針對從傳輸事件指出的資料記錄下列參數:

參數 描述
過程
擁有進程識別碼。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
指出的位元組
通訊端上收到的位元組數目。

 

從傳輸指出的資料

事件識別碼 = 38 (IPv4) ,事件識別碼 = 39 (IPv6)

層級 = 5 (詳細資訊)

下列 Winsock 事件會針對從傳輸作業指出的資料進行追蹤:

  • 應用程式會張貼接收要求並接收資料。

系統會針對從傳輸事件指出的資料記錄下列參數:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。
位址
遠端 IP 位址。
港口
遠端 IP 埠號碼。
指出的位元組
通訊端上收到的位元組數目。

 

從傳輸指出的中斷連線

事件識別碼 = 41

層級 = 5 (詳細資訊)

下列 Winsock 事件會追蹤中斷連線指示的作業:

  • 應用程式會收到中斷連線指示。

系統會記錄下列參數,以便中斷傳輸事件所指出的中斷連線:

參數 描述
過程
進程的核心 EPROCESS 結構位址。
端點
作為通訊端唯一識別碼的 Winsock 核心通訊端位址。

 

Winsock 追蹤的控制

Winsock 追蹤

Winsock 目錄變更追蹤詳細資料

Winsock 追蹤層級