简单端口扫描器java的设计与实现
Jenkins构建之代码扫描

Jenkins构建之代码扫描Sonar简介Sonar 是⼀个⽤于代码质量管理的开放平台。
通过插件机制,Sonar可以集成不同的测试⼯具,代码分析⼯具,以及持续集成⼯具。
与持续集成⼯具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查⼯具结果(例如 FindBugs,PMD 等)直接显⽰在 Web 页⾯上,⽽是通过不同的插件对这些结果进⾏再加⼯处理,通过量化的⽅式度量代码质量的变化,从⽽可以⽅便地对不同规模和种类的⼯程进⾏代码质量管理。
在对其他⼯具的⽀持⽅⾯,Sonar 不仅提供了对 IDE 的⽀持,可以在 Eclipse和 IntelliJ IDEA 这些⼯具⾥联机查看结果;同时 Sonar 还对⼤量的持续集成⼯具提供了接⼝⽀持,可以很⽅便地在持续集成中使⽤ Sonar。
此外,Sonar 的插件还可以对 Java 以外的其他编程语⾔提供⽀持,对国际化以及报告⽂档化也有良好的⽀持代码质量测试代码质量七宗罪# 编码规范:是否遵守了编码规范,遵循了最佳实践。
# 潜在的 BUG:可能在最坏情况下出现问题的代码,以及存在安全漏洞的代码。
# ⽂档和注释:过少(缺少必要信息)、过多(没有信息量)、过时的⽂档或注释。
# 重复代码:违反了 Don’t Repeat Yourself 原则。
# 复杂度:代码结构太复杂(如圈复杂度⾼),难以理解、测试和维护。
# 测试覆盖率:编写单元测试,特别是针对复杂代码的测试覆盖是否⾜够。
# 设计与架构:是否⾼内聚、低耦合,依赖最少。
Sonar部署Sonar的功能就是来检查代码是否有BUG。
除了检查代码是否有bug还有其他的功能,⽐如说:你的代码注释率是多少,代码有⼀些建议,编写语法的建议。
所以我们叫质量管理.准备java环境和sonaqube包# jdk下载地址# /technetwork/java/javase/downloads/java-archive-javase8-2177648.html# 卸载系统⾃带的java环境[root@jenkins-8 git-2.9.5]# rpm -qa |grep jdk[root@jenkins-8 git-2.9.5]# javabash: java: 未找到命令# 解压安装jdktar xvf jdk-8u151-linux-x64.tar.gz -C /usr/local/cd /usr/local/mv jdk1.8.0_151/ jdk# 修改/etc/bashrc配置⽂件,末尾加⼊下⾯⼀⾏环境变量.tail -2 /etc/bashrcJAVA_HOME=/usr/local/jdkexport PATH=$PATH:$JAVA_HOME/binsource /etc/bashrcjava -version # 尽量不要⽤openjdkjava version "1.8.0_151"Java(TM) SE Runtime Environment (build 1.8.0_151-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)# sonar下载地址# /downloads/# 最新版的Sonar需要⾄少JDK1.8以上版本, 建议⽤国外⽹络下载,此处我使⽤5.6https:///Distribution/sonarqube/unzip sonarqube-6.5.zipmv sonarqube-6.5 /usr/local/ln -s /usr/local/sonarqube-6.5/ /usr/local/sonarqube配置数据库wget /get/mysql57-community-release-el7-8.noarch.rpmrpm -ivh mysql57-community-release-el7-10.noarch.rpmyum install -y mysql-community-serversystemctl start mysqld.service# 修改Mysql密码下⾯有三种办法# 1.刚安装好的mysql,可以从/var/log/mysqld.log获取临时密码grep "password" /var/log/mysqld.log[root@mysql ~]# mysql -uroot -pEnter password:mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'ZHOUjian.22';# 2.mysqladmin -uroot -p password "ZHOUjian.22"Enter password:# 3.实验环境不知道root密码操作⽅法如下sed -i '/\[mysqld]/ a skip-grant-tables' /etc/fsystemctl restart mysqldmysql <<EOFupdate er set authentication_string='' where user='root' and Host='localhost';flush privileges;EOFsed -i '/skip-grant/d' /etc/fsystemctl restart mysqldmysqladmin -uroot -p password "ZHOUjian.20"Enter password: # 此处回车⼀下即可CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;GRANT ALL ON sonar.* TO sonar@"%" IDENTIFIED BY "ZHOUjian.20";flush privileges;配置启动Sonarcd /usr/local/sonarqube/conf/vim sonar.propertiesername=sonarsonar.jdbc.password=123456sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false sonar.web.host=0.0.0.0sonar.web.port=9000# 启动sonar/usr/local/sonarqube/bin/linux-x86-64/sonar.sh startStarting SonarQube...SonarQube is already running.# 验证端⼝ss -atnp |grep 9000LISTEN 0 25 *:9000 *:* users:(("java",pid=18028,fd=77))访问web界⾯默认admin/admin安装中⽂⽀持/usr/local/sonarqube/extensions/plugins/ #插件本地路径安装中⽂插件:mv sonar-l10n-zh-plugin-1.11.jar /usr/local/sonarqube/extensions/plugins/administration-system-update center-available,在后⾯的搜索框搜索插件名称,然后点 install 安装:或在插件⽬录 /usr/local/sonar/extensions/plugins 执⾏以下命令:wget https:///SonarQubeCommunity/sonar-l10n-zh/releases/download/sonar-l10n-zh p lugin-1.11/sonar-l10n-zh-plugin-1.11.jar# 重启服务⽣效/usr/local/sonarqube/bin/linux-x86-64/sonar.sh restart# 刷新页⾯即可看到中⽂了安装插件可以安装各种语⾔插件php,java,pythonSonar-scaner扫描器部署使⽤Sonar-scaner扫描sonarqube 通过调⽤扫描器 sonar-scanner 进⾏代码质量分析,即扫描器的具体⼯作就是扫描代码:unzip sonar-scanner-2.6.1.zipmv sonar-scanner-2.6.1 /usr/local/ln -s /usr/local/sonar-scanner-2.6.1/ /usr/local/sonar-scannercd /usr/local/sonar-scanner/grep "^[a-Z]" conf/sonar-scanner.propertiessonar.host.url=http://149.129.38.117:9000sonar.sourceEncoding=UTF-8ername=sonarsonar.jdbc.password=ZHOUjian.21sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8准备测试代码unzip sonar-examples-master.zipmv sonar-examples-master/ /usr/local/src/cd /usr/local/src/sonar-examples-master/cat projects/languages/python/python-sonar-runner/sonar-project.properties# Required metadatasonar.projectKey=org.sonarqube:python-simple-sonar-scannersonar.projectName=Python :: Simple Project : SonarQube Scanner # 项⽬名称,会显⽰在仪表盘sonar.projectVersion=1.0# Comma-separated paths to directories with sources (required)sonar.sources=src # 代码⽬录# Languagenguage=py # 语⾔格式# Encoding of the source filessonar.sourceEncoding=UTF-8执⾏扫描# 注意看我当前⽬录[root@jenkins python-sonar-runner]# pwd/usr/local/src/sonar-examples-master/projects/languages/python/python-sonar-runner# ⼿动在当前项⽬⽬录执⾏扫描,⼀下是扫描过程中信息# sonar-project.propertie 每个项⽬都要有/usr/local/sonar-scanner/bin/sonar-scannerINFO: Scanner configuration file: /usr/local/sonar-scanner/conf/sonar-scanner.propertiesINFO: Project root configuration file: /usr/local/src/sonar-examples-master/projects/languages/python/python-sonar-runner/sonar-project.properties INFO: SonarQube Scanner 2.6.1INFO: Java 1.8.0_151 Oracle Corporation (64-bit)INFO: Linux 3.10.0-514.26.2.el7.x86_64 amd64INFO: User cache: /root/.sonar/cacheINFO: Load global settingsINFO: Load global settings (done) | time=252msWARN: Property 'sonar.jdbc.url' is not supported any more. It will be ignored. There is no longer any DB connection to the SQ database.WARN: Property 'ername' is not supported any more. It will be ignored. There is no longer any DB connection to the SQ database.WARN: Property 'sonar.jdbc.password' is not supported any more. It will be ignored. There is no longer any DB connection to the SQ database.INFO: User cache: /root/.sonar/cacheINFO: Load plugins indexINFO: Load plugins index (done) | time=30msINFO: Download sonar-csharp-plugin-5.10.1.1411.jarINFO: Download sonar-python-plugin-1.8.0.1496.jarINFO: Download sonar-java-plugin-4.12.0.11033.jarINFO: Download sonar-l10n-zh-plugin-1.11.jarINFO: Plugin [l10nzh] defines 'l10nen' as base plugin. This metadata can be removed from manifest of l10n plugins since version 5.2.INFO: Download sonar-flex-plugin-2.3.jarINFO: Download sonar-scm-git-plugin-1.2.jarINFO: Download sonar-xml-plugin-1.4.3.1027.jarINFO: Download sonar-php-plugin-2.10.0.2087.jarINFO: Download sonar-scm-svn-plugin-1.5.0.715.jarINFO: Download sonar-javascript-plugin-3.1.1.5128.jarINFO: SonarQube server 6.5.0INFO: Default locale: "en_US", source code encoding: "UTF-8"INFO: Process project propertiesINFO: Load project repositoriesINFO: Load project repositories (done) | time=199msINFO: Load quality profilesINFO: Load quality profiles (done) | time=106msINFO: Load active rulesINFO: Load active rules (done) | time=1965msINFO: Load metrics repositoryINFO: Load metrics repository (done) | time=202msWARN: SCM provider autodetection failed. No SCM provider claims to support this project. Please use sonar.scm.provider to define SCM of your project.INFO: Publish modeINFO: Project key: org.sonarqube:python-simple-sonar-scannerINFO: ------------- Scan Python :: Simple Project : SonarQube ScannerINFO: Load server rulesINFO: Load server rules (done) | time=277msINFO: Language is forced to pyINFO: Base dir: /usr/local/src/sonar-examples-master/projects/languages/python/python-sonar-runnerINFO: Working dir: /usr/local/src/sonar-examples-master/projects/languages/python/python-sonar-runner/.sonarINFO: Source paths: srcINFO: Source encoding: UTF-8, default locale: en_USINFO: Index filesINFO: 9 files indexedINFO: Quality profile for py: Sonar wayINFO: Sensor PythonXUnitSensor [python]INFO: Sensor PythonXUnitSensor [python] (done) | time=115msINFO: Sensor Python Squid Sensor [python]INFO: Python unit test coverageINFO: Python integration test coverageINFO: Python overall test coverageINFO: Sensor Python Squid Sensor [python] (done) | time=1378msINFO: Sensor SonarJavaXmlFileSensor [java]INFO: Sensor SonarJavaXmlFileSensor [java] (done) | time=0msINFO: Sensor Analyzer for "php.ini" files [php]INFO: Sensor Analyzer for "php.ini" files [php] (done) | time=13msINFO: Sensor Zero Coverage SensorINFO: Sensor Zero Coverage Sensor (done) | time=27msINFO: Sensor CPD Block IndexerINFO: Sensor CPD Block Indexer (done) | time=157msINFO: No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it.INFO: 5 files had no CPD blocksINFO: Calculating CPD for 4 filesINFO: CPD calculation finishedINFO: Analysis report generated in 141ms, dir size=54 KBINFO: Analysis reports compressed in 26ms, zip size=27 KBINFO: Analysis report uploaded in 782msINFO: ANALYSIS SUCCESSFUL, you can browse http://149.129.38.117:9000/dashboard/index/org.sonarqube:python-simple-sonar-scanner INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis reportINFO: More about the report processing at http://149.129.38.117:9000/api/ce/task?id=AXK4TU1CIpzWVToFffwUINFO: Task total time: 20.514 sINFO: ------------------------------------------------------------------------INFO: EXECUTION SUCCESSINFO: ------------------------------------------------------------------------INFO: Total time: 38.804sINFO: Final Memory: 43M/105MINFO: ------------------------------------------------------------------------# 接下来我们到sonar仪表看查看⼀下Jenkins关联到SonarQubejenkins安装sonar插件Jenkins安装请看上⼀篇⽂章要想让Jenkins关联到sonarqube需要先安装插件,在jenkins插件安装SonarQubePlugin,其次配置SonarQube server.jenkins配置sonarjenkins关联到sonar配置扫描[root@jenkins ~]# cat /usr/local/src/sonar-examples-master/projects/languages/python/python-sonar-runner/sonar-project.properties # Required metadatasonar.projectKey=org.sonarqube:python-simple-sonar-scannersonar.projectName=Python :: Simple Project : SonarQube Scannersonar.projectVersion=1.0# Comma-separated paths to directories with sources (required)sonar.sources=src# Languagenguage=py# Encoding of the source filessonar.sourceEncoding=UTF-8。
软件技术专业毕业论文参考选题

