style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-5935214489160196"
data-ad-slot="8007533899">

剖析Linux上的kHttpd網頁伺服

int MainDaemon(void *cpu_poing)MainDaemon0MainDaemon1QueueManagement DaemonMainDaemonint WaitForHeaders(CPUNR)(waitqueue_decode.bmp) int WaitForHeaders(CPUNR) 1.Http Request 2.kHttpdUser Mode Web Server int WaitForHeaders(CPUNR) 2DecodeHeader 4~8IsForUserSpace!=0UserspaceQueue 9~12IsForUserSpace==0DataSendingQueue static int DecodeHeader(const int CPUNR, struct http_request *Request) 2http 3URL 4Mime 5~10MimeUser Mode Web ServerIsForUserSpace 11~15URLUser Mode Web ServerIsForUserSpace 16~28kHttpdkHttpd 18~22cache 23~27ClientcacheClientcache (Request)MainDaemonint WaitForHeaders(CPUNR) 1.ClientcacheMainDaemon(stack_send_httpdheader.bmp)Send304()SendBuffer() 2.MainDaemonSendHTTPHeader(Request)HTTPDataSending(CPUNR)SendBuffer_async()(stack_send_httpheader.bmp) 3.MainDaemonint Userspace(const int CPUNR)User Mode Web Server int Userspace(const int CPUNR) 2AddSocketToAcceptQueueUser Mode Web Server 4User Mode Web Server 8~9User Mode Web ServerHttp static int AddSocketToAcceptQueue(struct socket *sock,const int Port) User Mode Web ServerUser Mode Web Server 4.kHttpd key inkHttpd(stop)(MainDaemon.bmp)sysctl_khttpd_stop1MainDaemon0MainDaemon1Management Daemonkey in(unload)(managementdaemon.bmp)Management Daemon 5. […]

Windows NT系統介紹

<Step 3>WinICEidt2E0008:8013CBC0 KiReleaseSpinLock (NTOSKRNL)WinICE2EICENT2E2E () ICE2ENT DDK DriverWinICE()(DriverSource Code) SIDTWINICEWINICE WinICE Int 2d :0008:8013ddfc Int 2e :0008:8013cbc0 Int 31 : 0008:806b8044 Int 33 : 0008:80645dc4 Int 34 : 0008:806b9044 Int 37 : 0008:8013c336 WinICE Int 2d : 0008:8053c462 Int 2e : 0008:8053c471 Int 31 : 0008:8053c480 Int 33 : 0008:8053c48f Int 34 : 0008:8053c49e Int 37 : 0008:8053c4bc () 2E NTDLL.DLL2B2C : NtSetHighWaitLowThread 77F57F7C: CD 2B int 2Bh 77F57F7E: C3 ret NtSetLowWaitHighThread 77F58020: CD 2C int 2Ch 77F58022: C3 ret USER32.DLL IsWindow ……() 77E52244 8B442404 MOV EAX, 77E52248 CD2B INT 2B 2D31NT NTNT2E2ENTKernelUser Mode2EKernelNT API2E2EAPI? […]