Мониторинг событий TCP с помощью procmon - PullRequest
0 голосов
/ 24 февраля 2020

Я использую Procmon для сбора событий из разных приложений. Кажется, я видел некоторые проблемы с точностью при использовании procmon. Два примера включают события TCP и Skype для WinSCP.

После сбора событий во время передачи файла в WinSCP или Skype я включаю трассировки стека и определяю символы стека при сохранении в файл трассировки XML. В событиях TCP я не вижу ни одного пути, связанного с исполняемым файлом WinSCP или какой-либо из его библиотек:


<event>
<ProcessIndex>1335</ProcessIndex>
<Time_of_Day>9:37:51.0404823 AM</Time_of_Day>
<Process_Name>WinSCP.exe</Process_Name>
<PID>5572</PID>
<Operation>TCP Send</Operation>
<Path>DESKTOP.localdomain:49891 -&gt; garuda.myserver.edu:ssh</Path>
<Result>SUCCESS</Result>
<Detail>Length: 32816, startime: 4856254, endtime: 4856256, seqnum: 0, connid: 0</Detail>
<TID>0</TID>
<Parent_PID>5072</Parent_PID>
<stack>
<frame>
<depth>0</depth>
<address>0xfffff8031db2079b</address>
<path>C:\Windows\system32\ntoskrnl.exe</path>
<location>WmiTraceMessageVa + 0x2adb</location>
</frame>

<frame>
<depth>1</depth>
<address>0xfffff8090e2ca404</address>
<path>C:\Windows\System32\drivers\tcpip.sys</path>
<location>tcpip.sys + 0x5a404</location>
</frame>

<frame>
<depth>2</depth>
<address>0xfffff8090e2c57c5</address>
<path>C:\Windows\System32\drivers\tcpip.sys</path>
<location>tcpip.sys + 0x557c5</location>
</frame>

<frame>
<depth>3</depth>
<address>0xfffff8090e2c517c</address>
<path>C:\Windows\System32\drivers\tcpip.sys</path>
<location>tcpip.sys + 0x5517c</location>
</frame>

<frame>
<depth>4</depth>
<address>0xfffff8090e2bb390</address>
<path>C:\Windows\System32\drivers\tcpip.sys</path>
<location>tcpip.sys + 0x4b390</location>
</frame>

<frame>
<depth>5</depth>
<address>0xfffff8090e2ba9f1</address>
<path>C:\Windows\System32\drivers\tcpip.sys</path>
<location>tcpip.sys + 0x4a9f1</location>
</frame>

<frame>
<depth>6</depth>
<address>0xfffff8090e2ba70d</address>
<path>C:\Windows\System32\drivers\tcpip.sys</path>
<location>tcpip.sys + 0x4a70d</location>
</frame>

<frame>
<depth>7</depth>
<address>0xfffff8090e2b9a52</address>
<path>C:\Windows\System32\drivers\tcpip.sys</path>
<location>tcpip.sys + 0x49a52</location>
</frame>

<frame>
<depth>8</depth>
<address>0xfffff8090e2b8bb7</address>
<path>C:\Windows\System32\drivers\tcpip.sys</path>
<location>tcpip.sys + 0x48bb7</location>
</frame>

<frame>
<depth>9</depth>
<address>0xfffff8031d8cbc3b</address>
<path>C:\Windows\system32\ntoskrnl.exe</path>
<location>KeExpandKernelStackAndCalloutEx + 0xbb</location>
</frame>

<frame>
<depth>10</depth>
<address>0xfffff8031d8cbb9d</address>
<path>C:\Windows\system32\ntoskrnl.exe</path>
<location>KeExpandKernelStackAndCalloutEx + 0x1d</location>
</frame>

<frame>
<depth>11</depth>
<address>0xfffff8090e301b17</address>
<path>C:\Windows\System32\drivers\tcpip.sys</path>
<location>tcpip.sys + 0x91b17</location>
</frame>

<frame>
<depth>12</depth>
<address>0xfffff8090e301193</address>
<path>C:\Windows\System32\drivers\tcpip.sys</path>
<location>tcpip.sys + 0x91193</location>
</frame>

<frame>
<depth>13</depth>
<address>0xfffff8090e0850de</address>
<path>C:\Windows\system32\drivers\ndis.sys</path>
<location>NdisMIndicateReceiveNetBufferLists + 0xbce</location>
</frame>

<frame>
<depth>14</depth>
<address>0xfffff8090e084db1</address>
<path>C:\Windows\system32\drivers\ndis.sys</path>
<location>NdisMIndicateReceiveNetBufferLists + 0x8a1</location>
</frame>

<frame>
<depth>15</depth>
<address>0xfffff8090e0856b3</address>
<path>C:\Windows\system32\drivers\ndis.sys</path>
<location>NdisMIndicateReceiveNetBufferLists + 0x11a3</location>
</frame>

<frame>
<depth>16</depth>
<address>0xfffff8090e084abe</address>
<path>C:\Windows\system32\drivers\ndis.sys</path>
<location>NdisMIndicateReceiveNetBufferLists + 0x5ae</location>
</frame>

<frame>
<depth>17</depth>
<address>0xfffff8090fad6156</address>
<path>C:\Windows\System32\drivers\e1i63x64.sys</path>
<location>DriverEntry + 0x12686</location>
</frame>

<frame>
<depth>18</depth>
<address>0xfffff8090fad73e3</address>
<path>C:\Windows\System32\drivers\e1i63x64.sys</path>
<location>DriverEntry + 0x13913</location>
</frame>

<frame>
<depth>19</depth>
<address>0xfffff8090fade315</address>
<path>C:\Windows\System32\drivers\e1i63x64.sys</path>
<location>DriverEntry + 0x1a845</location>
</frame>

<frame>
<depth>20</depth>
<address>0xfffff8090fade623</address>
<path>C:\Windows\System32\drivers\e1i63x64.sys</path>
<location>DriverEntry + 0x1ab53</location>
</frame>

<frame>
<depth>21</depth>
<address>0xfffff8090fadddb8</address>
<path>C:\Windows\System32\drivers\e1i63x64.sys</path>
<location>DriverEntry + 0x1a2e8</location>
</frame>

<frame>
<depth>22</depth>
<address>0xfffff8090e07a5fd</address>
<path>C:\Windows\system32\drivers\ndis.sys</path>
<location>NdisFOidRequest + 0x29d</location>
</frame>

<frame>
<depth>23</depth>
<address>0xfffff8031d938232</address>
<path>C:\Windows\system32\ntoskrnl.exe</path>
<location>KeInsertQueueDpc + 0xdc2</location>
</frame>

<frame>
<depth>24</depth>
<address>0xfffff8031d93792f</address>
<path>C:\Windows\system32\ntoskrnl.exe</path>
<location>KeInsertQueueDpc + 0x4bf</location>
</frame>

<frame>
<depth>25</depth>
<address>0xfffff8031da27afa</address>
<path>C:\Windows\system32\ntoskrnl.exe</path>
<location>KeSynchronizeExecution + 0x268a</location>
</frame>
</stack>
</event>

Как видите, все фреймы ссылаются на ядро ​​Windows. Это означает, что исполняемый файл каким-то образом проходит процедуру ядра, но я не могу сказать, какая это строка кода (или адрес возврата). Любые объяснения этому?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...