软件技术专业毕业论文选题1、多媒体远程教学课件系统中Flash技术及其应用2、Internet 环境中远程教学系统的网络安全问题3、多媒体课件中交互性的实现4、网络教学系统的分析与设计5、计算机病毒的预防技术探讨6、一个网络调查统计系统7、实用课件制作方法的探讨8、CAI 课件的设计与实现9、电子银行防火墙研究10、浅谈SQL 和SQL Server 2000应用11、谈校园网安全访问控制体系12、C/S 与B/S的特点比较13、图书馆信息管理系统的设计与实现14、中国电子商务如何与国际接轨分析15、电子商务与企业竞争力16、关于发展我国电子政务的思考17、电子商务与企业信息化18、关于加快发展中国网络银行的思考19、电子商务在证券业中的应用20、电子商务网站的建设及规划21、购物网站的设计22、网上订购平台的设计23、防火墙的应用研究24、操作系统的安全研究25、数据库系统的安全研究。
26、计算机病毒防治新趋势27、入侵检测系统应用研究28、信息传输加密研究29、信息存储加密研究30、电子支付技术研究31、电子商务安全问题32、B toB、BtoC、CtoC 模式探讨33、各大专院校教学管理数据库的设计与开发;34、企业生产、销售管理数据库的设计与开发;35、各事业单位管理数据库的设计与开发;36、大学校园网的设计与开发;37、网络软件的开发和研究;38、网络各种硬件的研制与开发;39、网络理论的研究;40、网络在商业中的应用;41、网络在自动检测、临控系统中的应用;42、网络在交通管理中的应用;43、网络在安全保卫系统中的应用;44、局域网、城域网的设计与开发;45、网络在银行管理系统中的应用;46、网络在新技术、新发明管理中的应用;47、网络在图书、资料管理系统中的应用;48、网络在各类保险系统中的应用。
49、实时性远程答疑系统50、图书馆管理系统51、基于WWW的协同式CAI 软件的Java 实现52、数据加密技术53、项解加密技术概念、加密方法以及应用54、基于Client/Server的课件系统的设计与实现55、SQLServer2000全文检索技术56、基于B/S体系结构开发应用系统57、项目管理在软件中的应用58、ASP制作学生档案管理系统59、ASP.NET 的网站新闻管理系统设计与实现60、浅谈网上教学的实践与探索61、论信息时代的学校网络教学62、现代信息技术促进教学现代化63、工业自动化的发展64、并行分布计算中的任务划分与调度65、高速缓存的一致性问题及基于总线侦听的几种协议66、面向对象思想在VoIP 呼叫处理软件设计与实现中的应用67、操作系统的访问控制68、基于WEB 数据采掘的个性化远程教学树69、模拟信用卡数据分析系统70、网络流量测量软件的设计与实现71、XML语言的产生与应用72、物资管理信息系统73、Web 挖掘方法研究74、电视节目制作中的图形图像格式75、框架及任务剖析76、WEB 服务器多框架解决方案77、Web 信息提取技术研究与应用78、Web服务器日志分析的原理和技术79、数字图像处理技术80、USB 技术及其驱动程序开发81、USB及基于USB 的数据同步传输问题82、视频采集卡原理分析与硬件设计83、网络多媒体图象压缩技术解压缩实现84、语音识别技术的实现研究85、基于COM+的分布式WEB应用系统研究86、智能的交换式IP 骨干网解决方案87、分析影响WEB 服务器性能的主要因素及其优化解决方案88、智能网的发展89、宽带智能网及其关键技术90、基于遗传算法的网格任务调度算法的研究91、建立基于Web 技术的邮件服务平台92、中小型企业内部信息网93、层次交换网络体系结构及其服务质量实现机制94、嵌入式Internet技术的研究95、缓冲区溢出攻击的分析及防范策略96、基于特征分析的入侵检测事件融合推理技术的研究97、网络攻击方法分析98、安全E-mail代理系统的研究与设计99、国内电子商务面临的问题及解决办法100、电子商务服务器与电子商务购物过程101、数据加密技术与安全电子交易浅析102、四种并行通讯系统的测试比较103、单片机和计算机的无线通讯104、基于ASP 技术的网上考试系统的设计与实现105、基于VB 技术的管理系统的设计与实现106、基于C/S结构的学生信息管理系统的设计与实现107、基于JSP 技术的信息管理系统的设计与实现108、基于B/S 架构的学生信息管理系统的设计与实现109、基于JAV A 的MP3播放器的设计与实现110、企业工资管理系统111、网站的动态管理系统的设计与实现112、校园网布线及服务配置方案113、新闻发布系统设计与实现114、VPN 技术的应用115、资料管理系统的设计与实现1Web的入侵防御系统的设计与实现2基于Web的新闻发布系统3基于Web Service的数据库同步系统的设计与实现ﻫ4基于手机短信平台聊天程序的设计与实现5基于WebService的异构数据库检索系统的设计63G的AKA协议中F1至F5的服务网络端实现7家庭理财系统的设计与实现8 “欢乐时光”病毒检测工具的实现9基于LOTUS的故障报修系统的设计与实现10多语种视频音频播放器的设计与实现12基于改进的BM算11实验室计算机的IP地址自动设置程序——客户端的设计与实现ﻫ14Win32平台下的PE文件病毒的研究及法在IDS中的实现ﻫ13第二代木马的研究与实现ﻫ15机房监控系统的设计与实现实现ﻫ16 RSA密码体制的实现18基于网络的虚拟实验平17虚拟实验平台的网络化改进方向—教师管理模块的设计与实现ﻫ02基于Apri19网络数据包的协议分析程序的设计开发ﻫ台—电路管理模块的设计与实现ﻫ21并行接口器件功能演示的可视化设计学位论ori算法的关联规则挖掘系统的设计与实现ﻫ文ﻫ22基于DES加密算法的WORD加密插件的实现23某公司员工管理系统的设计与实现24大随机数生成器算法的研究与实现25教育报表管理系统-权限管理模块26某百货店POS积分管理系统-积分添加和通票回收ﻫ723G的AKA协议中F1至F5的U E端的实现29某店POS积分管理系统ﻫ30信息安全研究所设28基于半打开的端口扫描技术及其实现ﻫ31vCalendar的跨平台系统的设计备管理系统的设计与实现ﻫ32 Delaunay算法的实现与应用ﻫ33Iptables图形管理工具的设计与实现34木马检测工具的实现35面向对象的数据建模——数据筛选接口的设计37教务管理平台-权限及公共36基于ICMP模拟网络控制软件的开发——控制管理模块ﻫ模块设计与开发ﻫ38信息加密与隐藏工具的设计与实现39基于ICMP模拟网络控制软件开发——接收处理模块ﻫ40手机游戏(堡垒)的设计与开发41一个基于单片机精确计时的电源开关程序的设计与实现ﻫ42 Linux下的简单网络管理控制系统的设计与开发44注册表管理工具设计与实现-秦智43一种远程管理Linux系统工具的设计与实现ﻫ45基于Windows平台的个人防火墙设计46简易代理服务器设计47基于网络的虚拟实验平台—VLP2P通信库的设计与实现48基于BS方式的即时通讯软件的设计与实现49人机接口设备—LED类部件的仿真实现50 SMART系统-系统框架设计与开发ﻫ51一个Windows下基于电话线路的数据通信程序的设计与实现ﻫ52基于Linux的远程管理系统服务器端的实现54文档资料管理系统的设计与实现53Excel条件格式化工具的设计与实现ﻫ。
简单端口扫描程序的实现

