第六章 运输层 6.1运输层协议概述
TCP协议和UDP协议
TCP传输控制协议
要求服务器和客户端之间要建立会话而且一直保持到传输完成,确保数据包发过来不能丢失,如果丢失客户端要服务器重传一遍,实现可靠传输,并能够按照顺序组成一个完成的数据包。
需要将文件分段来传。用的都是TCP协议。
如果客户端在接收数据包时,收到了1,2,4,3没收到,它会要求服务器重传,实现可靠传输。
如果服务器的发送速度太快,客户端接收不过来,可以要求服务器暂停,等他缓冲过来再继续接收。实现流量控制。
UDP用户数据报协议
不建立会话,对服务器的性能要求降低。
UDP使用例子
上网时需要域名解析,通过发送数据包让DNS来告诉域名对应的IP,这时一个数据包完全够用,用UDP传输。
不需要建立会话,直接发送数据包通信。
QQ聊天用的也是UDP协议。
QQ传文件用的TCP协议。
电子邮件用的是TCP协议,里面可能有附件很大。
使用ftp下载文件用的是TCP协议。
屏幕广播,虽然一个数据包无法完成,但是也用UDP。不需要建立会话,也不使用可靠传输,如果有某一台学生机没收到屏幕广播也不管。
UDP协议应用于多播或广播。
可以使用netstat -n命令来查看建立的会话,及协议类型。
也可查看木马。
如果开机后,关闭了杀毒软件,还有会话,这个会话可能是木马建立的。
可以用netstat -nb来查看是哪个进程发出的会话,然后在任务管理器中结束。
传输层协议和应用层协议之间的关系
TCP加上一个3389端口就代表一个远程桌面使用的RDP协议。
TCP或UDP协议加上一个端口号就可以表示一个应用层协议。
DNS放在TCP和UDP之间,说明两个都可以。但是绝大多数使用UDP,就可以认为DNS使用UDP协议。
SMTP是邮件用的,RDP是远程桌面用的。
服务和应用层协议之间的关系
只要启动web服务,就用tcp的80端口侦听客户端的访问。以此类推。
客户端在传输层封装数据TCP协议,自己的端口号,要访问的端口号,在网络层封装上IP,然后将数据送到网卡这个大门,然后通过查看端口号来决定客户端需要什么服务,一看是80,就让web协议来为他服务,给他发送页面。
第二个目标端口是21,一看是访问FTP的,FTP服务正好在侦听,就由FTP来接待。
数据包过来访问计算机的什么服务是由目标端口号决定的。
只要计算机的服务启动,就在特定端口上侦听,安装服务后必须启动才能侦听客户端的请求,如果只是安装,没用启动,跟没有一样。
为了安全起见,还可以在网卡设置什么样的数据包能够进来。
如果只允许目标端口是80的数据包进来,目标端口是其他的数据包就算过来也进不去计算机,就算计算机启动了这个服务也没用。可以防止电脑被服务漏洞攻击。
netstat -a来查看侦听的端口。
netstat -an以数字形式显示端口。
445端口是访问共享资源的端口。
有个外部地址访问了我的445端口。
telnet 测试目标主机端口3389能否访问。
默认是23端口。
一般黑客的端口扫描,目的是查看计算机都启动哪些服务,利用漏洞来攻击电脑。
如何给windows安装服务
启动服务
点服务,
启动类型自动,点击启动,点击确定。
更改端口后,黑客扫描端口后不知道端口对应的服务,只有更改的人才知道,因此更加安全。
如何在windows的网卡上只开必要端口
再点属性。