共用方式為


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 核心套接字位址,用來作為套接字的唯一標識碼。
錯誤
針對失敗的系結作業傳回的錯誤碼。

 

套接字連線

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

層級 = 4 (資訊)

下列 Winsock 事件會針對連線作業要求進行追蹤(connect呼叫 、ConnectExWSAConnectWSAConnectByListWSAConnectByName 函式):

  • 將套接字連接到面向連接或無連線套接字的目的地。

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

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
位址
遠端IP位址。

遠端IP埠號碼。

 

線上已完成

事件識別碼 = 6

層級 = 4 (資訊)

下列 Winsock 事件會針對已完成的連線進行追蹤:

  • 線上作業已完成。

下列參數會針對連線完成的事件進行記錄:

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
錯誤
連接作業傳回的錯誤碼。

 

AFD-Initiated 中止

事件識別碼 = 7

層級 = 4 (資訊)

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

  • 因未讀取接收在關閉后緩衝處理的數據而中止。
  • 在呼叫 關機 函式之後中止,如何將 參數設定為 SD_RECEIVE,以及 closesocket 函式的呼叫,以及接收數據暫止。
  • 嘗試排清端點失敗之後中止。
  • 發生內部 Winsock 錯誤之後中止。
  • 因發生錯誤而中止,且應用程式先前要求在特定情況下中止連線。 此案例的其中一個範例是將SO_LINGER設定為零且連線上仍有未認可數據的應用程式。
  • 線上未與接受端點完全關聯的中止。
  • 失敗呼叫 接受AcceptEx 函式時中止。
  • 因接收作業失敗而中止。
  • 由於隨插即用事件而中止。
  • 因排清要求失敗而中止。
  • 因數據接收要求失敗而中止。
  • 因為傳送要求失敗而中止。
  • 因為已取消傳送要求而中止。
  • 因呼叫 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 事件會追蹤 接受AcceptExWSAAccept 函式要求:

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

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
位址
遠端IP位址。

遠端IP埠號碼。
狀態
接受作業傳回的狀態或錯誤碼。

 

接受失敗

事件識別碼 = 17

層級 = 4 (資訊)

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

下列參數會記錄失敗的接受事件:

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
錯誤
針對失敗的接受作業傳回的錯誤碼。

 

傳送張貼

事件標識碼 = 18

Level = 5 (詳細資訊)

為了診斷用戶緩衝區損毀(例如,當應用程式在另一個傳送或接收呼叫中重複使用相同的緩衝區時,仍在使用中),數據緩衝區會在張貼至 Winsock 時以及基礎傳輸完成時記錄。 下列 Winsock 事件會追蹤套接字傳送和接收緩衝區後作業:

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

套接字傳送作業會記錄下列參數:

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

 

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

接收張貼

事件識別碼 = 19

Level = 5 (詳細資訊)

為了診斷用戶緩衝區損毀(例如,當應用程式在另一個傳送或接收呼叫中重複使用相同的緩衝區時,仍在使用中),數據緩衝區會在張貼至 Winsock 時以及基礎傳輸完成時記錄。 下列 Winsock 事件會追蹤套接字接收緩衝區後作業:

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

套接字接收作業會記錄下列參數:

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

 

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

RecvFrom Posted

事件識別碼 = 20

Level = 5 (詳細資訊)

為了診斷用戶緩衝區損毀(例如,當應用程式在另一個傳送或接收呼叫中重複使用相同的緩衝區時,仍在使用中),數據緩衝區會在張貼至 Winsock 時以及基礎傳輸完成時記錄。 下列 Winsock 事件會針對套接字上的緩衝區後作業回溯追蹤:

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

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

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

 

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

SendTo Posted

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

Level = 5 (詳細資訊)

為了診斷用戶緩衝區損毀(例如,當應用程式在另一個傳送或接收呼叫中重複使用相同的緩衝區時,仍在使用中),數據緩衝區會在張貼至 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 (詳細資訊)

為了診斷用戶緩衝區損毀(例如,當應用程式在另一個傳送或接收呼叫中重複使用相同的緩衝區時,仍在使用中),數據緩衝區會在張貼至 Winsock 時以及基礎傳輸完成時記錄。 下列 Winsock 事件會追蹤套接字接收已完成作業:

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

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

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
緩衝區
緩衝區的虛擬位址。 對於鏈結緩衝區,此參數是鏈結中第一個緩衝區的虛擬位址。
BufferLength
接收之位元節緩衝區的長度。 對於鏈結緩衝區,此參數是鏈結中所有緩衝區中收到的位元組總數。

 

傳送已完成

事件識別碼 = 24

Level = 5 (詳細資訊)

為了診斷用戶緩衝區損毀(例如,當應用程式在另一個傳送或接收呼叫中重複使用相同的緩衝區時,仍在使用中),數據緩衝區會在張貼至 Winsock 時以及基礎傳輸完成時記錄。 下列 Winsock 事件會追蹤套接字傳送已完成作業:

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

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

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

 

SendMsg Completed

事件識別碼 = 25

Level = 5 (詳細資訊)