计算机网络课程设计论文题目:简单端口扫描程序的实现院(部)名称:计算机科学与工程学院学生姓名:专业:学号:指导教师姓名:报告提交时间:报告答辩时间:(不填)目录一、设计要求 (3)二、开发环境与工具 (3)三、设计原理 (3)四、系统功能描述及软件模块划分 (3)五、设计步骤 (5)六、关键问题及其解决方法 (5)七、设计结果 (15)八、软件使用说明 (16)九、参考资料 (16)一、设计要求本系统实现了一个简单的端口扫描器。
1. 使用端口扫描对一台主机进行扫描,一台主机上有哪些端口是打开的;2. 对一个网段进行 IP 扫描,显示出一个网段内有哪些主机是开机的。
二、开发环境与工具Windows的pc机Jdk包,:具备网络环境并连入Internet。
三、设计原理IP地址和端口被称作套接字,它代表一个TCP连接的一个连接端。
为了获得TCP服务,必须在发送机的一个端口上和接收机的一个端口上建立连接。
TCP连接用两个连接端来区别,也就是(连接端1,连接端2)。
连接端互相发送数据包。
端口扫描是在应用程序运行在 TCP 或者 UDP 协议之上工作的, 这些协议是众多应用程序使用的传输机制,端口扫描是通过扫描主机确定哪一些 TCP 和UDP 端口可以访问的过程. 端口扫描常见的几种类型: TCP Connect()扫描 SYN 扫描 NULL 扫描 ACK 扫描 Xmas-Tree Dumb 扫描。
Ping命令经常用来对TCP/IP网络进行诊断。
通过目标计算机发送一个数据包,让它将这个数据包反送回来,如果返回的数据包和发送的数据包一致,那就是说你的PING命令成功了。
通过这样对返回的数据进行分析,就能判断计算机是否开着,或者这个数据包从发送到返回需要多少时间。
Tracert命令用来跟踪一个消息从一台计算机到另一台计算机所走的路径, rusers和finger 通过这两个命令,你能收集到目标计算机上的有关用户的消息。
可参考的100个较粗糙的题目

