杂志信息网-创作、查重、发刊有保障。

网络嗅探器的设计与实现毕业论文

发布时间:2024-07-03 10:00:24

网络嗅探器的设计与实现毕业论文

写学生缴费系统,简单

我觉得两个都挺简单啊由于百度只让输10000字,我就不把代码全部贴出来了我觉得用VB就行啊,用VC更简单,不过有些大材小用了呵呵,说说思路吧一:根据用户个数,确定创建的数据库个数然后给各种类型的数据库以相应字段比方说如果是私聊,就定比如A向B的信息,B向A的信息,时间等然后双方向数据库储存数据双方再定时从数据库读取信息二:这个小弟愚昧,是不是直接调用DOS就可以了

文章比较长,得慢点看。转载 利用HOOK拦截封包原理 截获API是个很有用的东西,比如你想分析一下别人的程序是怎样工作的。这里我介绍一下一种我自己试验通过的方法。 首先,我们必须设法把自己的代码放到目标程序的进程空间里去。Windows Hook可以帮我们实现这一点。SetWindowsHookEx的声明如下: HHOOK SetWindowsHookEx( int idHook, // hook type HOOKPROC lpfn, // hook procedure HINSTANCE hMod, // handle to application instance DWORD dwThreadId // thread identifier ); 具体的参数含义可以翻阅msdn,没有msdn可谓寸步难行。 这里Hook本身的功能并不重要,我们使用它的目的仅仅只是为了能够让Windows把我们的代码植入别的进程里去。hook Type我们任选一种即可,只要保证是目标程序肯定会调用到就行,这里我用的是WH_CALLWNDPROC。lpfn和hMod分别指向我们的钩子代码及其所在的dll,dwThreadId设为0,表示对所有系统内的线程都挂上这样一个hook,这样我们才能把代码放到别的进程里去。 之后,我们的代码就已经进入了系统内的所有进程空间了。必须注意的是,我们只需要截获我们所关心的目标程序的调用,因此还必须区分一下进程号。我们自己的钩子函数中,第一次运行将进行最重要的API重定向的工作。也就是通过将所需要截获的API的开头几个字节改为一个跳转指令,使其跳转到我们的API中来。这是最关键的部分。这里我想截三个调用,中的send和recv、中的GetMessageA。 DWORD dwCurrentPID = 0; HHOOK hOldHook = NULL; DWORD pSend = 0; DWORD pRecv = 0; GETMESSAGE pGetMessage = NULL; BYTE btNewBytes[8] = { 0x0B8, 0x0, 0x0, 0x40, 0x0, 0x0FF, 0x0E0, 0 }; DWORD dwOldBytes[3][2]; HANDLE hDebug = INVALID_HANDLE_value; LRESULT CALLBACK CallWndProc( int nCode, WPARAM wParam, LPARAM lParam ) { DWORD dwSize; DWORD dwPIDWatched; HMODULE hLib; if( dwCurrentPID == 0 ) { dwCurrentPID = GetCurrentProcessId(); HWND hwndMainHook; hwndMainHook = ::FindWindow( 0, "MainHook" ); dwPIDWatched = ::SendMessage( hwndMainHook, (WM_USER+100), 0, 0 ); hOldHook = (HHOOK)::SendMessage( hwndMainHook, (WM_USER+101), 0, 0 ); if( dwCurrentPID == dwPIDWatched ) { hLib = LoadLibrary( "" ); pSend = (DWORD)GetProcAddress( hLib, "send" ); pRecv = (DWORD)GetProcAddress( hLib, "recv" ); ::ReadProcessMemory( INVALID_HANDLE_value, (void *)pSend, (void *)dwOldBytes[0], sizeof(DWORD)*2, &dwSize ); *(DWORD *)( btNewBytes + 1 ) = (DWORD)new_send; ::WriteProcessMemory( INVALID_HANDLE_value, (void *)pSend, (void *)btNewBytes, sizeof(DWORD)*2, &dwSize ); ::ReadProcessMemory( INVALID_HANDLE_value, (void *)pRecv, (void *)dwOldBytes[1], sizeof(DWORD)*2, &dwSize ); *(DWORD *)( btNewBytes + 1 ) = (DWORD)new_recv; ::WriteProcessMemory( INVALID_HANDLE_value, (void *)pRecv, (void *)btNewBytes, sizeof(DWORD)*2, &dwSize ); hLib = LoadLibrary( "" ); pGetMessage = (GETMESSAGE)GetProcAddress( hLib, "GetMessageA" ); ::ReadProcessMemory( INVALID_HANDLE_value, (void *)pGetMessage, (void *)dwOldBytes[2], sizeof(DWORD)*2, &dwSize ); *(DWORD *)( btNewBytes + 1 ) = (DWORD)new_GetMessage; ::WriteProcessMemory( INVALID_HANDLE_value, (void *)pGetMessage, (void *)btNewBytes, sizeof(DWORD)*2, &dwSize ); hDebug = ::CreateFile( "C:\\", GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0 ); } } if( hOldHook ,= NULL ) { return CallNextHookEx( hOldHook, nCode, wParam, lParam ); } return 0; } 上面的钩子函数,只有第一次运行时有用,就是把三个函数的首8字节修改一下(实际上只需要7个)。btNewBytes中的指令实际就是 mov eax, 0x400000 jmp eax 这里的0x400000就是新的函数的地址,比如new_recv/new_send/new_GetMessage,此时,偷梁换柱已经完成。再看看我们的函数中都干了些什么。以GetMessageA为例: BOOL _stdcall new_GetMessage( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax ) { DWORD dwSize; char szTemp[256]; BOOL r = false; //Watch here before it's executed. sprintf( szTemp, "Before GetMessage : HWND 0x%, msgMin 0x%, msgMax 0x% \r\n", hWnd, wMsgFilterMin, wMsgFilterMax ); ::WriteFile( hDebug, szTemp, strlen(szTemp), &dwSize, 0 ); //Watch over // restore it at first ::WriteProcessMemory( INVALID_HANDLE_value, (void *)pGetMessage, (void *)dwOldBytes[2], sizeof(DWORD)*2, &dwSize ); // execute it r = pGetMessage( lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax ); // hook it again *(DWORD *)( btNewBytes + 1 ) = (DWORD)new_GetMessage; ::WriteProcessMemory( INVALID_HANDLE_value, (void *)pGetMessage, (void *)btNewBytes, sizeof(DWORD)*2, &dwSize ); //Watch here after it's executed sprintf( szTemp, "Result of GetMessage is %d.\r\n", r ); ::WriteFile( hDebug, szTemp, strlen( szTemp ), &dwSize, 0 ); if( r ) { sprintf( szTemp, "Msg : HWND 0x%, MSG 0x%, wParam 0x%, lParam 0x%\r\nTime 0x%, X %d, Y %d\r\n", lpMsg->hwnd, lpMsg->message, lpMsg->wParam, lpMsg->lParam, lpMsg->time, lpMsg->, lpMsg-> ); ::WriteFile( hDebug, szTemp, strlen( szTemp ), &dwSize, 0 ); } strcpy( szTemp, "\r\n" ); ::WriteFile( hDebug, szTemp, strlen( szTemp ), &dwSize, 0 ); //Watch over return r; } 先将截获下来的参数,写入到一个log文件中,以便分析。然后恢复原先保留下来的GetMessageA的首8字节,然后执行真正的GetMessageA调用,完毕后再将执行结果也写入log文件,然后将GetMessageA的执行结果返回给调用者。 整个截获的过程就是这样。你可以把其中的写log部分改成你自己想要的操作。这里有个不足的地方是,截获动作是不能够并发进行的,如果目标进程是多线程的,就会有问题。解决办法是,可以在每次new_GetMessage中加入一个CriticalSection的锁和解锁,以使调用变为串行进行,以原始套接字的方式 截获流经本机网卡的IP数据包 从事网络安全的技术人员和相当一部分准黑客(指那些使用现成的黑客软件进行攻击而不是根据需要去自己编写代码的人)都一定不会对网络嗅探器(sniffer)感到陌生,网络嗅探器无论是在网络安全还是在黑客攻击方面均扮演了很重要的角色。通过使用网络嗅探器可以把网卡设置于混杂模式,并可实现对网络上传输的数据包的捕获与分析。此分析结果可供网络安全分析之用,但如为黑客所利用也可以为其发动进一步的攻击提供有价值的信息。可见,嗅探器实际是一把双刃剑。 虽然网络嗅探器技术被黑客利用后会对网络安全构成一定的威胁,但嗅探器本身的危害并不是很大,主要是用来为其他黑客软件提供网络情报,真正的攻击主要是由其他黑软来完成的。而在网络安全方面,网络嗅探手段可以有效地探测在网络上传输的数据包信息,通过对这些信息的分析利用是有助于网络安全维护的。权衡利弊,有必要对网络嗅探器的实现原理进行介绍。 文章正文 嗅探器设计原理 嗅探器作为一种网络通讯程序,也是通过对网卡的编程来实现网络通讯的,对网卡的编程也是使用通常的套接字(socket)方式来进行。但是,通常的套接字程序只能响应与自己硬件地址相匹配的或是以广播形式发出的数据帧,对于其他形式的数据帧比如已到达网络接口但却不是发给此地址的数据帧,网络接口在验证投递地址并非自身地址之后将不引起响应,也就是说应用程序无法收取到达的数据包。而网络嗅探器的目的恰恰在于从网卡接收所有经过它的数据包,这些数据包即可以是发给它的也可以是发往别处的。显然,要达到此目的就不能再让网卡按通常的正常模式工作,而必须将其设置为混杂模式。 具体到编程实现上,这种对网卡混杂模式的设置是通过原始套接字(raw socket)来实现的,这也有别于通常经常使用的数据流套接字和数据报套接字。在创建了原始套接字后,需要通过setsockopt()函数来设置IP头操作选项,然后再通过bind()函数将原始套接字绑定到本地网卡。为了让原始套接字能接受所有的数据,还需要通过ioctlsocket()来进行设置,而且还可以指定是否亲自处理IP头。至此,实际就可以开始对网络数据包进行嗅探了,对数据包的获取仍象流式套接字或数据报套接字那样通过recv()函数来完成。但是与其他两种套接字不同的是,原始套接字此时捕获到的数据包并不仅仅是单纯的数据信息,而是包含有 IP头、 TCP头等信息头的最原始的数据信息,这些信息保留了它在网络传输时的原貌。通过对这些在低层传输的原始信息的分析可以得到有关网络的一些信息。由于这些数据经过了网络层和传输层的打包,因此需要根据其附加的帧头对数据包进行分析。下面先给出结构.数据包的总体结构: 数据包 IP头 TCP头(或其他信息头) 数据 数据在从应用层到达传输层时,将添加TCP数据段头,或是UDP数据段头。其中UDP数据段头比较简单,由一个8字节的头和数据部分组成,具体格式如下: 16位 16位 源端口 目的端口 UDP长度 UDP校验和 而TCP数据头则比较复杂,以20个固定字节开始,在固定头后面还可以有一些长度不固定的可选项,下面给出TCP数据段头的格式组成: 16位 16位 源端口 目的端口 顺序号 确认号 TCP头长 (保留)7位 URG ACK PSH RST SYN FIN 窗口大小 校验和 紧急指针 可选项(0或更多的32位字) 数据(可选项) 对于此TCP数据段头的分析在编程实现中可通过数据结构_TCP来定义: typedef struct _TCP{ WORD SrcPort; // 源端口 WORD DstPort; // 目的端口 DWORD SeqNum; // 顺序号 DWORD AckNum; // 确认号 BYTE DataOff; // TCP头长 BYTE Flags; // 标志(URG、ACK等) WORD Window; // 窗口大小 WORD Chksum; // 校验和 WORD UrgPtr; // 紧急指针 } TCP; typedef TCP *LPTCP; typedef TCP UNALIGNED * ULPTCP; 在网络层,还要给TCP数据包添加一个IP数据段头以组成IP数据报。IP数据头以大端点机次序传送,从左到右,版本字段的高位字节先传输(SPARC是大端点机;Pentium是小端点机)。如果是小端点机,就要在发送和接收时先行转换然后才能进行传输。IP数据段头格式如下: 16位 16位 版本 IHL 服务类型 总长 标识 标志 分段偏移 生命期 协议 头校验和 源地址 目的地址 选项(0或更多) 同样,在实际编程中也需要通过一个数据结构来表示此IP数据段头,下面给出此数据结构的定义: typedef struct _IP{ union{ BYTE Version; // 版本 BYTE HdrLen; // IHL }; BYTE ServiceType; // 服务类型 WORD TotalLen; // 总长 WORD ID; // 标识 union{ WORD Flags; // 标志 WORD FragOff; // 分段偏移 }; BYTE TimeToLive; // 生命期 BYTE Protocol; // 协议WORD HdrChksum; // 头校验和 DWORD SrcAddr; // 源地址 DWORD DstAddr; // 目的地址 BYTE Options; // 选项 } IP; typedef IP * LPIP; typedef IP UNALIGNED * ULPIP; 在明确了以上几个数据段头的组成结构后,就可以对捕获到的数据包进行分析了。 嗅探器的具体实现 根据前面的设计思路,不难写出网络嗅探器的实现代码,下面就给出一个简单的示例,该示例可以捕获到所有经过本地网卡的数据包,并可从中分析出协议、IP源地址、IP目标地址、TCP源端口号、TCP目标端口号以及数据包长度等信息。由于前面已经将程序的设计流程讲述的比较清楚了,因此这里就不在赘述了,下面就结合注释对程序的具体是实现进行讲解,同时为程序流程的清晰起见,去掉了错误检查等保护性代码。主要代码实现清单为: // 检查 Winsock 版本号,WSAData为WSADATA结构对象 WSAStartup(MAKEWORD(2, 2), &WSAData); // 创建原始套接字 sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)); // 设置IP头操作选项,其中flag 设置为ture,亲自对IP头进行处理 setsockopt(sock, IPPROTO_IP, IP_HDRINCL, (char*)&flag, sizeof(flag)); // 获取本机名 gethostname((char*)LocalName, sizeof(LocalName)-1); // 获取本地 IP 地址 pHost = gethostbyname((char*)LocalName)); // 填充SOCKADDR_IN结构 = *(in_addr *)pHost->h_addr_list[0]; //IP = AF_INET; = htons(57274); // 把原始套接字sock 绑定到本地网卡地址上 bind(sock, (PSOCKADDR)&addr_in, sizeof(addr_in)); // dwValue为输入输出参数,为1时执行,0时取消 DWORD dwValue = 1; // 设置 SOCK_RAW 为SIO_RCVALL,以便接收所有的IP包。其中SIO_RCVALL // 的定义为: #define SIO_RCVALL _WSAIOW(IOC_VENDOR,1) ioctlsocket(sock, SIO_RCVALL, &dwValue); 前面的工作基本上都是对原始套接字进行设置,在将原始套接字设置完毕,使其能按预期目的工作时,就可以通过recv()函数从网卡接收数据了,接收到的原始数据包存放在缓存RecvBuf[]中,缓冲区长度BUFFER_SIZE定义为65535。然后就可以根据前面对IP数据段头、TCP数据段头的结构描述而对捕获的数据包进行分析: while (true) { // 接收原始数据包信息 int ret = recv(sock, RecvBuf, BUFFER_SIZE, 0); if (ret > 0) { // 对数据包进行分析,并输出分析结果 ip = *(IP*)RecvBuf; tcp = *(TCP*)(RecvBuf + ); TRACE("协议: %s\r\n",GetProtocolTxt()); TRACE("IP源地址: %s\r\n",inet_ntoa(*(in_addr*)&)); TRACE("IP目标地址: %s\r\n",inet_ntoa(*(in_addr*)&)); TRACE("TCP源端口号: %d\r\n",); TRACE("TCP目标端口号:%d\r\n",); TRACE("数据包长度: %d\r\n\r\n\r\n",ntohs()); } } 其中,在进行协议分析时,使用了GetProtocolTxt()函数,该函数负责将IP包中的协议(数字标识的)转化为文字输出,该函数实现如下: #define PROTOCOL_STRING_ICMP_TXT "ICMP" #define PROTOCOL_STRING_TCP_TXT "TCP" #define PROTOCOL_STRING_UDP_TXT "UDP" #define PROTOCOL_STRING_SPX_TXT "SPX" #define PROTOCOL_STRING_NCP_TXT "NCP" #define PROTOCOL_STRING_UNKNOW_TXT "UNKNOW" CString CSnifferDlg::GetProtocolTxt(int Protocol) { switch (Protocol){ case IPPROTO_ICMP : //1 /* control message protocol */ return PROTOCOL_STRING_ICMP_TXT; case IPPROTO_TCP : //6 /* tcp */ return PROTOCOL_STRING_TCP_TXT; case IPPROTO_UDP : //17 /* user datagram protocol */ return PROTOCOL_STRING_UDP_TXT; default: return PROTOCOL_STRING_UNKNOW_TXT; } 最后,为了使程序能成功编译,需要包含头文件和。在本示例中将分析结果用TRACE()宏进行输出,在调试状态下运行,得到的一个分析结果如下: 协议: UDP IP源地址: IP目标地址: TCP源端口号: 16707 TCP目标端口号:19522 数据包长度: 78 协议: TCP IP源地址: IP目标地址: TCP源端口号: 19714 TCP目标端口号:10 数据包长度: 200 从分析结果可以看出,此程序完全具备了嗅探器的数据捕获以及对数据包的分析等基本功能。 小结 本文介绍的以原始套接字方式对网络数据进行捕获的方法实现起来比较简单,尤其是不需要编写VxD虚拟设备驱动程序就可以实现抓包,使得其编写过程变的非常简便,但由于捕获到的数据包头不包含有帧信息,因此不能接收到与 IP 同属网络层的其它数据包, 如 ARP数据包、RARP数据包等。在前面给出的示例程序中考虑到安全因素,没有对数据包做进一步的分析,而是仅仅给出了对一般信息的分析方法。通过本文的介绍,可对原始套接字的使用方法以及TCP/IP协议结构原理等知识有一个基本的认识。

网络五子棋设计与实现毕业论文

简单的,超不难!

写课题任务时主要从“想借助这篇论文达到什么样的目的”入手,表明写作意图;写课题要求时主要从“写作时要注意的点”入手,表明写作的时候运用到的研究方法等方面的内容。下面举例说明:

一、毕业论文的课题任务:为JAVA在安卓手机平台设置五子棋游戏的时候提供相应的参考。

二、毕业论文的课题要求:

1、尽量结合生产、科研及技术设备的革新、技术改造等完成论文。

2、要求论文具有先进性、实用性。

3、论文选题难度适中。

扩展资料

毕业论文写作注意事项

1、毕业论文是应考者的总结性独立作业,目的在于总结学习专业的成果,培养综合运用所学知识解决实际问题的能力。从文体而言,它也是对某一专业领域的现实问题或理论问题进行科学研究探索的具有一定意义的论说文。完成毕业论文的撰写可以分两个步骤,即选择课题和研究课题。

2、选好课题后,接下来的工作就是研究课题,研究课题一般程序是:搜集资料、研究资料,明确论点和选定材料,最后是执笔撰写、修改定稿。

参考资料来源:百度百科-毕业论文

计算机毕业设计论文 要比较全的java游戏五子棋可以到七七计算机论文的题目列表搜寻一下,应该有的

分条写:课题做到突出中心思想,条理清晰,结构合理,观点正确,具有较好的连续性等。完成相关的XXXX。

第一步:课题适应的岗位名称;

第二部:课题背景;

第三步,报告(设计、论文等)要求;然后,具体要求;

最后,主要参考文献的范围。

扩展资料:

1、论文题目,有的含副标题。题目之下是作者署名,署名之前或下边一行写作者的校、院、系、年级。

2、“摘要”与“关键词”(或称“内容提要”),一般为300字左右。位于作者署名之后,正文之前。关键词,结合标题和正文内容一般选取3至5个。

3、引论。用“O”标示,常写作“引言”、“引论”、“绪论”,引言较短时可不标出“O。引言”类小标题。引论的内容一般是交代选题背景。

主要有:课题来源,本课题在国内外的研究进展状况。已有的研究成果,存在的问题。选题的意义,讨论的问题。本文分几部分,从哪些方面进行讨论,以及指导思想、论证方法等,均可根据内容的需要写在引论中。

简易计算器的设计与实现毕业论文

计算机导论就是概述一下计算机这门学科要学的内容,重要不重要吧。可能刚开始学习觉得没什么,可是当你学完计算机的全部内容以后发现计算机导论就是大纲。所以这个重要程度,没那么重要,谨代表个人观点。

1 KM-1 键混器的设计 1 Sw3204V监控器的设计 1 基于射频遥控型(单片机)交通灯的设计1 Sw802V视频切换器的设计 1 无线数控多相位灯从机的设计1 基于RS232遥控型交通灯的设计1 Sw802A音频切换器的设计1 Sw6408V监控器的设计 1 KM-3键混器的设计1 无线数控多相位灯主机的设计1 SW162V数字视频切换器的设计1 基于RS232监控切换器1 SW401V 数字视频切换器的设计1 基于单片机的多路数据采集系统1 RS485转RS232的模块设计1 基于LCD显示的波形发生器的设计1 4-20mA转RS-485模块的设计 1 基于RS232流量计的设计 1 基于PTR2000的交通灯控制器主机的设计1 基于RS485量水仪的设计1 压力采集控制器的设计 1 数字量转4-20mA模拟量输出的模块设计1 正弦波形发生器的设计1 基于PTR2000的交通灯控制器从机的设计1 基于RS485视频切换器的设计1 LCD车速里程表电路设计1 LED车速里程表电路设计1 MSK通信系统的仿真设计1 员工信息管理系统 1 计算机文化基础考试系统的设计和开发1 人事工资管理系统1 员工信息管理系统设计1 超市进销存管理系统的VB实现1 基于单片机的多波形发生器的应用1 基于单片机电动自行车控制器设计1 个人理财管理系统1 基于CAN总线火灾监控系统的研究1 基于DSP平台的FIR滤波器设计1 于Matlab的FIR数字滤波器设计与仿真1 基于TMS320VC5402-DSP的最小系统硬件设计1 基于单片机的热水控制器 1 基于单片机的路灯控制系统的设计1 于单片机远程控制家用电器系统的设计1 基于液晶显示的乘法口诀测试仪的设计1 实验室设备管理系统毕业设计开题报告1 用AT89C51做 洗衣机全自动控制.doc1 数显频率计的设计.doc1 数控车间温度湿度控制系统设计.doc1 三角波斜率测试仪设计.doc1 人脸几何特征提取1 全自动洗衣机的控制程序设计.doc1 乞丐论文.doc1 教学楼毕业设计.doc1 建立海上风电场的技术要求分析与探讨.doc1 基于凌阳61A的数字式温湿度检测仪.doc1 基于几何匹配和分合算法的人脸识别.doc1 基于单片机数字钟的设计.doc1 基于单片机数据通用采集器的设计.doc1 基于单片机数据采集器.doc1 基于单片机的自动报警器的设计.doc1 基于单片机的终端设计.doc1 基于单片机的路灯控制系统控制系统的设计.doc1 基于单片机的交通灯的设计.doc1 基于单片机的简易计算器的设计.doc1 基于单片机的家用安保系统的设计.doc1 基于VHDL的数字频率计.doc1 基于SystemView的OFDM系统仿真设计.doc1 基于SystemView的OFDM系统仿真设计 基于PLC的烧结配料控制系统设计.doc1 基于MSP430的温度检测系统设计 基于MATLAB工具箱的数字滤波器设计.doc1 基于MATLAB的扩频通信系统仿真研究.doc1 基于GSM短信息通信方式的路灯无线监控系统.doc1 基于FPGA的信号源设计.doc1 基于EPP协议的AVR与PC并行通信系统的设计 单片机交通灯.doc1 单片机多点温度巡回检测系统的设计.doc1 单片机的温湿度检测系统 单路口交通信号PLC控制系统的设计.doc1 城市路口多相位自寻优交通信号控制设计.doc1 陈洁(螺旋瓶盖的设计).doc1 八路竞赛抢答器.doc1 matlab信号与系统.doc1 GSM系统的研究与SystemView仿真.doc1 蒯申红智能语音报站系统设计 MT8888在家庭安全电话报警系统中的应用设计1 基于FPGA的频率与功率因数在线测量1 基于FPGA的误码测试仪如果需要定做的话系 Q 273546756

不是说百度啥都 有的

公司网络设计实现毕业论文

网站的设计与实现毕业论文开题报告 一、立论依据(论文的研究意义、国内外研究现状分析)网络游戏产业是一个新兴的朝阳产业,经历了20世纪末的初期形成期阶段,及近几年的快速发展,现在中国的网络游戏产业处在成长期,并快速走向成熟期的阶段。在中国整个网络经济的发展过程中从无到有,发展到目前成为中国网络经济的重要组成部分。网络游戏产业之所以可以打破在原来中国整个网络经济中的平衡,主要缘于在20世纪末中国网络经济泡沫破灭整个网络经济大受打击的时候,网络游戏却异军突起成为整个网络经济发展的领头羊,得到迅猛的发展。 网络游戏的起源可追溯到1969年的PLATO,到1972年PLATO的同事在线人数突破到1000人,到了20世纪八十年代末,由于国外计算机数量的`增加,网游进入了高速发展时期,市场呈几何状上升。 而中国的网络游戏真正开始起步要从1999年说起,1999年4月经过对一个电话游戏的升级改造,乐斗士推出了国内最早的图形MUD游戏—《笑傲江湖之精忠报国》。 到2001年,中国网络游戏的市场规模接近亿元人民币,根据IDC的研究,在2002 年中国网络游戏市场规模将达到亿元人民币,比2001年增长。 2007年中国网络游戏市场规模为128亿元,同比增长。2007年中国网络游戏用户达到4800万,环比增长。 2011年,中国网络游戏市场规模为亿元,同比增长,增长速度止跌回升。其中,互联网游戏为亿元,同比增长;移动网游戏为亿元,同比增长。 数据显示,网络游戏依然保持着超高的发展速度,而作为网络游戏的兄弟——网络游戏网站、论坛也犹如雨后春笋一样纷纷成立,所以,构建一个有特色的网络游戏网站就有了一种必要。 二、论文内容 1.研究目标、研究内容和拟解决的关键问题 网络游戏网站不是一个简单的网站,是有着自己特点的目标性网站,构建一个网站需要方案、技术和资源的支持。而一个完整的研究方案是要有明确的研究目标,而本论文的研究目标就是网络游戏网站的设计与实现。 其中技术支持包括: (1)HTML的了解与应用。 (2)JSP的应用。 (3)数据库的构建。 (4)JSP与数据库的结合。 (5)JDK和Apache服务器 (6)数据库的设计。 (7)系统功能模块化。 (8)JAVA插件的编写和应用。 (9)Tomcat的安装和应用。 (8)配置ODBC数据源。 关键问题主要包括: (1)要保证信息采集的真实性、实时性。 (2)信息分析的科学性。 (3)操作系统的选择、开发技术的选择、开发软件的选择以及模块化网站的方法等等。 2.拟采取的研究方法、技术路线、实验方案及可行性分析 通过大量的社会信息的收集和分析,整理出科学的论据及方案,查阅一定的文献书籍和搜索国内外各种关于网络游戏方面的年度报告,对数据进行分析,制定可行的实验方案,和技术路线,记录步骤和结果,以保证论文的科学性和实时性。 同时还必须要加强自身的科学技术修养,通过此次论文的编辑使自身的能力再度得到提升。 可行性分析: (1)理论方面目前已经收集了大量的参考文献,这些文献覆盖了网站建站的技术及其应用, 包含了网络游戏网站在网络上的应用,网络游戏的发展历史等方方面,这些文献将会对本论文的研究提供极大的参考价值。 (2)目前网络游戏依然发展迅猛,前景不可估量,借此契机打造一个优秀的网络游戏网站、论坛成为可能。 (3)通过两年的计算机应用的学习,我也已经学习和使用了很多的软件,练就了相当的设计能力。 (4)有导师为该文的研究支持,并有从事研究的学术环境保证论文能够按目标进度进行。 三、 论文进度安排 第一阶段. 2012年5月27号-2012年6月3号思考写作方向,选材 第二阶段. 20112年6月10号完成开题报告,交给指导老师 第三阶段. 2012年7月—2012年12月查找资料撰写论文 第四阶段.年月号在教师的指导下,进行论文设计 第五阶段.年月号装订成搞,送交指导老师批阅 第六阶段.年月号—上交论文 四、参考文献 [1] 魏晶 泫 :《网络游戏》清华大学出版社 2008 [2] 文化部:《2011中国网络游戏市场年度报告》2012 [3] C++和HTML开发网络应用程序实例解析 现代电子技术,2004 [4] 基于HTML和XML语言的页面制作工具分析 现代电子技术, 2001 [5] 可扩展置标语言XML 现代电子技术,2002 ;

这个题目很简单 ,你可以找一些实际的公司去现场给公司做个网络模拟组建 ,这样对你的论文帮助很大 ,比你在这空想要好的多,一切的学习都要基于实践 ,这样你的论文会很有实际意义的。

这方面的毕业设计主要是要通过软件设计出来一个网站,然后再结合你设计的网站写论文。

数字定时器的设计与实现毕业论文

以下是一些计算机本科毕业设计题目供您参考:

计算机毕业设计 基于Python的SIFT和KCF的运动目标匹配与跟踪 毕业论文+项目源码 基于Python决策树算法的学生学习行为数据分析 设计报告+代码及数据 基于Sring+bootstrap+MySQL的住房公积金管理系统 课程报告+项目源码及数据库文件 基于C++的即时通信软件设计 毕业论文+项目源码 基于JavaWeb+MySQL的图书管理系统 课程报告+项目源码及数据库文件 基于Android Studio+Android SDK的手机通讯录管理软件设计 课程报告+项目源码 基于JSP+MySQL的校园网上订餐系统 毕业论文+项目源码及数据库文件 基于AndroidStudio的花艺分享平台APP设计 报告+源码及APK文件 基于Python的酒店评论情感分析 课程报告+答辩PPT+项目源码 基于QT的教务选课管理系统设计与实现 毕业论文+项目源码 基于Android+Springboot+Mybatis+Mysql的个人生活APP设计 说明书+项目源码 基于的Web3D宇宙空间数据可视化系统 设计报告+前后端源码及数据 基于java+android+SQLite的保健型果饮在线销售APP设计 毕业论文+源码数据库及APK文件 基于的高校综合资源发布分享社交二手平台 毕业论文+项目源码及数据库文件+演示视频 基于Delphi+MySQL的大学生竞赛发布及组队系统 设计报告+源码数据库及可执行文件+使用说明书 基于Android的名片信息管理系统设计与实现 毕业论文+任务书+外文翻译及原文+演示视频+项目源码 基于Python的电影数据可视化分析系统 设计报告+答辩PPT+项目源码 基于JavaWeb的企业公司管理系统设计与实现 毕业论文+答辩PPT+演示视频+项目源码 高校成绩管理数据库系统的设计与实现 毕业论文+项目源码 基于JavaWeb的家庭食谱管理系统设计与实现 毕业论文+项目源码及数据库文件 基于Python+SQLSERVER的快递业务管理系统的设计与实现 毕业论文+项目源码及数据库文件 基于Python的语音词频提取云平台 设计报告+设计源码 在推荐系统中引入 Serendipity 的算法研究 毕业论文+参考文献+项目源码 基于Html+Python+Django+Sqlite的机票预订系统 毕业论文+项目源码及数据库文件 基于Python的卷积神经网络的猫狗图像识别系统 课程报告+项目源码 基于C++的云安全主动防御系统客户端服务端设计 毕业论文+项目源码 基于JavaSSM的学生成绩管理APP系统设计与实现 毕业论文+答辩PPT+前后台源码及APK文件 基于JavaSwing+MySQL的清朝古代名人数据管理系统设计 毕业论文+任务书+项目源码及数据库文件 基于Python_Django的社会实践活动管理系统设计与实现 毕业论文 基于Servlet WebSocket MySQL实现的网络在线考试系统 毕业论文+项目源码 基于JavaWEB+MySQL的学生成绩综合管理系统 毕业论文+项目源码及数据库文件 基于SpringBoot+Vue和MySQL+Redis的网络课程平台设计与实现 毕业论文+任务书+开题报告+中期报告+初稿+前后台项目源码 基于Java的毕业设计题目收集系统 课程报告+项目源码 基于Java+Python+html的生产者与消费者算法模拟 毕业论文+任务书+项目源码 基于JavaWeb+MySQL的学院党费缴费系统 毕业论文+项目源码及数据库文件 基于Java+MySQL的学生成绩管理系统 毕业论文+任务书+答辩PPT+项目源码及数据库文件 基于Java+MySQL的学生和客户信息管理系统 课程报告+项目源码及数据库文件 基于Java的长整数加减法算法设计 毕业论文+项目源码 基于vue+MySQL的毕业设计网上选题系统 毕业论文+项目源码 基于背景建模和FasterR-CNN的视频前景和目标检测 毕业论文+答辩PPT+项目源码 基于Python的智能视频分析之人数统计的多种实现 毕业论文+答辩PPT+项目源码 基于C#+SQL server的校园卡消费信息管理系统 毕业论文+项目源码及数据库文件

目 录 中英文摘要,关键词………….....1 一,中英文摘要,关键词 前言……………………………….2 二,前言 原理框图………………………….3 三,原理框图 毕业设计主要结构 结构……………….3 四,毕业设计主要结构 4.1,时基信号 . ,时基信号…………………….3 4.2,分频器件 CD4040………….10 . , 4.3,可逆计数器 CD40110……...15 . , 4.4,置数开关 . ,置数开关……………………20 4.5,控制门 . ,控制门………………………20 4.6,执行电路 . ,执行电路……………………21 毕业设计详细电路图 五,毕业设计详细电路图……………23 详细原理解释……………………24 六,详细原理解释 焊接与调试………………………25 七,焊接与调试 结论………………………………26 八,结论 参考文献…………………………27 九,参考文献 中英文关键字,摘要: 一, 中英文关键字,摘要: 逆计时数显定时器的设计 [摘要] 本文介绍了一种电子定时器.定时时间用数字显示.并进行逆计数.当 摘要] 计数器显示为 “ 0 ” 时.控制器会自动切断或打开用电器的电源, 定时时间 范围 1~ 990分钟。该定时器可替代目前一些家用电器中的机械定时器。 倒计时时定时器的用途很广泛,它可以用作定时器,控制被定时的电器,实现 定时开或者定时关,在定时的过程中,随时显示剩余时间, 它还可以用作倒计 时计数器。由三位数码管直观显示倒计时计数状态。 关键词: 关键词:电子定时器,数字显示,倒计时作者:高剑夫 指导老师:朱永乐 [Abstract] [Abstract] This article introduced one kind of electronic timer. Fixed the time is demonstrated with the digit. And carried on ploting the number. When the counter is demonstrated “0”, The controller automatic turnoff or opens with power source of electric appliance,the range of fixed time is 1~ 990 timer may substitute some mechanical timer of domestic electric appliances in the present. The use of the count down timer is very widespread, it can be used as the timer,which controls the electric appliance what be fixed time, realizes fixed time opened or closed, in the process of fixed time, momentarily demonstrates the surplus time, it can be also used as the countdown counter. Display the condition of the countdown immediately by three nixietube. Key word: electronic timer ,digit demonstration,countdown Written by Jianfu Gao Supervised by Yongle Zhu 二, 前言计数器是最常用的时序电路之一,他们不仅可用于对脉冲进行计数,还可以用 于分频,定时,产生节拍脉冲以及其他时序信号。计数器的种类不胜枚举,按照 编码分类可以分成:二进制码计数器,BCD(二——十进制)计数器,循环码计 数器。文章中涉及到的计数器是十进制的。 可逆计数器又称作加/减计数器。是计数器的一个重要组成部分,除了一些专 用的大规模可逆计数器具有符号框功能, 中规模可逆计数器一般是不具备极性符 号功能的。 因此用无符号的中小规模可逆计数器设计带符号的可逆计数器显得尤 为必要.一般完成这一转换需增加三个单元电路。①符号寄存器和符号显示驱动 器 用于寄存和驱动计数状态的极性符号。②清零电路,在计数器的计数状态+0 和 -0 相互转换时,它使计数器清零。③控制门电路。在可逆计数器的极性符号 控制下, 它使正计数状态时的增加时钟脉冲和城小时钟脉冲分别变成负计数状态 时的减小时钟脉冲和增加时钟脉冲。 我们这篇论文写的逆计时数显定时器是在以电子技术(数字部分)该教材基础 上写成的。它主要由:时基信号,分频器,可逆计数器,控制门,置数开关,执 行电路组成。这种电子定时器定时时间用数字显示,并进行逆计数。当计数器显 示为 “ 0 ” 时.控制器会自动切断或打开用电器的电源, 定时时间范围 1~ 990 分钟,LED 数码管显示运行过程。为了更好的理解该电路的设计原理,文章 中详细解释了构成该电子定时器的每个构成部分。 这种采用常规 CMOS 数字集成电路的定时器,电路原理简单,使用方便,适 用于家用电器及工业设备的定时控制,故值得电子爱好者业余制作。 三,原理框图: 原理框图: 数码管 可逆计 数器 控制门 执行电路 置数 开关 分频器 被控电路 时基信号 四,毕业设计主要结构 4.1 时基信号 . 图中 VD1、Rl~R3、D1、D2 等组成时基信号产生电路。 VD1 以及下文中的 VD2,VD9,VD16 都是 1N4001 1N4001 的特征有: 低的反向漏电流 较强的正向浪涌承受能力 高温焊接保证 引线可承受 5 磅 () 拉力 它的极限值和温度特性 TA = 25℃ 符号 最 大 可 重 复 峰 值 VRRM 反向电压 最大均方根电压 VRMS 最 大 直 流 阻 断 电 VDC 压 最 大 正 向 平 均 整 IF(AV) 流电流 峰 值 正 向 浪 涌 电 IFSM 流 单一 正 弦半波 最 大 反 向 峰 值 电 IR(AV) 流 典型热阻 RθJA 工 作 结 温 和 存 储 Tj, TSTG 温度 电特性 TA = 25℃ 符号 最大正向电压 IF = VF 最大反向电流 IR TA= 25℃ TA=100℃ 见下表 50 35 50 30 单位 V V V A A 30 65 -50 --- +150 ?A ℃/W ℃ 单位 V ?A 100 典型结电容 VR = Cj 15 pF , f = 1MHz 时基信号取交流电的 50HZ 信号。电源变压器次级输出的交流电压经 VD1 半 波整流后在 R1 上产生 50HZ 的脉冲直流电。 图中 D1,D2 是 CD4069------六反相器 CD4069 提供了14 引线多层陶瓷双列直插(D)、熔封陶瓷双列直插(J)、塑 料双列直插(P)和陶瓷片状载体(C)4 种封装形式。 推荐工作条件: 电源电压范围…………3V~15V 输入电压范围…………0V~VDD 工作温度范围 M类…………-55℃~125℃ E 类………….-40℃~85℃ 极限值: 电源电压…...-~18V 输入电压……- 输入电流…………….±10mA 储存温度…………-65℃~150℃ 引出端符号: 1A~6A 数据输入端 VCC 正电源 Vss 地 1Y~6Y 数据输入端 逻辑符号: 引出端排列(俯视) 逻辑表达式: Y= A 逻辑图: 由点 1 输出的脉冲信号经 D1,D2 等组成的施密特触发器整形后在点 2 输出 50HZ 的矩形脉冲信号,供分频器作时钟信号。 施密特触发器特点 施密特触发器与其说是“触发器”,不如说是具有滞后特性的数字传输门, 其特点有二: 1.输入电平的阈值电压由低到高为 ,由高到低为 ,且 > , 为负 输出的变化滞后于输入,形成回环。我们将称 向阈值电压,二者的差值称为回差。 为正向阈值电压, 称 2.与双稳态触发器和单稳态触发器不同,施密特触发器属于“电平触发”型 电路,不依赖于边沿陡峭的脉冲。 下图是施密特发器的电压传输特性,图 (a) 是反相传输特性,图 (b) 是同相传 输特性。 二、由反相器构成的施密特触发器 1.反相器构成的施密特触发器的电路结构 将两级反相器串接起来,同时通过分压电阻把输出端的电压反馈到输入端,就构 成了图所示的施密特触发器。 (a)电路 (b) 图形符号 2.反相器构成的施密特触发器的工作原理 G1,G2 为 CD4069 反相器,门电路的阈值电压为:VTH=1/2VDD,且 R1

你的论文准备往什么方向写,选题老师审核通过了没,有没有列个大纲让老师看一下写作方向? 老师有没有和你说论文往哪个方向写比较好?写论文之前,一定要写个大纲,这样老师,好确定了框架,避免以后论文修改过程中出现大改的情况!!学校的格式要求、写作规范要注意,否则很可能发回来重新改,你要还有什么不明白或不懂可以问我,希望你能够顺利毕业,迈向新的人生。 (一)选题毕业论文(设计)题目应符合本专业的培养目标和教学要求,具有综合性和创新性。本科生要根据自己的实际情况和专业特长,选择适当的论文题目,但所写论文要与本专业所学课程有关。(二)查阅资料、列出论文提纲题目选定后,要在指导教师指导下开展调研和进行实验,搜集、查阅有关资料,进行加工、提炼,然后列出详细的写作提纲。(三)完成初稿根据所列提纲,按指导教师的意见认真完成初稿。(四)定稿初稿须经指导教师审阅,并按其意见和要求进行修改,然后定稿。一般毕业论文题目的选择最好不要太泛,越具体越好,而且老师希望学生能结合自己学过的知识对问题进行分析和解决。不知道你是否确定了选题,确定选题了接下来你需要根据选题去查阅前辈们的相关论文,看看人家是怎么规划论文整体框架的;其次就是需要自己动手收集资料了,进而整理和分析资料得出自己的论文框架;最后就是按照框架去组织论文了。你如果需要什么参考资料和范文我可以提供给你。还有什么不了解的可以直接问我,希望可以帮到你,祝写作过程顺利毕业论文选题的方法: 一、尽快确定毕业论文的选题方向 在毕业论文工作布置后,每个人都应遵循选题的基本原则,在较短的时间内把选题的方向确定下来。从毕业论文题目的性质来看,基本上可以分为两大类:一类是社会主义现代化建设实践中提出的理论和实际问题;另一类是专业学科本身发展中存在的基本范畴和基本理论问题。大学生应根据自己的志趣和爱好,尽快从上述两大类中确定一个方向。二、在初步调查研究的基础上选定毕业论文的具体题目在选题的方向确定以后,还要经过一定的调查和研究,来进一步确定选题的范围,以至最后选定具体题目。下面介绍两种常见的选题方法。 浏览捕捉法 :这种方法就是通过对占有的文献资料快速地、大量地阅读,在比较中来确定论文题目地方法。浏览,一般是在资料占有达到一定数量时集中一段时间进行,这样便于对资料作集中的比较和鉴别。浏览的目的是在咀嚼消化已有资料的过程中,提出问题,寻找自己的研究课题。这就需要对收集到的材料作一全面的阅读研究,主要的、次要的、不同角度的、不同观点的都应了解,不能看了一些资料,有了一点看法,就到此为止,急于动笔。也不能“先入为主”,以自己头脑中原有的观点或看了第一篇资料后得到的看法去决定取舍。而应冷静地、客观地对所有资料作认真的分析思考。在浩如烟海,内容丰富的资料中吸取营养,反复思考琢磨许多时候之后,必然会有所发现,这是搞科学研究的人时常会碰到的情形。 浏览捕捉法一般可按以下步骤进行: 第一步,广泛地浏览资料。在浏览中要注意勤作笔录,随时记下资料的纲目,记下资料中对自己影响最深刻的观点、论据、论证方法等,记下脑海中涌现的点滴体会。当然,手抄笔录并不等于有言必录,有文必录,而是要做细心的选择,有目的、有重点地摘录,当详则详,当略则略,一些相同的或类似的观点和材料则不必重复摘录,只需记下资料来源及页码就行,以避免浪费时间和精力。 第二步,是将阅读所得到的方方面面的内容,进行分类、排列、组合,从中寻找问题、发现问题,材料可按纲目分类,如分成: 系统介绍有关问题研究发展概况的资料; 对某一个问题研究情况的资料; 对同一问题几种不同观点的资料; 对某一问题研究最新的资料和成果等等。 第三步,将自己在研究中的体会与资料分别加以比较,找出哪些体会在资料中没有或部分没有;哪些体会虽然资料已有,但自己对此有不同看法;哪些体会和资料是基本一致的;哪些体会是在资料基础上的深化和发挥等等。经过几番深思熟虑的思考过程,就容易萌生自己的想法。把这种想法及时捕捉住,再作进一步的思考,选题的目标也就会渐渐明确起来。

相关百科