為了診斷用戶緩衝區損毀(例如,當應用程式在另一個傳送或接收呼叫中重複使用相同的緩衝區時,仍在使用中),數據緩衝區會在張貼至 Winsock 時以及基礎傳輸完成時記錄。 當套接字上的 WSASendMsg 緩衝區後作業完成時,會追蹤下列 Winsock 事件:

下列參數會記錄 WSASendMsg 完成:

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
BufferCount
緩衝區計數。
緩衝區
緩衝區的虛擬位址。 對於鏈結緩衝區,此參數是鏈結中第一個緩衝區的虛擬位址。
BufferLength
所傳送位元組緩衝區的長度。 對於鏈結緩衝區,此參數是從鏈結中的所有緩衝區傳送的總位元組。
位址
套接字的遠端IP位址。

套接字的遠端IP埠號碼。

 

RecvFrom Completed

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

Level = 5 (詳細資訊)

為了診斷用戶緩衝區損毀(例如,當應用程式在另一個傳送或接收呼叫中重複使用相同的緩衝區時,仍在使用中),數據緩衝區會在張貼至 Winsock 時以及基礎傳輸完成時記錄。 下列 Winsock 事件會在套接字上完成 緩衝區後作業完成時追蹤:

  • 應用程式會完成 作業。

下列參數會記錄 自變數 完成:

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
BufferCount
緩衝區計數。
緩衝區
緩衝區的虛擬位址。 對於鏈結緩衝區,此參數是鏈結中第一個緩衝區的虛擬位址。
BufferLength
接收之位元節緩衝區的長度。 對於鏈結緩衝區,此參數是鏈結中所有緩衝區中收到的位元組總數。
位址
套接字的遠端IP位址。

套接字的遠端IP埠號碼。

 

SendTo Completed

事件識別碼 = 28

Level = 5 (詳細資訊)

為了診斷用戶緩衝區損毀(例如,當應用程式在另一個傳送或接收呼叫中重複使用相同的緩衝區時,仍在使用中),數據緩衝區會在張貼至 Winsock 時以及基礎傳輸完成時記錄。 當 sendto 緩衝區後作業在套接字上完成時,會追蹤下列 Winsock 事件:

  • 應用程式會完成 sendto 作業。

下列參數會記錄 sendto 完成:

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
BufferCount
緩衝區計數。
緩衝區
緩衝區的虛擬位址。 對於鏈結緩衝區,此參數是鏈結中第一個緩衝區的虛擬位址。
BufferLength
所傳送位元組緩衝區的長度。 對於鏈結緩衝區,此參數是從鏈結中的所有緩衝區傳送的總位元組。
位址
套接字的遠端IP位址。

套接字的遠端IP埠號碼。

 

套接字選項集

事件識別碼 = 29

Level = 5 (詳細資訊)

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

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

下列參數會針對 setsockoptWSAIoctl 函式呼叫記錄,以變更上述任何值:

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
選項
已變更的套接字選項或Ioctl。

套接字選項或 Ioctl 的新值。

 

選取/輪詢張貼

事件識別碼 = 30

Level = 5 (詳細資訊)

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

下列參數會記錄 選取WSAPoll 事件:

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

 

選取/輪詢已完成

事件識別碼 = 31

Level = 5 (詳細資訊)

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

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

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
錯誤
針對 傳回的錯誤碼,請選取WSAPoll 作業。

 

WSAEventSelect

事件識別碼 = 32

Level = 5 (詳細資訊)

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

下列參數會記錄 WSAEventSelect 函數調用:

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
EventMask
事件遮罩的值。

 

卸除的數據報

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

Level = 5 (詳細資訊)

為了協助診斷數據報應用程式的問題,會追蹤下列 Winsock 事件:

  • 當數據報到達且卸除數據報時,會讓緩衝區空間不足。
  • 在連接的數據報上,如果資料來自連線目的地以外的來源,則為 。

下列參數會針對已卸除的數據報進行記錄:

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
PacketSize
已卸除之封包的大小。
位址
封包來源的IP位址。

封包來源的IP埠號碼。
原因
捨棄封包的錯誤碼或原因。

 

指出的連線

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

Level = 5 (詳細資訊)

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

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

針對從傳輸事件指示的連線,會記錄下列參數:

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
位址
遠端IP位址。

遠端IP埠號碼。

 

指出的數據

事件識別碼 = 37

Level = 5 (詳細資訊)

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

  • 應用程式會在連接的套接字上接收數據。

針對從傳輸事件指出的數據,會記錄下列參數:

參數 描述
程式
擁有進程標識碼。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
指出的 位元組
套接字上收到的位元組數目。

 

從傳輸指出的數據

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

Level = 5 (詳細資訊)

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

  • 應用程式會張貼接收要求並接收數據。

針對從傳輸事件指出的數據,會記錄下列參數:

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。
位址
遠端IP位址。

遠端IP埠號碼。
指出的 位元組
套接字上收到的位元組數目。

 

從傳輸指出的中斷連線

事件識別碼 = 41

Level = 5 (詳細資訊)

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

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

下列參數會記錄為從傳輸事件指出的中斷連線:

參數 描述
程式
進程的核心 EPROCESS 結構位址。
端點
Winsock 核心套接字位址,用來作為套接字的唯一標識碼。

 

winsock 追蹤 控制

Winsock 追蹤

Winsock 目錄變更追蹤詳細數據

Winsock 追蹤層級