1、WEB数据挖掘与知识发现系统开发2、利用概率算法的非线性方程组计算机仿真3、遗传算法在大规模0-1背包问题中的应用4、利用SQL Server2000的Analysis Service构建数据挖掘模型5、基于梯度的图像分割方法6、基于多媒体产品版权保护的数字水印技术的研究与应用7、基于电子商务信贷数据保护的数字水印系统设计8、小型语言编译器的设计与实现9、数字图像的腐蚀与膨胀算法10、适用于图像增强处理的滤波器的分析与设计11、基于Internet的数字水印技术的安全交易网络模型的设计与实现12、基于OpenGL的STL文件的显示、拼接和剖分13、基于XML的CAPP(Computer Aided Process Planning)工艺数据描述14、图像轮廓提取与跟踪算法的设计与实现15、基于模糊评价的管理数据库的知识挖掘16、文件加密解密算法的研究与实现(对当前文件加密解密算法进行分析研究,并实现其中一些算法,建议使用VC++语言)或者(文件的压缩+加密与解密+解压缩软件设计)17、缺陷跟踪系统(Defect Tracking System)18、图像点运算程序的开发19、企业网的安全策略分析20、TCP端口扫描程序设计(端口扫描技术的分析与实践)21、基于支撑向量机的模式分类22、图像几何变换的理论与实现23、ftp下一个缓冲区溢出漏洞的验证24、跨平台并行多线程下载工具的开发(基于Java)25、多媒体实时通信中同步和差错控制技术实现26、IP网络安全组播研究27、M3UA/M2UA协议消息解析工具的设计与实现28、基于Java跨平台图片浏览程序的开发29、并行计算机体系结构中面向性能的程序设计的分析与研究30、基于SPI和NDIS的网络防火墙的开发31、三维地形漫游系统32、Web搜索引擎分析与设计33、WWW服务器的攻击与防范34、数据挖掘技术的算法分析与实现35、电子邮件系统的安全问题研究36、E-mail的加解密实现37、反病毒引擎设计38、使用UDP协议通信的客户/服务器设计与实现39、USB接口驱动程序的实现40、Web路径聚类工具的设计与实现41、入侵检测中捕获程序的设计42、汽车牌照文字识别43、基于可靠性评价模型的软件可靠性评价44、MPLS基于约束路由的标签分发协议(CR-LDP)研究45、微粒群优化算法研究46、基于MP的图象稀疏分解47、集装箱箱号识别48、基于共享内存机制的进程间信息交换研究49、代理服务器原理与设计50、PFTS(物理帧时槽交换)VCI分发协议设计51、OPENSSL 的加密例程应用研究52、COM+组件分布式事务研究及应用53、网络数据帧监测与分析54、PFTS(物理帧时槽交换)转发环路监测与预防方法研究55、基于TCP/IP协议的数据传输程序设计56、Web文档聚类方法研究与实现57、Web挖掘技术研究58、蚁群算法及应用研究59、基于中间件的信息共享技术研究60、OSPF协议分析与应用61、MS SQL Server漏洞扫描器设计与实现62、SMTP协议漏洞扫描器的设计与实现63、基于EXCEL格式文件的电子水印算法设计及实现64、基于PDF格式文件的电子水印算法设计及实现65、基于WORD格式文件的电子水印算法设计及实现66、PC防火墙系统研究与实现67、IPV4向IPV6过渡技术研究68、路由协议研究69、Windows进程信息提取及监测软件的设计与实现70、城市交通径路选择算法及其实现71、Linux内存管理方法研究72、socket通信程序的设计73、WEB网页挖掘及其应用74、SQL Server并发控制策略及应用75、嵌入式SQL语言及其应用76、多媒体数字水印认证系统77、面向对象软件测试技术研究78、几种多边形填充算法的性能分析和比较79、一个小型编译器的移植80、文件加密器的设计和实现81、分布式仿真软件进程调度算法研究82、基于NDIS的防火墙系统研究与实现83、Windows网络报文截获机制的研究及其应用84、SMTP和POP3协议研究与客户端实现85、负关联规则算法研究与实现86、计算机端口扫描器的设计与实现87、企业网络安全整体解决方案88、802.16d/e MAC协议分析与仿真89、数据库脚本编辑器软件设计90、卷积码码字特性的计算机搜索算法实现91、表达式智能计算器设计92、VC++构建通用图像处理软件平台93、哈夫曼编码/译码演示系统设计94、贪心法+改进遗传算法求解TSP95、模式贪心法+改进遗传算法求解TSP96、量子遗传算法的改进及其在求解背包问题中的应用97、数据压缩解压程序设计98、神经网络边缘检测99、AES加密标准及其安全性研究100、多文件下载的Java Bean组件开发。
实验五 端口扫描器实验报告(付代码)

实验5:端口扫描器的设计与实现姓名:学号:专业年级:(一)实验目的和内容:目的:加深对TCP的理解,学习端口扫描技术和原理,熟悉socket编程。
内容:实现一个扫描器,使用TCP connect进行端口扫描,并对扫描结果进行记录。
(二)课程设计要求:Windows或Linux环境下,程序在单机上运行;使用端口扫描器对一台主机进行扫描,并显示出结果;编程语言不限;提供友好的用户界面。
(三)端口扫描技术:“端口”是专门为计算机通信而设计的,它不是硬件,不同于计算机中的“插槽”,可以说是个“软插槽”。
“端口”是由计算机的通信协议TCP/IP协议定义的。
其中规定,用IP地址和端口作为套接字,它代表TCP连接的一个连接端,一般称为Socket。
具体来说,就是用[IP:端口]来定位一台主机中的进程。
计算机就像一座大楼,这个大楼有好多入口(端口),进到不同的入口中就可以找到不同的公司(进程)。
端口与进程是一一对应的,入侵者通过扫描端口,便可以判断出目标计算机有哪些通信进程正在等待连接。
(四)扫描端口的目的:端口扫描是入侵者搜集信息的几种常用手法之一,也正是这一过程最容易使入侵者暴露自己的身份和意图。
•判断目标主机上开放了哪些服务;•判断目标主机的操作系统。
如果入侵者掌握了目标主机开放了哪些服务,运行何种操作系统,他们就能够使用相应的手段实现入侵。
(五)端口的分类:端口是一个16 bit的地址,用端口号进行标识不同的作用。
端口一般分为两类。
•熟知端口号(公认端口号):由因特网指派名字和号码公司ICANN负责分配给一些常用的应用层程序固定使用的熟知端口,其数值一般为0~1023。
•一般端口号:用来随时分配给请求通信的客户进程。
(六)扫描原理的基础知识:TCP/IP模型四层结构TCP与UDP协议TCP报文结构TCP连接和释放过程(七)TCP/IP模型四层结构:(八)TCP与UDP协议:Internet的网络通信大多是建立在这两个协议之上的,各个主机遵循着TCP/IP协议封装数据包进行通信。
Java课程设计待选题目

五、待选题目:(不能重复选择即选过的题目别的组不能再选)1、Java桌面应用和信息管理系统(1)学生毕业论文管理系统(2人)(2)固定资产管理系统(2人)(3)企业人事管理系统(2人)(4)酒店管理系统(2人)(5)小区物业管理系统(2人)(6)标准化考试系统(2人)(7)学生学籍管理系统(2人)(8)日历记事本系统(1人)(9)中国象棋对弈系统(1人)(10)扫雷游戏(1人)(11)走迷宫游戏(1人)(12)8皇后问题演示系统(1人)(13)保存计算过程的计算器(1人)(14)骑士游历演示系统(1人)(15)俄罗斯方块游戏(2人)(16)人事管理系统(2人)(17)学生信息管理系统(2人)(18)超市管理系统(2人)(19)高考管理系统(2人)(20)雇员管理系统(2人)(21)运动会成绩管理系统(2人)(22)图书管理系统(2人)(23)网络聊天程序(2人)(24)文档编辑器(至少具有记事本功能)(1人)(25)Java媒体播放器的设计与实现(2人)(26)拼图游戏(1人)(27)进销存管理系统(2人)(28)企业内部通信系统(2人)(29)网络斗地主(1人)(30)“连连看”游戏(1人)(31)网络五子棋(1人)(32)实验教学管理系统(2人)(33)OA办公系统(2人)(34)基于多线程的端口扫描器(1人)(35)资产管理系统(2人)参考资料:[1]耿祥义,张跃平.《Java课程设计》.清华大学出版社,2006年。
[2]黄晓东.《Java课程设计案例精编》.中国水利水电出版社,2007年。
[3]袁然,郑自国,邹丰义.《java案例开发集锦》,电子工业出版社,2005年。
[4]黄明等编著,Java系统设计与开发实例(第二版).机械工业出版社,2005年[5]苗春义等编著Java项目开发全程实录清华大学出版社。
[6]其它参考资料可参看或其它网站。
[7]周亚辉,Java数据库系统项目开发实践,科学出版社。
计算机网络课程设计题目和要求

