目录
一、网络基础
ISO/OSI七层模型
TCP/IP四层模型
IP地址
子网掩码
端口作用
DNS作用
网关作用
二、Linux网络配置
IP地址配置
使用文件配置IP地址
虚拟机网络配置
三、Linux网络命令
网络环境查看命令
网络测试命令
四、远程登录工具
SSH协议原理
SecureCRT工具
XShell和WinSCP工具
本文为慕课网Tony老师视频笔记,Tony老师的课通俗易懂,幽默风趣,Linux入门或巩固基础的话,推荐看一下!https://www.imooc.com/u/279399/courses?sort=publish
ISO:国际标准化组织
OSI:开放系统互联模型
IOS:苹果操作系统
在计算机网络中,IOS是互联网操作系统,是思科公司为其网络设备开发的操作维护系统
各层主要工作
应用层:用户接口
表示层:确认数据的表现形式(用ASCII、GB2312、JPG等编码把文字图片等数据翻译成机器语言)、特定功能的实现如-加密、压缩
会话层:对应用会话的管理、同步(确定数据是否要经过远程会话,就是是否要经过网络传输)
传输层:确认可靠与不可靠的传输、确定端口号、传输前的错误检测、流控(流量控制)
网络层:提供逻辑地址(封装IP地址)、选路(选择数据传递的路径)
链路层:封装成帧(把MAC地址封装进数据包)、用MAC地址访问媒介、透明传输、差错检测、错误重发
物理层:设备之间的比特流传输、物理接口、电气特性等
网络接口层:
网络接口层与OSI参考模型中的物理层和数据链路层相对应。他负责监视数据在主机和网络之间的交换。事实上TCP/IP
本身并没有定义该层的协议,而由参与的个网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行
连接。地址解析协议(ARP)工作在此层,即OSI参考模型的数据链路层 。
网际互联层:
网际互联层对应于OSI模型的网络层,主要解决主机到主机 的通信问题。它所包含的协议设计数据包在整个网络上的
逻辑传输。该层主要有三个协议:网际协议(IP)、互联网 组管理协议(IGMP)和互联网控制报文协议(ICMP)。
传输层:
传输层对应OSI模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送和数据的完整性。
该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)。
第一次握手:A为了确认B的接收和发送能力向B发送了一条信息。
第二次握手:B接到信息之后向A回复了一条信息,这时B知道了A的发送能力没有问题,但不清楚A的接收能力是否有问题
需要等A回复信息。
第三次握手:A接收到B的信息之后确认了B的接收能力和发送能力都没有问题(因为B收到A的信息然后又向A发了条信息),
最后,因为B还不清楚A的接收能力是否有问题,所以A向B又发了条信息,B收到之后确认了A的接收能力没有问题。
数据封装过程:
TCP/IP模型与OSI模型的比较
共同点:
1、OSI参考模型和TCP/IP参考模型都采用了层次结构的概念
2、都能够提供面向连接和无连接两种通信服务机制
不同点
1、前者是七层模型,后者是四层结构
2、对可靠性要求不同(后者更高)
3、OSI模型是在协议开发前设计的,具有通用性,TCP/IP是先有协议集然后建立模型不适用于非TCP/IP网络
4、实际市场应用不同(OSI模型只是理论上的模型,并没有成熟的产品,而TCP/IP已经成为“实际上的国际标准”)
IP地址可以理解为每台主机在网络中的唯一逻辑标识,好比家庭住址
IP包头
IP地址分类
通过IP地址和子网掩码进行逻辑与运算可以确定该IP属于哪个网络
子网掩码的使用(以C类IP为例)
变长子网掩码和子网规划
端口的作用简单来说就是把属于各个服务的数据进行划分,也就是把数据进行分类以便区分各个服务的数据各自进行处理,如果把IP比作一间房间那么端口就是房间的各个门。
TCP协议包头
UDP协议包头
常见端口号:
FTP(文件传输协议):20 21
SSH(安全Shell协议):22
telnet(远程登录协议):23
DNS(域名系统)53
http(超文本传输协议):80
SMTP(简单邮件传输协议):25
POP3(邮局协议3代):110
netstat -an:查看本机启用端口
选项:
-a:查看所有连接和监听端口
-n:显示IP地址和端口号,而不显示域名和服务名
常见状态:LISTENING(正在监听)ESTABLTSHED(已连接)
Domain Name System域名系统,用于IP地址(123.125.115.110)和域名(www.baidu.com)之间的解析
从Hosts文件到DNS
早起的Hosts文件解析域名
名称解析效能下降
主机维护困难
DNS服务
层次式
分布式
DNS服务的作用
将域名解析为IP地址
1、客户机向DNS服务器发送域名查询请求
2、DNS服务器告知客户机Web服务器的IP地址
3、客户机与Web服务器通信
域名空间结构(.表示根域名的服务器,全球只有13台,国内没有)
gov:政府部门
com:商业组织
edu:教育不猛
org:民间团体组织
net:网络服务机构
mil:军事部门
cn:中国
jp:日本
uk:英国
au:澳大利亚
hk:中国香港
DNS查询过程
递归查询:DNS客户机向本地域名服务器发起的查询,必须返回一个结果(这里的话无非是查到和查不到),不过本地域名服务器可以把发起的查询用“”踢皮球“”的方式踢给它的下一级查询,比如踢给根DNS服务器,如果根DNS服务器也不知道那么就踢给cn服务器。
迭代查询:图中2,3,4,5的查询,只需要返回一个最优的接近于最终结果的值就行了,比如cn服务器不知道,不过它知道com.cn服务器可能知道就返回com.cn服务器的地址,本地域名服务器再询问com.cn。
DNS查询类型
从查询方式上分
递归查询:
要么做出查询成功响应,要么做出查询失败的响应。一般客户机和服务器之间属于递归查询,即当客户机向DNS服务器
发送请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发送查询请求,得到结构后转交给客户机
迭代查询:
服务器收到一次迭代查询回复一次结果,这个结果不一定是目标IP与域名的映射关系,也可以是其他DNS服务器的地址
从查询内容上分
正向查询:由域名查找IP
反向查询:有IP查找域名
作用:
1、网关(GateWay)又称网间连接器、协议转换器
2、网关在网络层上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连
3、网关既可以用于广域网互连也可以用于局域网互连
4、网关是一种充当转换重任的服务器或路由器
网关示意图
ifconfig命令临时配置IP地址
ifconfig命令:查看配置网络状态命令
临时设置eth0网卡的IP地址和子网掩码
ifconfig eth0 192.168.0.200 netmask 255.255.255.0
setup工具永久配置IP地址
红帽(redhat)专有的图形化工具setup设置IP地址
网卡信息文件
主机名文件
DNS配置文件
虚拟机连接网络完整步骤:
1、配置Linux IP地址(setup和修改文件都可以)
2、启动网卡(ifcfg-eth0中的ONBOOT=yes,service network restat)
3、修改UUID(虚拟机克隆的话需要这一步,因为克隆的机器UUID和MAC地址都一样导致不能联网)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
删除MAC地址行
rm -rf /etc/udev/rules.d/70-persistent-net.rules
删除网卡和MAC地址绑定文件并重启系统,让机器重新生成
4、设置虚拟机网络连接方式
桥接:利用真是网卡进行通讯,虚拟机相当于网络中的一台主机可以和宿主机进行通信也可以访问外网
NAT:利用VMnet8网卡进行通讯,可以和宿主机通讯,可以访问外网,但同一局域网和外网的主机不能访问虚拟机
HOST ONLY:利用VMnet1网卡进行通信,只能跟宿主机通讯
5、在虚拟网络编辑器里面修改桥接的网卡,选择宿主机的网卡
ifconfig:查看与配置网络状态命令
ifdown 网卡设备名:禁用该网卡设备
ifup 网卡设备名:启用该网卡设备
netstat 选项:查询网络状态
选项:
-t:列出TCP协议端口
-u:列出UDP协议端口
-n:不使用域名和服务器而使用IP地址和端口号
-l:列出在监听状态的网络服务
-a:列出所有的网络连接
netstat -rn:列出路由列表,功能和route命令一致
route -n:查看路由列表,可以看到网关
route add default gw 192.268.1.1:临时设定网关
nslookup [主机名或IP]:进行域名与IP地址解析,也可以看到本机DNS
nslookup:查看本机DNS服务器
>server
ping [选项] ip或域名:探测指定IP或域名的网络状况
选项:
-c 次数:指定ping包的次数
telnet [域名或IP] [端口]:远程管理和端口探测命令
traceroute [选项] IP或域名:路由跟踪命令
选项:
-n:使用IP,不使用域名,速度更快
wget + URL:下载命令
tcpdump -i eth0 -nnX port 21:抓包命令
选项:
-i:指定网卡接口
-nn:将数据包中的域名与服务转为IP和端口
-X:以十六进制和ASCII码显示数据包内容
port:指定监听的端口
对称加密算法
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密
非对称加密算法
非对称加密算法又名“公开密钥加密算法”,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)
可以把公钥看成是锁,私钥看成是这把锁的钥匙, 加密文件的容器看成有两扇门的容器,需要用两把锁锁住,获得任意一把锁就可以打开该容器读取内容。那么加密方加密的时候先获取对方的公钥,然后用自己的公钥和对方的公钥一起锁住文件(这个文件就只能用加密方或者对方的私钥打开),这样传到对方的时候对方可以用自己的私钥打开自己公钥的锁获取内容,其他人因为没有私钥获取不了。
SSH安全外壳协议
基于非对称加密算法,两台主机建立连接获取对方的公钥之后,发送的数据用公钥进行加密,那么只有双方的私钥才能解开
这个工具是远程连接服务器工具,不过是收费的,可以百度直接下载破解绿色版
XShell也是远程连接服务器工具,对于企业收费,家和学校不收费,贼好用贼强大
WinSCP是用于宿主机和服务器传递数据的工具,不过XShell系列的Xftp也是相同功能
还有一个Notepad++安装插件之后,可以直接编辑和查看服务器的文件,贼好用贼强大