- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机科学与工程学院
课程设计报告
题目全称:
课
程:
学生学号:
班号:
姓名:
指导老师:
职称:
指导老师评语:
签字:
课程设计成绩:
设计过程表现
设计报告质量
总分
前言
网络中的每一台计算机如同一座城堡,在这些城堡中,有的对外
完全开放, 有的却是紧锁城门。 入侵者们是如何找到, 并打开它们的城门的呢?这些城门究竟通向城堡的何处呢?在网络技术中, 把这些城堡的“城门”称之为计算机的“端口” 。端口扫描是入侵者搜集信息的几种常用手法之一, 也正是这一过程最容易使入侵者暴露自己的身份和意图。一般来说,扫描端口有如下目的:
·判断目标主机上开放了哪些服务;
·判断目标主机的操作系统;
如果入侵者掌握了目标主机开放了哪些服务, 运行何种操作系统, 他
们就能够使用相应的手段实现入侵,本课程设计将会通过用 JAVA语言实现一个小的端口扫描软件, 详细描述端口扫描的原理, 分析端口扫描所涉及的问题,以便更加清楚地了解入侵者如何扫描目标主机的端口,同时掌握如何确保本机的安全性, 为将来设计更为安全的系统打下牢固基础。
目录
一、网络基础知识 4
1、端口的基本概念 4
2、端口的分类 4
二、端口扫描的基本原理 4
1、基本原理 4
2、基于 JAVA 语言实现的核心代码 5
三、端口扫描器视图 6
1、工作窗口 6
2、异常窗口 6
3、窗口核心代码 6
四、多线程快速扫描 7
1、多线程机制 7
2、多线程核心代码 8
五、用户使用方法 9
1、页面说明 9
2、按主机名扫描 9
3、按 IP 地址扫描 9
六、常用端口 9
七、异常检测 10
结语 13
一、网络基础知识
1、端口的基本概念
“端口”在计算机网络领域中是个非常重要的概念。它是专门为计算机通信
而设计的,它不是硬件,不同于计算机中的“插槽” ,可以说是个“软插槽” 。如果有需要的话,一台计算机中可以有上万个端口。
端口是由计算机的通信协议 TCP/IP 协议定义的。其中规定,用 IP 地址和端口作为套接字,它代表 TCP 连接的一个连接端,一般称为 Socket。具体来说,就是用 IP 端口来定位一台主机中的进程。可以做这样的比喻,端口相当于两台
计算机进程间的大门, 可以随便定义, 其目的只是为了让两台计算机能够找到对方的进程。计算机就像一座大楼,这个大楼有好多入口(端口) ,进到不同的入口中就可以找到不同的公司(进程) 。如果要和远程主机 A 的程序通信,那么只要把数据发向 A 端口就可以实现通信了。
可见,端口与进程是一一对应的,如果某个进程正在等待连接,称之为该进程正在监听,那么就会出现与它相对应的端口。由此可见,通过扫描端口,便可以判断出目标计算机有哪些通信进程正在等待连接。
2、端口的分类
端口是一个 16 bit 的地址,用端口号进行标识不同作用的端口,参见表 2-2 和表 2-3。端口一般分为两类。
■熟知端口号:范围从 0 到 1023,这些端口号一般固定分配给一些服务。比如 21 端口分配给 FTP 服务, 25 端口分配给 SMTP 服务, 80 端口分配给 HTTP 服务, 135 端口分配给 RPC 服务等等
■动态端口号: 动态端口的范围从 1024 到 65535,这些端口号一般不固定分配给某个服务, 也就是说许多服务都可以使用这些端口。 只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。
比如 8080 端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号。
二、端口扫描的基本原理
1、基本原理
端口扫描的原理其实非常简单, 只是简单的利用 JAVA 提供库函数 Socket 进
行调用,与每一个感兴趣的目标计算机的端口进行连接。 如果对方端口处于监听
状态,那么连接就能成功。否则,这个端口不能用,既没有提供服务。这个技术
的一个最大的优点是, 不需要任何权限, 系统中的任何用户都有权利使用这个调
用。
引入多线程机制,利用多线程扫描的好处就是速度快,如果对每个目标端口
以线性的方式使用单独的连接调用 ,那么将会花费相当长的时间。多线程同时打
开多个套接字,从而加速扫描。在本设计中用户可以自定义线程的个数。此处用
户还可以自定义扫描方式。
2、基于 JAVA 语言实现的核心代码
在多线程的控制下,利用 for 循环对端口逐一扫描
for (i =XXXXXX; i XXXXXX; i+=XXXXXX){
try{
theTCPsocket=new Socket(hostAddress,i);
theTCPsocket.close();
判断端口的类别
switch(i){
case 21:
对相应开放端口识别。
}
将开放端口内容添加到
您可能关注的文档
- 秋高中化学苏教版选修四教案:2.2化学反应的方向和限度第2课时化学反应的方向高品质版.docx
- 秋高中历史必修二学案(43份打包)人教课标版12(汇教案).docx
- 秋高中历史必修二学案(43份打包)人教课标版4(汇教案).docx
- 秋高中物理选修3-5选教案:17-1能量量子化:物理学的新纪元含答案.docx
- 秋高中物理选修3-5选试题:第十六章单元测试题含答案.docx
- 秋高中语文必修二学案课时跟踪检测阶段质量检测试题(17份)人教课标版8教案.docx
- 种DC电源接口的封装尺寸参数.docx
- 科创板上市公司股权激励计划草案摘要公告.doc.docx
- 科学发展观的基本内涵是什么.docx
- 科学和思想的力量学案人教版优教案.docx
文档评论(0)