计算机网络课程设计通过课程设计,使学生在对计算机网络技术与发展整体了解的基础上,掌握网络的主要种类和常用协议的概念及原理,初步掌握以TCP/IP协议族为主的网络协议结构,培养学生在TCP/IP协议和LAN、WAN上的实际工作能力;学会网络构建、网络日常维护以及网络管理的方法,使学生掌握在信息化社会建设过程中所必须具备的计算机网络组网和建设所需的基本知识与操作技能;运用网络工程和软件工程思想,按照需求分析、规划、设计、配置的基本流程,经历一个完整的网络工程过程,培养学生调查研究、查阅技术文献、资料、手册以及编写技术文档的能力,培养学生将理论知识应用于实践的能力;一、格式要求及须知:(1)使用学院网站的课程设计模版,要求格式美观,字体及编号要求见表1;表1 字体及编号要求(2)参考文献:参考课本的参考文献格式附录C;但编号换成1、2……(3)附录:课程设计中的代码或得到的数据包等数据将作为该设计附件或附录,题目需要但没有的相应代码及数据包文件的将记整组不及格,需要重做; (4)成绩记录:该设计成绩将记录到教务处成绩管理系统中;6 如发现两组设计雷同或抄袭互联网,该组重做二、任务完成形式:交付课程设计说明书、设计作品需要验收;设计作品指的是完整的源程序代码对于第二类题目为仿真文件;课程设计说明书纸质+电子版,内容包括:设计任务、需求分析、总体设计、详细设计相应地给出关键的代码、设计总结评价/遇到的问题/体会/建议等、使用说明等;设计工作计划与进度安排:根据所选题目,合理安排进度计划,总体上需要40个小时;以下仅供参考:1. 原理知识 4小时2. 程序设计技术 4小时3. 开发环境与程序调试环境 4小时4. 总体设计、关键环节的详细设计 8小时5. 系统实现编码与调试 12小时6. 课程设计说明书 8小时成绩评定方式:总评成绩=平时成绩x10﹪+软件演示与陈述x45﹪+课程设计说明书x45﹪设计题目与任务:每组自由分组从下列题目中任选其一,班长统计每组题目,报给指导老师;注意题目不能重复辅导时间、验收时间安排:辅导时间:1、网络答疑群号2、现场答疑:第4,5周周二下午 5678节周五上午 1234节周日上午 1234节辅导答疑地点:14307上机指导地点:14410验收时间:周日 14410 8:30~12:00课程设计报告上交时间周五上午11:00交到14307第一类:网络编程类题目以软件形式验收要求:1推荐采用图形界面实现;2程序代码书写规范,有充足的注释;3绿色软件:程序运行不需安装,避免写系统和注册表;4开发平台、开发语言不限;5 明确题目的意图,设计上应有足够的工作量题目1 基于C/S模式的简单聊天程序2人1、设计要求使用Socket实现网上聊天功能;用户可以通过客户端连接到服务器端并进行网上聊天;聊天时可以启动多个客户端;服务器端启动后,接收客户端发来的用户名和密码验证信息;验证通过则以当前的聊天客户列表信息进行响应;此后接收客户端发来的聊天信息,转发给客户端指定的聊天客户即私聊或所有其他客户端;在客户断开连接后公告其退出聊天系统的信息;客户端启动后在GUI界面接收用户输入的服务器端信息、账号和密码等验证客户的身份;验证通过则显示当前系统在线客户列表;客户可以与指定对象进行私聊,也可以向系统中所有在线客户发送信息;实现本程序需要了解网络基础知识,掌握C/S结构的工作特点,掌握数据结构、高级语言及网络编程知识,可以选择Visual C++、C或Java等语言实现;2、课程设计报告内容1 给出系统的结构;2 给出程序的流程图;3 分别给出服务器端和客户端的程序源码;4 给出程序的部分运行测试结果;题目2 基于C/S模式的通讯录查询程序2人1、设计要求采用C/S模式,编写程序,实现通过客户端查询服务器端的通讯录的功能;1 服务器端接收客户端的查询请求,验证客户身份,如通过身份验证,则将客户要查询的通信录记录返回客户端;客户身份数据及通信录数据均为虚拟数据,可自行编制,客户身份至少应有客户ID、客户密码登录密码,通信录记录包括:人员编号ID、姓名,单位地址、手机号码、单位电话、宅电等;所有字段的数据类型可自行设计;2 客户端以GUI方式接收用户输入的查询请求,向服务器发出查询并接收和显示查询结果;3 其他说明客户端需包括如下的按钮:连接;连接到查询服务器,回应:连接成功/失败;登录;用户登录由服务器验证用户的身份;回应:若用户不存在,提示“无此用户”;若用户存在,提示“密码:”,用户输入密码后,若正确提示“登录成功”,若不正确提示“密码错”;查询;根据用户ID或姓名查询用户信息;回应:若用户号或姓名不存在,提示“错误的用户号或姓名”;若用户号或姓名存在,给出该记录的详细信息;退出;退出查询系统,断开与服务器的连接;服务器端的通讯录保存在数据库中,数据库类型不限;实现本程序需要了解网络基础知识,掌握C/S结构的工作特点,掌握数据结构、高级语言及网络编程知识,可以选择Visual C++、C或Java等语言实现;2、课程设计报告内容1 给出系统的结构;2 给出程序的流程图;3 给出服务器端的数据表结构;4 分别给出客户端和服务器端的程序源码;5 给出程序的部分运行测试结果;题目3 FTP客户端的设计与实现 2人1、设计要求遵循FTP协议,实现一个FTP的客户端程序,根据账号和密码登录指定的FTP 服务器,可以查看服务器内容列表,下载选定的文件,重命名或删除指定的文件/文件夹,也可以把本地文件上传到服务器上;实现本程序需要了解网络基础知识,掌握FTP的工作过程,了解FTP的相关命令,掌握高级语言及网络编程知识,可以选择Visual C++、Java或C等语言实现;2、课程设计报告内容1 给出相关的原理和设计思路;2 给出程序的流程图;3 给出程序源码;4 给出程序的部分运行测试结果;题目4 PING程序的设计与实现 2人1、设计要求设计并实现程序,实现类似Windows自带PING程序的功能,可以向指定的域名或IP地址发送Echo 请求报文,并根据响应报文显示出Ping的结果;程序仅支持-t 选项即可;实现本程序需要了解网络基础知识,掌握Ping命令的使用、ICMP报文的作用和结构、高级语言及网络编程知识,可以选择Visual C++、C或Java等语言实现;2、课程设计报告内容1 给出相关的原理和设计思路;2 给出程序的流程图;3 给出程序源码;4 给出程序的部分运行测试结果;题目5 一个单工的停-等协议及支持重传确定协议的实现2人1、设计要求对一个单工的停-等协议及支持重传肯定确定协议进行解释说明,并分别给出一个单工的停-等协议及支持肯定协议的例子,对函数进行解释说明;2、课程设计报告内容1 给出设计的需求分析,包括概要设计,详细设计;2 列出程序代码;3 给出程序实现结果抓图;题目6 路由器查表过程模拟 2人1、设计要求编程模拟路由器查找路由表的过程,用目的地址掩码下一跳的IP路由表以及目的地址作为输入,为目的地址查找路由表,找出正确的下一跳并输出结果;2、课程设计报告内容1 给出路由表的相关知识和原理;2 详细描述设计过程;3 给出设计思路;4 列出程序代码;5 给出查找过程的测试结果;题目7 基于多线程的端口扫描程序 2人1、设计要求使用Socket实现简单的端口扫描功能;分别针对TCP和UDP,采用多线程技术实现端口扫描,给出扫描结果;实现本程序需要了解网络基础知识、网络安全基础知识,掌握C/S结构的工作特点,掌握高级语言及网络编程知识,可以选择Visual C++、C或Java等语言实现;2、课程设计报告内容1 给出程序的流程图;2 给出程序源码;3 给出程序的部分运行测试结果;题目8 循环冗余校验CRC算法的实现 2人1利用结构体或数组模拟网络数据包结构;2编码实现CRC算法,并将得到的校验位附加到网络数据包相应的位置;3根据数据包的长度,随机生成一个数据包产生突变的位置,并对该位置的bit 位模拟突变的产生;4重新利用CRC算法校验该数据包,并指出产生的结果;5CRC能够检出所有的错误吗如果不能,你能构造出无法检错的实例吗2、课程设计报告内容1 给出程序的流程图;2 给出程序源码;3 给出程序的测试结果;题目9 子网划分工具的设计与实现 2人1、设计要求1编程实现一个子网划分的简单工具;2能够根据用户输入的网络地址和子网掩码,判断出用户输入的合法性及网络的类别A、B、C地址;3能够计算出下列参数:子网数及有效子网、每个子网的主机数、每个子网IP范围及广播地址;4应有相应的帮助提示及良好的结果输出组织,易于用户使用和查看结果; 2、课程设计报告内容1 给出程序的流程图;2 给出程序源码;3 给出程序的部分运行测试结果;题目10 电路交换和分组交换的软件仿真比较2人软件编程语言不限实现将数据报文划分成若干个大小有限的短数据块,在每个数据块前面加上一些控制信息即首部,包括诸如数据收发的目的地址、源地址,数据块的序号等,形成一个个分组,然后各分组在交换网内采用“存储转发”机制将数据从源端发送到目的端;节点交换机数目和连接方式可以根据需要自行设定;然后用将同样的报文用电路交换的方式从源端发送到目的端;2、课程设计报告内容1给出将报文划分成若干大小有限的短数据块和目的端接收到数据后将数据报文还原成原始报文的算法;2模拟报文在路由器之间存储转发的过程;3比较两种传输方式的效率;题目11 RIP路由协议原型系统的实现 2人1、设计要求在了解RIP路由协议工作原理的基础上,实现其原型系统;路由节点能够利用广播发布本地节点的路由信息,其它节点接收信息并选择最优路径;2、课程设计报告内容1描述并分析RIP路由协议的工作原理;2撰写设计文档;3实现RIP路由协议原型系统,该系统具备的功能包括:广播本地路由,接收其它节点路由信息,根据路由信息选择最佳路径,支持最大不超过15跳的特性;4测试原型系统功能,撰写报告;题目12 TCP头部校验和计算方法的实现2人1、设计要求在网络数据传输过程中,网络上的数据都要通过差错控制来保证其数据的正确性;进行差错检测和控制的主要方法是:发送放在需要发送的数据后面增加一定的冗余信息,这些冗余信息通常是通过对发送的数据进行某种算法计算而得到的;接收方对数据进行同样的计算然后比较冗余信息以检测数据是否正确;2、课程设计报告内容1对比TCP头部中校验和计算方式描述校验和计算方法2画出计算校验和算法的流程图;3计算编写程序完成校验和的过程;4给出一个数据,计算其校验和并验证,写出结果;题目13 基于C/S的时间同步服务器的实现2人1、设计要求时间服务器是在局域网中作为发布统一时间的服务器,它利用电脑网络把时间信息传递给用户;要求参照现有的时间服务器的原理以及效果实现一个时间服务器的服务端和客户端;服务器端开放指定的端口发布时间到网络中,其他客户端从网络中获取该时间并将本地时间与之同步;2、课程设计报告内容1给出相关的原理、设计思想和设计过程;2画出时间同步服务器端与客户端的算法流程图;3实现服务器端和客户端并给出使用说明;4测试服务器端与客户端,写出测试结果;题目14 基于TCP的数据包发送和接收程序的实现2人1、设计要求TCP是一种面向连接的、可靠的传输层协议;TCP协议工作在网络层IP的基础上;本课程设计的目的是设计一个发送和接受TCP数据包的程序,其功能是填充一个TCP数据包,发送给目的主机,并在目的主机接收此TCP数据包,将数据字段显示显示在标准输出上;2、课程设计报告内容1 给出TCP传输的原理和过程;2 分别给出服务器端和客户端设计的思路;3 服务器端和客户端的程序代码;4 给出测试结果截图并撰写课程设计报告;题目15 网络数据包的捕获与分析 2人1、设计要求Jpcap是使用java语言编写的一个开源库,使用该库的函数可以方便的捕获网络上传输的数据包;要求使用该库函数实现捕获经过一个网卡的所有流量,并能显示出来或存入数据库并按照要求撰写课程设计报告;2、课程设计报告内容1用java 的Jpcap开源库捕获数据包;2通过编程实现抓取通过一个网卡的所有数据包,并把这些数据包存入数据库;3运用所学的网络知识对数据包进行分析,并把分析所得的结果用友好的界面呈现;4给出相关的原理和设计思路、程序的流程图、程序源码及运行测试结果; 题目16 网络U盘2人1实现远程主机上管理自己的文件:如创建、打开、复制、删除文件或目录以及远程文件上传、下载;2程序包括客户端和服务器端两部分:客户端使用图形用户界面发出各种管理命令;接收服务器返回的操作结果;服务器为每个用户建立一个目录网络U盘,服务器维护用户对目录操作权限的列表,负责验证用户对文件的操作权限;接收和执行授权用户的命令并返回操作结果;3用户界面:服务器端界面显示用户登录及认证信息和操作日志;客户端界面可以设置远程主机名;显示远程文件列表;操作命令可以采用菜单、按钮及弹出菜单来实现;要求界面布局合理、简洁美观;4运用Socket 技术,使用TCP协议题目17 模拟以太网帧封装1人要求:根据给出的原始数据,组装一个格式的帧;默认的输入文件为二进制原始数据;封装得到的帧输出到二进制数据文件中;题目18 网卡驱动程序设计2人要求:熟悉Windows DDKDriver Development Kit编程机制,了解NDISNetwork Device Interface Specification提供的一些库函数的使用方法和各种数据结构的定义;掌握用Visual C++ 开发中小型项目的方法,并学会使用Driver Studio集成DDK来建立网络驱动程序的基本框架;应用Visual C++ + WINDOWS DDK + Driver Studio实现一个简单的Realtek8139小端口网卡驱动程序;题目19网络流量统计2人要求:监控网络,捕获一段时间内网络上的IP数据包,按IP数据包的源地址统计出该源地址在该时间段内发出的IP数据包的个数,并将其用图形表示出来;题目20包过滤防火墙的设计与实现2人要求:要求实现一个简单的包过滤防火墙,能够根据 IP 地址范围阻塞或允许客户机对 FTP 服务的访问;题目21 简单电子邮件客户端的设计与实现1人要求:完成一个电子邮件客户端软件,要求能够收取邮件、发送邮件、书写新邮件、具有图形化界面;提示:可选用基于JavaMail网络包实现;题目22 综合扫描器程序的实现2人1ARP扫描实现2ICMP扫描实现3TCP扫描实现4UDP扫描实现题目23 利用组播实现网络教学2人1通过socket接口,引用UDP协议,设置成组播通信方式2分别设计教师机端程序、学生机端程序,3教师机端程序将本机屏幕画面,定时地以多播方式传给学生机端程序显示题目24 本地计算机基本信息管理1人要求:如:获取计算机的名称和IP地址;获取计算机的子网掩码;获取计算机的DNS设置;获取计算机的网卡地址;获取计算机安装的协议;获取计算机提供的服务;获取计算机的所有网络资源;修改本地计算机的网络设置;获取计算机TCP/IP的所有信息;题目25 点对点语音聊天程序设计2人要求:程序主要由语音采集、语音发送、语音接收、语音播放四个部分组成;通信协议采用UDP;图形化界面;语音采集与播放采用windows APIACM接口;题目26 TCP通信仿真课件设计2人要求:设计一个课件程序,采用图形化设计,主要功能:1 能读取wireshark或sniffer工具所捕获的数据文件2 能以直观形式表达TCP连接的建立、释放过程3 能以直观形式表达报文序号变化、应答机制4 能以直观形式仿真报文的丢失与重传5 能以直观形式表达流量控制题目27 网络对弈程序设计1人要求:运用tcp协议设计一个五子棋联机对弈程序,采用图形化方式设计;题目28 网络游戏开发1人要求:开发一个网络游戏,如坦克大战、网页小游戏等;题目29加密解密软件的设计与实现2人要求:根据对称密钥密码体制或公钥密码体制加密解密算法的原理,设计并实现一个加密解密软件;题目30 网络对时程序实现2人1设计一个程序从internet上某个时间服务器,获取时间信息,准确地更新本地机时钟2采用ntp协议3支持手动、定时自动两种方式第二类:网络工程类题目以方案设计为主,以网络仿真为辅,仿真部分需要验收要求:1论文论述详尽;2论文包括设计任务、需求分析、总体设计方案与拓扑图、系统主要设备报价、软硬件设备选取、关键设计或配置、网络安全方案、其它如网络管理方案、综合布线设计、设计总结;3对方案中关键设计,尽可能用仿真软件进行仿真配置与测试;组网仿真软件建议采用packet tracer只能仿真cisco的部分中低端网络设备,当然为了能在该软件中进行仿真,对原方案中的设计进行必要的简化、设备作必要的变通是必然的;4题目中的XX,必须为具体的单位名称最好为自己所熟悉的5目标网络规模为中等规模的园区网络信息节点数为500个到5000个之间6VLAN技术、RIP或OSPF技术必须运用到设计中7支持internet接入8支持远程用户访问题目1 某企业组网方案设计 2人a、设计要求给出本课程设计的可行性分析,用户需求分析,网络规划,设备选型清单,系统配置,网络安全及管理措施,基于需求分析进行网络规划;b、课程设计报告内容1 完成需求分析;2 企业网络拓扑方案设计;3 列出所需网络设备、服务器、PC机的设备清单;4 给出部门PC机的IP地址分配方案;5 给出第三层VLAN设计方案;6 给出路由器配置方案;题目2 一个简单的校园网设计与实现 2人a、设计要求为所在学校设计一个简单的基于三层交换技术的校园网络;具体要求:1 每部门1个单独的子网,自定义子网需要的IP地址数,至少有4种不同的地址规模;23 计算每个部门的网络地址、掩码,并指定网关地址;4 每个子网1个单独的VLAN,并使用三层交换机互连各VLAN;b、课程设计报告内容1 计算各VLAN信息;2 绘制网络拓扑图,要求包含三层交换机、二层交换机等节点,并标注各VLAN 信息;3 完成交换机配置,具体包括:①三层交换机中创建VLAN,为VLAN分配IP,配置与二层交换机互连的Trunk链路;②二层交换机中创建VLAN,配置与三层交换机互连的Trunk链路,并体会跨二层交换机的VLAN配置;4 基于PacketTracer,实现校园网原型,并测试网络的可用性;题目3 校园无线网络组网方案设计2人a、题目内容和要求:⑴了解FIT AP和FAT AP的几种典型的组网方式;掌握无线网络的两种体系结构;掌握网络b、系统设计方法;⑵理解无线网络设备的工作原理,掌握无线网络控制器AC、无线网络接入点AP、无线网桥、交换机、路由器、服务器、防火墙、入侵检测、行为审计以及流量控制等设备的选型方法;⑶了解传统校园网服务的工作原理,掌握服务如DNS、WEB、FTP等的配置方法;⑷理解校园无线网络的室内外覆盖原则;掌握信道规划原理;⑸设计校园网络拓扑结构,并给出相应的校园无线网络的室内外覆盖方案和信道规划方案;⑹完成设备配置及测试;⑺按照要求撰写学年设计报告并准备答辩;题目4 某学院计算机大楼的综合布线系统方案设计2人a、题目内容与要求:⑴掌握综合布线系统的构成,熟悉各子系统相对应的设计原则;⑵能够对综合布线系统中用到的各种材料,譬如:支架、pvc管材、线缆、配线架、机柜等进行选型;⑶能够熟练使用综合布线系统中用到的相关安装工具和测试工具;⑷绘制出综合布线系统结构图、布线路由图、信息点分布图等;⑸按照要求撰写学年设计报告并准备答辩;大楼的基本情况:大楼为6层结构,建筑面积6000多平方米,有普通教室、多媒体教室、实训室、办公室、学生科技活动中心、图书阅览室等功能用房;一楼是办公区,二楼、三楼为教室,四楼、五楼为实训室;大楼除通常用的信息网络和语音电话外,在出入口、楼梯口、走廊和实训室安装了网络监控点,每层楼安装两个网络考勤点,该大楼的信息点的种类和数量如下表所示5. XX医院网络规划与设计2人6. XX社区网络规划与设计2人7. 其它单位网络组网方案设计2人8. 网络应用服务器的搭建2人1网络操作系统安装在虚拟机环境下2DNS、DHCP服务器3邮件服务器4P2P服务器5防火墙6VPN远程访问、远程管理参考资料:1.Winsock编程2.Winpcap编程3.Windows DDKDriver Development Kit编程机制;4.NDISNetwork Device Interface Specification提供的库函数5.Java网络编程基础(1)Internet地址操作(2)URL和URLConnection(3)套接字ServerSocket和Socket编程(4)JMail包6.组网技术7.网络技术与组网工程参考教材:1 吴功宜. 计算机网络课程设计. 机械工业出版社计算机网络课程设计计算机课程设计与综合实践规划教材.清华大学出版社网络编程实用教程第2版. 人民邮电出版社.2010 windows网络与通信程序设计第二版. 人民邮电出版社 //适合高手5 思科网络技术学院CCNA ——路由协议和概念6 思科网络技术学院CCNA ——LAN交换和无线。
计算机与通信工程学院实验中心开出实验项目一览表 - 长沙理工大学教务

