freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

遠(yuǎn)程監(jiān)控畢業(yè)設(shè)計(jì)論文-文庫(kù)吧資料

2024-12-11 16:55本頁(yè)面
  

【正文】 能夠添加、刪除或修改它的環(huán)境塊中的變量,而這個(gè)變化卻不會(huì)影響父進(jìn)程的環(huán)境塊。但是,父進(jìn)程能夠控制子進(jìn)程繼承什么環(huán)境變量。如果進(jìn)程創(chuàng)建時(shí)將自動(dòng)建立主線程,主線程本身又可以生成新的線程。 第 17 頁(yè) 共 52 頁(yè) 遠(yuǎn)程進(jìn)程監(jiān)控的 設(shè)計(jì) 與實(shí)現(xiàn) Windows 是一個(gè)多任務(wù)系統(tǒng), 同一時(shí)間可以有多個(gè)程序在內(nèi)存中運(yùn)行 ,即多個(gè)進(jìn)程 。再以共享的方式打開文件,文件指針指向文件頭部,將其內(nèi)容讀入內(nèi)存,最后以每個(gè)包 4K 的大小發(fā)送出去,直至整個(gè)文件發(fā)送完畢。在欲進(jìn)行文件上傳或下載操作時(shí),控制端首先通知被控制端,并且把要上傳、下載的文件信息傳送給被控制端。這幾種排列方式都是模仿的 Windows系統(tǒng)中文件的排列方式,以適應(yīng)人們的使用習(xí)慣。 LPCSTR lpCmdLine為需要執(zhí)行的命令行, UINT uCmdShow 為命令執(zhí)行的方式, SW_HIDE 為后臺(tái)隱藏執(zhí)行,SW_SHOW 為前臺(tái)執(zhí)行。 如果重命名成功則返回 TRUE,否則返回 FALSE; 刪除: function DeleteFile(const FileName: string): Boolean。在此操作中,復(fù)制文件與剪切文件不同的是,剪切文件還多了一個(gè)操作,就是拷貝成功完成后,把源文件刪除。因此,在執(zhí)行目錄 刪除操作時(shí),首先要把目錄的屬性設(shè)置為無(wú)任何屬性,再對(duì)目錄內(nèi)的所有文件進(jìn)行遍列、刪除,如果目錄內(nèi)還有其它目錄,則在遍列的同時(shí),對(duì)其功能進(jìn)行遞歸調(diào)用。將遍列的結(jié)果以文本的形式存入一個(gè) TStringList 類型函數(shù)內(nèi),再把它發(fā)送給控制端,控制端將接受到的文本進(jìn)行分離,分別列出文件夾與文件。它可以取下列值: 0 驅(qū)動(dòng)器類型無(wú)法確定; 1 指定的根目錄不存在; DRIVE_REMOVEABLE 該驅(qū)動(dòng)器是可移動(dòng)驅(qū)動(dòng)器; DRIVE_FIXED 該驅(qū)動(dòng)器是固定驅(qū)動(dòng)器; DRIVE_REMOTE 該驅(qū)動(dòng)器是遠(yuǎn)程(網(wǎng)絡(luò))驅(qū)動(dòng)器; 第 16 頁(yè) 共 52 頁(yè) DRIVE_CDROM 該驅(qū)動(dòng)器是 CDROM 驅(qū)動(dòng)器; DRIVE_RAMDISK 該驅(qū)動(dòng)器是虛擬驅(qū)動(dòng)器 (RAM)。API 函數(shù) GetDriveType 可以檢測(cè)驅(qū)動(dòng)器所屬的類型。在網(wǎng)絡(luò)錯(cuò)誤發(fā)生時(shí),應(yīng)用程序可以首先使用 WSAGetLastError()函數(shù)了解問(wèn)題所在,然后調(diào)用 WSASetLastError()函數(shù)將錯(cuò)誤號(hào)設(shè)置成 0,從而重置當(dāng)前進(jìn)程的網(wǎng)絡(luò)錯(cuò)誤。 WSAGetLastError()函 數(shù)返回的就是最后一次發(fā)生的 Winsock 錯(cuò)誤的錯(cuò)誤碼。 Procedure WSASetLastError(iError: Integer)。 Function WSAGetLastError: Integer。網(wǎng)絡(luò)程序每調(diào)用一次 WSAStartup(), Winsock 的計(jì)數(shù)器就會(huì)加 1,使用 WSACleanup()這個(gè)函數(shù)在這個(gè)計(jì)數(shù)器上執(zhí)行減 1操作。 函數(shù)調(diào)用成功,返回 0,否則返回 SOCKET_ERROR。 (4) 關(guān)閉 Socket 及錯(cuò)誤處理 Function WSACleanup: Integer。 MSG_PEEK 代表將資料拷貝到使用者提供的 Buf,但是資料并不從系統(tǒng)的緩沖區(qū)中移走; 0 則表示拷貝并移走。stdcall。 var Buf。 如果函數(shù)調(diào)用成功,返回實(shí)際發(fā)送的字節(jié)數(shù),否則返回 SOCKET_ERROR。stdcall。 var Buf。 end。 end。 Result := False。 begin CloseSocket(skt)。使用的參數(shù)中包括了服務(wù)器的地址信息。 := i_addr( IP )。 := PF_INET。 Exit。 if(skt = INVALID_SOCKET) then begin WSACleanup()。 begin skt := socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)。 IP: PChar): Boolean。在提出連接請(qǐng)求之前,客戶端也需要進(jìn)行初始化套接字、創(chuàng)建套接字操作,然后再連接服務(wù)端。在傳統(tǒng)的正向連接型Client/Server 模型中,服務(wù)端用于接收命令并執(zhí)行命令,再把命令的執(zhí)行結(jié)果回傳給客戶端,以完成一次成功的遠(yuǎn)程控制操作。 end。 end。 Result := False。 // 接受連接請(qǐng)求 if(SSkt = INVALID_SOCKET) then begin CloseSocket(skt)。 begin sa_len := SizeOf( sa )。 var sa: TSockAddr。 end。 end。 Result := False。 if(listen(skt, 999) 0) then // 監(jiān)聽端口,最大連接數(shù)為 999; begin CloseSocket(skt)。 Exit。 WSACleanup()。 if(bind(skt, SAddr, sizeof(SAddr)) = SOCKET_ERROR) then // 執(zhí)行端口綁定 。 := htons( port )。 end。 Result := False。 第 12 頁(yè) 共 52 頁(yè) begin skt := socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)。 function ServerSocketActive(port: integer): Boolean。 end。 begin Result := False。 var WSAData: TWSADATA。其具體實(shí)現(xiàn)代碼如下: function InitSocket: Boolean。 (1)服務(wù)端實(shí)現(xiàn)端口監(jiān)聽,用于等待客戶端的連接請(qǐng)求。接收數(shù)據(jù)與發(fā)送數(shù)據(jù)兩個(gè)線程同步,并行處理數(shù)據(jù)。實(shí)現(xiàn)手段: delphi 環(huán)境下,使用底層 Socket 開發(fā)實(shí)現(xiàn)。 模式 1與模式 2的結(jié)合點(diǎn)在于最終的數(shù)據(jù)處理都由服務(wù) 端監(jiān)聽端口實(shí)現(xiàn),當(dāng)它接收到連接請(qǐng)求或響應(yīng)數(shù)據(jù)時(shí),都會(huì)要求進(jìn)行密碼驗(yàn)證,于是模式 1 與模式 2 通過(guò)它有機(jī)地結(jié)合在一起,使得三種連接方式密碼驗(yàn)證都得以實(shí)現(xiàn)。服務(wù)端接收到數(shù)據(jù)信息后,立即對(duì)自身的驗(yàn)證碼進(jìn)行相同加密,再將加密后的密碼與接收到的信息進(jìn)行對(duì)比。當(dāng)客戶端接收到連接請(qǐng)求時(shí),就馬上對(duì)請(qǐng)求連接者的身分 進(jìn)行識(shí)別。 第 10 頁(yè) 共 52 頁(yè) 圖 密碼驗(yàn)證模式 1 密碼驗(yàn)證模式 2如圖 : 圖 密碼驗(yàn)證模式 2 此密碼驗(yàn)證模式與模式 1最大的區(qū)別就在于:模式 1中,是由客戶端主動(dòng)提出連接請(qǐng)求;模式 2中,卻是由服務(wù)端主動(dòng)提出連接請(qǐng)求。服務(wù)端接收到信息后,立刻對(duì)自己的驗(yàn)證碼使用同樣的加密算法進(jìn)行加密(因?yàn)榧用芩惴ㄊ遣豢赡娴?,所以不能采用解密的辦法),再將加密結(jié)果與接收到的信息進(jìn)行對(duì)比。由于密碼要在網(wǎng)絡(luò)中進(jìn)行傳送,這就涉及到了密碼信息泄露的可能性,網(wǎng)絡(luò)中傳輸?shù)拿艽a很可能被黑客進(jìn)行嗅探攻擊而泄漏。 此密碼驗(yàn)證模式中,客戶端主動(dòng)向服務(wù)端提出連接請(qǐng)求。 本文 采用 了三種不同的連接方式,所以也得相應(yīng)采取不同的密碼驗(yàn)證模式。由于連接模式的多樣性,密碼驗(yàn)證也具有了多樣性。 此模型中,服務(wù)端兩種模式并發(fā)執(zhí)行,所以不用選擇服務(wù)模式。 第 9 頁(yè) 共 52 頁(yè) 圖 網(wǎng)絡(luò)連接模型 (3)當(dāng)客戶端與服務(wù)端都不能直接訪問(wèn)對(duì)方的時(shí)候,服務(wù)端將本機(jī)監(jiān)聽的端口映射為公網(wǎng)主機(jī) I的 C_Port,再由客戶端向 C_Port 提出連接請(qǐng)求(適用于 ①②③④⑤,應(yīng)用于⑤ )。 (1)當(dāng)客戶端能夠直接訪問(wèn)服務(wù)端時(shí),由客戶端向服務(wù)端監(jiān)聽的端口請(qǐng)求連接 (應(yīng)用于①②③)??蛻舳瞬捎眠@兩種模式屬于互斥式,即當(dāng)采用其一模式時(shí),另一種模式失效;服務(wù)端的兩種模式并發(fā)執(zhí)行,監(jiān)聽的端口可以直接與客戶端建立連接,也可以接收服務(wù)端主動(dòng)連接模式中端口轉(zhuǎn)發(fā)過(guò)來(lái)的數(shù)據(jù)。這個(gè)模型既能夠?qū)崿F(xiàn)五種網(wǎng)絡(luò)環(huán)境關(guān)系下的遠(yuǎn)程控制,又要盡可能不降低執(zhí)行效率。 通過(guò)對(duì) 數(shù)據(jù)轉(zhuǎn)發(fā)機(jī)制 的 設(shè)計(jì) ,就可以建立所需要的網(wǎng)絡(luò)遠(yuǎn)程控制軟件模型了。其數(shù)據(jù) 轉(zhuǎn)發(fā)機(jī)制 如圖 所示: 圖 數(shù)據(jù)轉(zhuǎn)發(fā)模型 通過(guò)數(shù)據(jù)轉(zhuǎn)發(fā) ,內(nèi)網(wǎng)主機(jī)的 port1 就映射到了公網(wǎng)主機(jī)的 port3 端口上了,其它的主機(jī)只要訪問(wèn)公網(wǎng)主機(jī) I的 port3 端口,就能夠訪問(wèn)到內(nèi)網(wǎng)主機(jī)的 port1。它能實(shí)現(xiàn) ①②④ 關(guān)系的計(jì)算機(jī)之間的通信,但是在目前的遠(yuǎn)程控制軟件中較少使用,也無(wú)法滿足實(shí)際需求。它相對(duì) 第 8 頁(yè) 共 52 頁(yè) 于正向連接而存在,并且由客戶端監(jiān)聽端口,服務(wù)端主動(dòng)連接客戶端實(shí)現(xiàn)網(wǎng)絡(luò)通信,進(jìn)而實(shí)現(xiàn)遠(yuǎn)程控制。這也正是當(dāng)前眾多遠(yuǎn)程控制軟件不能滿足需求的原因所在。當(dāng)前許多著名的遠(yuǎn)程控制軟件都使用這種模式,對(duì)于處于 ①②③ 網(wǎng)絡(luò)關(guān)系的計(jì)算機(jī),可以輕松實(shí)現(xiàn)網(wǎng)絡(luò)遠(yuǎn)程控制。 為了適應(yīng)這幾種關(guān)系, Client/Server 模型分化出了兩種模式。 計(jì)算機(jī) A( Client)與計(jì)算機(jī) B( Server)所處網(wǎng)絡(luò)環(huán)境關(guān)系分為以下五種情況:① 同一內(nèi)網(wǎng); ② 同為公網(wǎng); ③ 內(nèi)網(wǎng) ??公網(wǎng); ④ 公網(wǎng) ??內(nèi)網(wǎng); ⑤ 內(nèi)網(wǎng) A??內(nèi)網(wǎng)B。 Client/Server 模型分析 Client/Server 模型是非對(duì)等 關(guān)系 ,客戶發(fā)出服務(wù)請(qǐng)求,服務(wù)器作出響應(yīng),提供服務(wù),即所謂的 請(qǐng)求驅(qū)動(dòng) 。由于自身的特點(diǎn),它成為進(jìn)行網(wǎng)絡(luò)廣播的首選協(xié)議。 由于 UDP 協(xié)議在傳送數(shù)據(jù)過(guò)程中沒(méi)有建立連接,也不進(jìn)行檢查,因此在優(yōu)良的網(wǎng)絡(luò)環(huán)境中,其工作效率較 TCP 協(xié)議要高。 UDP 協(xié)議中,每個(gè)數(shù)據(jù)包成為“數(shù)據(jù)報(bào)”,它的包頭只包括幾個(gè)域,主要是地址信息、包的長(zhǎng)度和校驗(yàn)信息。這一點(diǎn)必須注意。 協(xié)議說(shuō)明 UDP 的全稱是 User Datagram Protocol,即用戶數(shù)據(jù)報(bào)協(xié)議。這種方法所需的網(wǎng)絡(luò)開銷較 大,可是數(shù)據(jù)傳輸?shù)目煽啃钥梢员WC。這一點(diǎn)如果和 UDP 協(xié)議進(jìn)行比較就 第 7 頁(yè) 共 52 頁(yè) 會(huì)看得比較清楚。 協(xié)議說(shuō)明 TCP 的全稱是 Transmission Control Protocol,即傳輸控制協(xié)議。它是一個(gè)真正的開放系統(tǒng),該協(xié)議族的定義及其多種實(shí)現(xiàn)可以在公開的場(chǎng)合免費(fèi)得到 。 第 6 頁(yè) 共 52 頁(yè) 圖 Client/Server 網(wǎng)絡(luò)模型 TCP/IP 協(xié)議族分析 在眾多的協(xié)議中, TCP/IP 協(xié)議的應(yīng)用是最為廣泛的,已經(jīng)成為了事實(shí)上的工業(yè)標(biāo)準(zhǔn),主要用于廣域網(wǎng)( WAN)和局域網(wǎng)( LAN)。最后再調(diào)用 WSACleanup()恢復(fù)套接字 ( WSAStartup()函數(shù)使用之后 Winsock內(nèi)部計(jì)數(shù)器就會(huì)加 1,使 用 WSACleanup()函數(shù)在這個(gè)計(jì)數(shù)器上執(zhí)行減 1 操作 )。連接一旦建立,客戶機(jī)和服務(wù)器之間就可以通過(guò)調(diào)用基本的網(wǎng)絡(luò) I/O 函數(shù) send()、 recv()來(lái)發(fā)送和接收數(shù)據(jù)。收到客戶機(jī)請(qǐng)求以后,服務(wù)器調(diào)用 accept()函數(shù)來(lái)決定是否接受該連接。在其工作過(guò)程中,必須首先啟動(dòng)服務(wù)器端,通過(guò)調(diào)用 WSAStartup()函數(shù)初始化套接字,再調(diào)用 socket()函數(shù)創(chuàng)建一個(gè) socket 對(duì)象,然后調(diào)用 bind()函數(shù)將該 socket對(duì)象和本地網(wǎng)絡(luò)地址綁定在一起,再調(diào)用 listen()函數(shù)使該 socket 對(duì)象處于偵聽狀態(tài),并規(guī)定它的最大請(qǐng)求的數(shù)量。 網(wǎng)絡(luò)遠(yuǎn)程控制中 涉及的數(shù)據(jù)信息量相當(dāng)大,而且要求有較高的可靠性,因此采用字節(jié)流套接字。數(shù)據(jù)報(bào)套接字面向無(wú)連接型,傳輸不保證順序性、可靠性和無(wú)重復(fù)性,因此適合在涉及少量信息傳遞的情況。 Socket 的協(xié)議分為以下三種類型:字節(jié)流套接字( SOCK_STREAM),數(shù)據(jù)報(bào)套接字(SOCK_DGRAM),原始數(shù)據(jù)報(bào)套接字 (SOCK_RAM)。利用它可以構(gòu)造任意的跨操作系統(tǒng),跨網(wǎng)絡(luò)協(xié)議的分布式處理系統(tǒng)。 Socket 最初是由 Berkley 分校開發(fā)的,它是在 UNIX 環(huán)境下的一個(gè)編程接口。 本文最后詳細(xì)介紹了此系統(tǒng)中創(chuàng)造的內(nèi)核線程守護(hù) 第 5 頁(yè) 共 52 頁(yè) 功能,程序 指紋的設(shè)計(jì),自
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1