已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机网络安全实验报告实验序号:3 实验项目名称:网络安全编程(二)学号姓名专业、班实验地点指导教师实验时间2011-10-11一、实验目的及要求1. 了解Windows的内部机制;2学习Windows下的网络安全编程;3掌握文件系统编程、定时器编程、驻留程序编程、多线程编程。二、实验设备(环境)及要求软件开发平台:VC+ 6.0三、实验内容与步骤1、编写程序,实现添加系统用户的功能,可参考案例proj3_15.cpp;2、编写程序,实现自动获取系统时间的功能,可参考案例proj3_17.cpp;3、参考案例proj3_18.cpp,练习定时器编程;4、参考案例proj3_20.cpp,练习自动内存驻留程序的编程;5、参考案例proj3_21.cpp及proj3_22.cpp,练习多线程编程,并分析出案例proj3_21.cpp及proj3_22.cpp的异同。四、实验结果与数据处理4.1添加系统用户:编译并执行程序,建立用户XZJIE_PC,在DOS下用命令“net user”来查看系统添加了新用户XZJIE_PC,如图4.1.1所示。图4.1.1也可以进入控制面板的“用户账户”中进行验证,如图4.1.2所示。图4.1.24.2自动获取系统时间:图4.24.3定时器编程:此题直接运行CPP程序会出现执行错误。解决方法是要建一个空的Win32 Application 工程,然后再建一个C+ source File输入程序代码,编译并执行程序,我们看到系统会弹出一个windows窗口,窗口的颜色会以蓝色和红色交替变换,如图4.3.1、图4.3.2所示。图4.3.1图4.3.24.4自动内存驻留程序:这题跟4.3一样也是要先建一个空的Win32 Application 工程,然后再建一个C+ source File输入程序代码,编译并执行程序,得到程序执行结果是自动新建一个txt文件,并在任务管理器中可查看到该程序的进程,如图4.4.1、图4.4.2所示。图4.4.1图4.3.24.5多线程编程直接编译程序proj3_21.cpp和proj3_22.cpp,会出现错误。因为基于控制台的应用程序,默认是单线程的执行方式,需要修改工程的配置信息为多线程执行方式。如图5.1.1所示。图5.1.1运行程序proj3_21.cpp,三个线程分别算出了1到10所有整数的和、1到11所有整数的和、以及1到12所有整数的和,如图5.1.2所示:图5.1.2运行程序proj3_22.cpp,程序功能是三个线程共享全局变量x,三个线程都给变量x做加1的操作,如图5.1.3所示:图5.1.3五、分析与讨论通过这次实验初步了解了Windows的内部机制 ,并且学习Windows下的网络安全编程。例如通过实验一学会了怎样用“net user”命令在系统中添加一个用户,这在忘记系统密码,然后想要进入计算机系统是相当实用的命令。实验五是关于多线程编程,多线程在实际开发工作中是非常重要的,不但可以有效提高CPU利用率,还可以通过采用多线程技术,并设置各个现成的优先级来调整工作的进度。实验五中案例proj3_21.cpp及proj3_22.cpp的相同之处在于:两个程序都是利用多线程技术进行编程。不同的是,程序proj3_21.cpp是三个线程独立做不同的事情,而程序proj3_22.cpp是三个线程做同一件事情,三个线程共享一些资源。六、教师评语签名:日期:成绩附源程序清单:/案例名称:添加系统用户/程序名称:proj3_15.cpp#include #include main()char * szCMD = net user zhoup_pc /add;BOOL bSuccess;PROCESS_INFORMATION piProcInfo;STARTUPINFO Info;Info.cb=sizeof(STARTUPINFO);Info.lpReserved=NULL;Info.lpDesktop=NULL;Info.lpTitle=NULL;Info.cbReserved2=0;Info.lpReserved2=NULL;bSuccess=CreateProcess(NULL,szCMD,NULL,NULL,false,NULL,NULL,NULL,&Info,&piProcInfo);if(!bSuccess)printf(创建进程失败!);return 1;/案例名称:系统时间/程序名称:proj3_17.cpp#include #include main()SYSTEMTIME sysTime;GetLocalTime(&sysTime);printf(%d年%d月%d日%d时%d分%d秒n,sysTime.wYear,sysTime.wMonth,sysTime.wDay,sysTime.wHour,sysTime.wMinute,sysTime.wSecond);return 1;/案例名称:定时器编程/程序名称:proj3_18.cpp#include WNDCLASS wc;HWND h_wnd;MSG msg;/* 消息处理函数wndProc的声明*/long WINAPI WindowProc(HWND,UINT,WPARAM,LPARAM);/* winMain 函数的声明*/int PASCAL WinMain(HINSTANCE h_CurInstance, HINSTANCE h_PrevInstance,LPSTR p_CmdLine,int m_Show)/*初始化wndclass结构变量*/wc.lpfnWndProc =WindowProc;wc.hInstance =h_CurInstance;wc.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);wc.lpszClassName =TheMainClass;/* 注册WndClass结构变量*/RegisterClass(&wc);/* 创建窗口*/h_wnd=CreateWindow(TheMainClass,Our first Window,WS_OVERLAPPEDWINDOW,0,0,400,500,0,0,h_CurInstance,0);/* 显示窗口*/ShowWindow(h_wnd,SW_SHOWMAXIMIZED);/*消息循环*/while(GetMessage(&msg,NULL,0,0)DispatchMessage(&msg);return (msg.wParam );#define ID_TIMER 1/* 定义消息处理函数*/long WINAPI WindowProc(HWND h_wnd,UINT WinMsg, WPARAM w_param,LPARAM l_param)static BOOL fFlipFlop = FALSE ;HBRUSH hBrush ;HDC hdc ;PAINTSTRUCT ps ;RECT rc ;switch (WinMsg)case WM_CREATE:SetTimer (h_wnd, ID_TIMER, 1000, NULL) ;return 0 ;case WM_TIMER :MessageBeep (-1) ; fFlipFlop = !fFlipFlop ;InvalidateRect (h_wnd, NULL, FALSE) ;return 0 ;case WM_PAINT :hdc = BeginPaint (h_wnd, &ps) ;GetClientRect (h_wnd, &rc) ;hBrush = CreateSolidBrush (fFlipFlop ? RGB(255,0,0) : RGB(0,0,255) ;FillRect (hdc, &rc, hBrush) ;EndPaint (h_wnd, &ps) ;DeleteObject (hBrush) ;return 0 ;case WM_DESTROY :KillTimer (h_wnd, ID_TIMER) ;PostQuitMessage (0) ;return 0 ;return DefWindowProc(h_wnd,WinMsg,w_param,l_param);/案例名称:自动内存驻留程序的编写/程序名称:proj3_20.cpp#include WNDCLASS wc;HWND h_wnd;MSG msg;/* 消息处理函数wndProc的声明*/long WINAPI WindowProc(HWND,UINT,WPARAM,LPARAM);/* winMain 函数的声明*/int PASCAL WinMain(HINSTANCE h_CurInstance, HINSTANCE h_PrevInstance,LPSTR p_CmdLine,int m_Show)/MessageBox(NULL,p_CmdLine,MB_OK);BOOL bSuccess;PROCESS_INFORMATION piProcInfo;STARTUPINFO Info;Info.cb = sizeof(STARTUPINFO);Info.lpReserved = NULL;Info.lpDesktop = NULL;Info.lpTitle = NULL;Info.cbReserved2 = 0;Info.lpReserved2 = NULL;char lpAppName100;strcpy(lpAppName, notepad.exe );/MessageBox(NULL,lpAppName,MB_OK);if(strcmp(p_CmdLine,)!=0) strcat(lpAppName, p_CmdLine);/MessageBox(NULL,lpAppName,MB_OK);bSuccess=CreateProcess(NULL,lpAppName,NULL,NULL,false,NULL,NULL,NULL,&Info,&piProcInfo);/*初始化wndclass结构变量*/wc.lpfnWndProc =WindowProc;wc.hInstance =h_CurInstance;wc.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);wc.lpszClassName =TheMainClass;/* 注册WndClass结构变量*/RegisterClass(&wc);/* 创建窗口*/h_wnd=CreateWindow(TheMainClass,Our first Window,WS_OVERLAPPEDWINDOW,0,0,400,500,0,0,h_CurInstance,0);/* 显示窗口*/ShowWindow(h_wnd,SW_HIDE);/*消息循环*/while(GetMessage(&msg,NULL,0,0)DispatchMessage(&msg);return (msg.wParam );/* 定义消息处理函数*/long WINAPI WindowProc(HWND h_wnd,UINT WinMsg, WPARAM w_param,LPARAM l_param)switch (WinMsg)case WM_DESTROY :PostQuitMessage (0) ;return 0 ;return DefWindowProc(h_wnd,WinMsg,w_param,l_param);/案例名称:独立线程程序的编写/程序名称:proj3_21.cpp#include #include #include int addem(int);int main(int argc, char *argv)_beginthread(void (*)(void *)addem, 0, (void *)10); _beginthread(void (*)(void *)addem, 0, (void *)11);addem(12);return 0;int addem(int count)inti;long sum;sum = 0;for (i=0; i=count; +i) printf(The value of %d is %dn, count, i);sum += i;printf(The sum is %dn, sum);return 0;/案例名称:多个线程共享参数/程序名称:proj3_22.cpp#include
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年家庭农场农业技术引进与培训
- 上海立达学院《安全检测与监控》2025-2026学年第一学期期末试卷(A卷)
- 2026年餐饮食材长期供货合同(米面粮油肉菜)
- 2026年蝇蛆养殖与蛋白饲料开发
- 上海立信会计金融学院《安全工程学》2025-2026学年第一学期期末试卷(B卷)
- 2026年少数民族医药助力乡村振兴实践
- 2026年新护士健康教育能力培训
- 上海立信会计金融学院《Android 应用程序设计》2025-2026学年第一学期期末试卷(B卷)
- 大连东软信息学院《ARM 嵌入式系统》2025-2026学年第一学期期末试卷(A卷)
- 上海科学技术职业学院《阿拉伯国家概况》2025-2026学年第一学期期末试卷(A卷)
- 低压电工实操培训
- 《清肠排毒一身轻》课件
- 系统可靠性方案
- 修炼好文笔:人人都能妙笔生花
- 有限空间作业安全告知
- 国际疾病分类ICD11编码库
- 龙虎山正一日诵早晚课
- 标准化工程PPT完整全套教学课件
- 神经电生理脑电图技术考试:第二章 神经生理学真题模拟汇编(共157题)
- 城市轨道交通轨道设备运营维保方案
- 主要通风更换方案及安全技术措施
评论
0/150
提交评论