建立数据库、定义与修改基本表、 建立与删除索引、定义视图、序列 Oracle数据库 和权限设置 云-理科楼B205 高 设计与优化 数据库的备份与恢复 数据库的性能调整 数据库应用系统的设计与开发 Visual Basic 6.0集成开发环境和设计 简单的VB应用程序 数据类型及其运算 数据的输入与输出 选择结构程序设计 VB程序设计 循环结构程序设计 常用控件 数组程序设计 过程程序设计 菜单、对话框与多重窗体程序设计 文件操作 类和对象应用 多态和虚函数,运算符重载 输入和输出流库 对话框和按钮控件 ++可视化程序设计 编辑框、列表框和组合框 框架窗口界面设计 文档序列化编程 图形和文本 综合试验设计(成绩管理系统设计 和实现) 使用XMLSpy编辑XML文档 使用DTD定义XML文档 使用XML Schema定义XML文档 使用CSS指定XML文档的显示格式 XML技术 使用DSO对象处理HTML中的XML 数据 使用XSLT转换XML文档 利用DOM技术处理XML数据 通过Java程序使用DOM处理XML数 据 熟悉XML文档编辑环境 XML Schema实践
结构体与联合体 类的设计和实现 综合试验设计(成绩管理) 熟悉C语言的开发环境 数据类型 选择结构程序设计 循环结构程序设计 C语言程序设计 函数与编译预处理 数组 指针 结构体与共用体 文件 结构化需求分析 软件工程A 结构化软件设计与测试 辅助软件工程实践环境Rational Rose 的使用 JAVA面向对象程序设计1 JAVA面向对象程序设计2 JAVA程序设计 JAVA例外处理或事件处理 JAVA图形用户界面及数据持久化程 序设计 网络编程 MATLAB的安装、启动与界面 MATLAB快速入门 符号计算与符号微积分 MATLAB与数值计算 MATLAB程序设计 数据的图形表示 MATLAB的程序设计 MATLAB的GUI设计 MATLAB与其他程序的连接 Oracle 基本知识与SQL*PLUS环境 云-理科楼B205 高 芒 付 强 80 通信工程、网络工 程 云-理科楼B205 高 芒 付 强 80 计算机科学与技术 云-理科楼B205 高 芒 付 强 80 计算机科学与技术 云-理科楼B205 高 芒 付 强 80 网络工程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简单端口扫描器java的设计与实现IPScan类的实现package scan.pratice;import .InetAddress;import .Socket;import .UnknownHostException;import java.util.ArrayList;import java.util.ListIterator;public class IPScan {static long startTime=System.currentTimeMillis(); //获取开始时间public static void main(String[] args) {if(args.length !=2){System.out.println("参数不对");}int startIP = Integer.parseInt(args[0]);//获得起始IP,因为args[]是String类型,所以要强制转换成int类型int endIP = Integer.parseInt(args[1]);//获得终止IP,同上ArrayList result = new ArrayList<String>();//ip地址扫描for(int id=startIP;id<=endIP;id++){String addres= "10.28.23.";try {Socket s=new Socket(addres+id,8000); //建立连接} catch (UnknownHostException e ) {}catch(Exception e){//System.out.println(e.toString());if(e.toString().endsWith(".ConnectException: Connection timed out: connect")){System.out.println(addres+id+":not exist.");}else{System.out.println(addres+id+":exist.");}}}ListIterator li = result.listIterator();//获得ArrayList的ListIteratorwhile(li.hasNext()){ //如果li里面有元素System.out.println(li.next().toString());//打印出指向的元素,同时将指向下一个元素}long endTime=System.currentTimeMillis(); //获取结束时间System.out.println("程序运行时间:"+(endTime-startTime)+"ms");}}PortScan类的实现package scan.pratice;import java.io.IOException;import .InetAddress;import .Socket;import .UnknownHostException;import java.util.ArrayList;import java.util.ListIterator;public class PortScan {static long startTime=System.currentTimeMillis(); //获取开始时间public static void main(String[] args) {if(args.length !=3){System.out.println("参数不对");}String ip = args[0]; //获得我们指定的服务器地址int startPort = Integer.parseInt(args[1]);//获得起始端口号,因为args[]是String类型,所以要强制转换成int类型int endPort = Integer.parseInt(args[2]);//获得终止端口号,同上if(startPort<1||startPort>65535||endPort<1||endPort>65535){//检查端口是否在合法范围1~65535System.out.printf("端口范围必须在1~65535以内!");return;}else if(startPort>endPort){ //比较起始端口和终止端口System.out.println("端口输入有误! 起始端口必须小于终止端口");return;}InetAddress address;try{address = InetAddress.getByName(ip);//转换类型}catch(UnknownHostException e){System.out.println("无法找到"+ ip);return;}ArrayList result = new ArrayList<String>();//端口扫描for(int nport=startPort;nport<=endPort;nport++){String typeport="";switch( nport ){//其实这儿可以不用switch,直接用个hash表记录就可以case 21:typeport = "(FTP)";break;case 23:typeport = "(TELNET)";break;case 25:typeport = "(SMTP)";break;case 80:typeport = "(HTTP)";break;case 110:typeport = "(POP)";break;case 139:typeport = "(netBIOS)";break;case 1433:typeport = "(SQL Server)";break;case 3389:typeport = "(Terminal Service)";break;case 443:typeport = "(HTTPS)";break;case 1521:typeport = "(Oracle)";break;}//从起始端口到终止端口进行循环try{//System.out.print("Scanning "+nport); //打印扫描进度System.out.println(ip + ":"+nport);Socket s=new Socket(address,nport); //建立连接//关闭连接if(s.isConnected()){result.add("端口号:"+nport+typeport+" open");}s.close();//将打开的端口添加到ArrayList result里面//System.out.println(" : open"); //打印状态}catch(IOException e){System.out.println(e.toString());//System.out.println(":close"); //打印状态result.add("端口号:"+nport+typeport+" close");}}ListIterator li = result.listIterator();//获得ArrayList的ListIteratorwhile(li.hasNext()){ //如果li里面有元素System.out.println(li.next().toString());//打印出指向的元素,同时将指向下一个元素}long endTime=System.currentTimeMillis(); //获取结束时间System.out.println("程序运行时间:"+(endTime-startTime)+"ms");}}TCPConnect类的实现package scan.pratice;import java.io.IOException;import .InetAddress;import .Socket;import .UnknownHostException;import java.util.ArrayList;import java.util.ListIterator;public class TCPConnect {static long startTime=System.currentTimeMillis(); //获取开始时间public static void main(String[] args) {if(args.length !=3){System.out.println("参数不对");}String ip = args[0]; //获得我们指定的服务器地址int startPort = Integer.parseInt(args[1]);//获得起始端口号,因为args[]是String类型,所以要强制转换成int类型int endPort = Integer.parseInt(args[2]);//获得终止端口号,同上if(startPort<1||startPort>65535||endPort<1||endPort>65535){//检查端口是否在合法范围1~65535System.out.printf("端口范围必须在1~65535以内!");return;}else if(startPort>endPort){ //比较起始端口和终止端口System.out.println("端口输入有误! 起始端口必须小于终止端口");return;}InetAddress address;try{address = InetAddress.getByName(ip);//转换类型}catch(UnknownHostException e){System.out.println("无法找到"+ ip);return;}ArrayList result = new ArrayList<String>();/*//端口扫描for(int nport=startPort;nport<=endPort;nport++){String typeport="";switch( nport ){//其实这儿可以不用switch,直接用个hash表记录就可以case 21:typeport = "(FTP)";break;case 23:typeport = "(TELNET)";break;case 25:typeport = "(SMTP)";break;case 80:typeport = "(HTTP)";break;case 110:typeport = "(POP)";break;case 139:typeport = "(netBIOS)";break;case 1433:typeport = "(SQL Server)";break;case 3389:typeport = "(Terminal Service)";break;case 443:typeport = "(HTTPS)";break;case 1521:typeport = "(Oracle)";break;}//从起始端口到终止端口进行循环try{//System.out.print("Scanning "+nport); //打印扫描进度System.out.println(ip + ":"+nport);Socket s=new Socket(address,nport); //建立连接//关闭连接if(s.isConnected()){result.add("端口号:"+nport+typeport+" open");}s.close();//将打开的端口添加到ArrayList result里面//System.out.println(" : open"); //打印状态}catch(IOException e){System.out.println(e.toString());//System.out.println(":close"); //打印状态result.add("端口号:"+nport+typeport+" close");}}*///ip地址扫描for(int id=178;id<183;id++){String addres= "10.28.23.";try {Socket s=new Socket(addres+id,8000); //建立连接} catch (UnknownHostException e ) {}catch(Exception e){//System.out.println(e.toString());if(e.toString().endsWith(".ConnectException: Connection timed out: connect")){System.out.println(addres+id+":not exist.");}else{System.out.println(addres+id+":exist.");}}}ListIterator li = result.listIterator();//获得ArrayList的ListIteratorwhile(li.hasNext()){ //如果li里面有元素System.out.println(li.next().toString());//打印出指向的元素,同时将指向下一个元素}long endTime=System.currentTimeMillis(); //获取结束时间System.out.println("程序运行时间:"+(endTime-startTime)+"ms");}}。