基于Java--Socket-网络编程.doc

基于Java--Socket-网络编程.doc

ID:59171068

大小:46.00 KB

页数:13页

时间:2020-10-30

基于Java--Socket-网络编程.doc_第1页
基于Java--Socket-网络编程.doc_第2页
基于Java--Socket-网络编程.doc_第3页
基于Java--Socket-网络编程.doc_第4页
基于Java--Socket-网络编程.doc_第5页
资源描述:

《基于Java--Socket-网络编程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于JavaSocket网络编程的山寨QQ(学习韩顺平老师的视频整理出的笔记)内容含盖:1.Java面向对象编程2.界面编程3.网络编程4.多线程5.文件I/O操作6.数据库操作一、网络基础TCP/IP协议TransmissionControlProtocol/InternetProtocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层

2、的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。二、端口端口详解在开始讲什么是端口之前,我们先来聊一聊什么是port呢?常常在网络上听说『我的主机开了多少的port,会不会被入侵呀!?或者是说『开那个port会比较安全?又,我的服务应该对应什么port呀?呵呵!很神奇吧!怎么一部主机上面有这么多的奇怪的port呢?这个port有什么作用呢?由于每种网络的服务功能都不相同,因此有必要将不同的封包

3、送给不同的服务来处理,所以啰,当你的主机同时开启了FTP与WWW服务的时候,那么别人送来的资料封包,就会依照TCP上面的port号码来给FTP这个服务或者是WWW这个服务来处理,当然就不会搞乱啰!(注:嘿嘿!有些很少接触到网络的朋友,常常会问说:咦!为什么你的计算机同时有FTP、WWW、E-Mail这么多服务,但是人家传资料过来,你的计算机怎么知道如何判断?计算机真的都不会误判吗?!现在知道为什么了吗?!对啦!就是因为port不同嘛!你可以这样想啦,有一天,你要去银行存钱,那个银行就可以想成是主机,然后,银行当然不可能只有一种业务,里头就有相当多的窗口,

4、那么你一进大门的时候,在门口的服务人员就会问你说:"嗨!你好呀!你要做些什么事?"你跟他说:"我要存钱呀!",服务员接着就会告诉你:喝!那么请前往三号窗口!那边的人员会帮您服务!这个时候你总该不会往其它的窗口跑吧?!""这些窗口就可以想成是port啰!所以啦!每一种服务都有特定的port在监听!您无须担心计算机会误判的问题呦!)·每一个TCP连接都必须由一端(通常为client)发起请求,这个port通常是随机选择大于1024以上(因为0-1023有特殊作用,被预定,如FTP、HTTP、SMTP等)的port号来进行!其TCP封包会将(且只将)SYN旗标

5、设定起来!这是整个联机的第一个封包;·如果另一端(通常为Server)接受这个请求的话(当然啰,特殊的服务需要以特殊的port来进行,例如FTP的port21),则会向请求端送回整个联机的第二个封包!其上除了SYN旗标之外同时还将ACK旗标也设定起来,并同时在本机端建立资源以待联机之需;·然后,请求端获得服务端第一个响应封包之后,必须再响应对方一个确认封包,此时封包只带ACK旗标(事实上,后继联机中的所有封包都必须带有ACK旗标);·只有当服务端收到请求端的确认(ACK)封包(也就是整个联机的第三个封包)之后,两端的联机才能正式建立。这就是所谓的TCP联

6、机的'三次握手(Three-WayHandshake)'的原理。经过三向交握之后,呵呵!你的client端的port通常是高于1024的随机取得的port,至于主机端则视当时的服务是开启哪一个port而定,例如WWW选择80而FTP则以21为正常的联机信道!总而言之,我们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念。根据提供服务类型的不同,端口分为两种,一种是TCP端口,一种是UDP端口。计算机之间相互通信的时候,分为两种方式:一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议;一种是发送以后就不

7、管了,不去确认信息是否到达,这种方式大多采用UDP协议。对应这两种协议的服务提供的端口,也就分为TCP端口和UDP端口。那么,如果攻击者使用软件扫描目标计算机,得到目标计算机打开的端口,也就了解了目标计算机提供了哪些服务。我们都知道,提供服务就一定有服务软件的漏洞,根据这些,攻击者可以达到对目标计算机的初步了解。如果计算机的端口打开太多,而管理者不知道,那么,有两种情况:一种是提供了服务而管理者没有注意,比如安装IIS的时候,软件就会自动增加很多服务,而管理员可能没有注意到;一种是服务器被攻击者安装木马,通过特殊的端口进行通信。这两种情况都是很危险的,说

8、到底,就是管理员不了解服务器提供的服务,减小了系统安全系数。(扯远了)端口分类端

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。