常见的shell命令之网络相关命令

以下测试的网络环境为:虚拟机NAT模式,ubuntu设置为自动获取ip。

1、网络基本知识

具备基本的网络知识对于linux的学习非常重要,只有了解了这些基础知识,才能更好的学习网络相关指令、网络设置、网络服务等内容。

1)OSI七层模型

OSI模型即网络结构的标准模型,是由国际互联网标准化组织定义的网络分层模型,虽然由于模型的实现太复杂,并没有实际的七层网络协议栈,但对于理解网络协议内部的架构很有帮,提供了很好的参考模型。

在OSI七层结构中,每一层规定了不同的特性,负责不同的功能:

应用层(Application Layer):用户接口,为应用程序提供访问网络服务的接口,为用户提供常用的应用。应用层使用报文进行数据交互,本层定义的规范有:Telnet、FTP协议、HTTP协议、域名DNS等。

表示层(Presentation Layer):对传输的数据进行解释交换,使主机之间通信的信息能互相理解。该层功能主要包括数据的压缩、加密、格式转换等,定义的标准有:ASCII、JPEG等。

会话层(Session Layer):对应用会话的建立、中止、会话过程的管理。

传输层(Transport Layer):该层为主机进程之间的通信提供服务,以数据段为单位,提供可靠或在不可靠的传输,为上层掩盖下层细节,保证会话层的数据信息能够传送到另一方的会话层,是计算机通信体系结构中关键的一层。主要的传输层协议是TCP和UDP。

网络层(NetWork Layer):负责将各个子网之间的数据进行路由选择,将数据从发送端主机发送到接收端主机,数据单位为数据包,主要用到的协议就是IP协议。

数据链路层(Data Link Layer):数据链路层将网络层交下来的 IP数据包组装成帧,在这一层利用通信信道实现无差错传输,在物理介质基础之上提供了可靠的数据传输。

物理层(Physical Layer):为上层提供物理介质,通信端点之间的硬件物理接口,设备之间以比特流进行传输。该层主要与硬件相关,确定了与物理接口的一些特性,如电气特性、功能特性等。

2)TCP/IP四层模型

TCP/IP传输协议,即传输控制/网络协议,也叫做网络通讯协议。是linux世界的网络基础,是在网络的使用中的最基本的通信协议。TCP/IP协议不是一个独立的协议,而是一组不同层次上的多个协议的组合,不同层次负责不同的功能。

网络接口层:对应的OSI参考模型中的物理层和数据链路层。TCP/IP本身并未定义该层的协议,只是规定了为上一层网络层提供访问接口,可以传输IP数据包,发送ARP请求和接收ARP应答。

网络层:对应OSI参考模型中的网络层,是TCP/IP协议栈的核心,将数据包进行分组并发往目的主机。主要解决主机到主机的通信问题,它所包含的协议涉及数据包在整个网络上的逻辑传输。该层有三个主要协议:IP(国际协议)、IGMP(互联网组管理协议)、ICMP(互联网控制报文协议)

传输层:对应OSI参考模型中的传输层,提供主机与主机之间对等层之间可以进行会话的机制,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:TCP传输控制协议、UDP用户数据报协议

应用层:将OSI参考模型中的会话层和表示层取消,将功能合并到到应用层,为用户提供所需要的各种服务。例如,基于TCP协议的FTP(文件传输协议)、Telnet协议、HTTP(超文本链接协议)等,基于UDP协议的TFTP、域名服务DNS、NFS等。

以FTP文件传输为例,在各层的数据传输过程如下:

3)IP

互联网上的每个接口必须有一个唯一的Internet地址(也称作IP地址)主机或网络设备如果想要连接到Internet,就必须配置IP地址。应用范围最广泛的因特网地址使用IPv4的IP地址,长为32位,由4组十进制数组成,每组数值范围为0~255,中间用点号隔开。例如IP地址192.168.0.232。

IP地址的一般格式为:类别+网络标号+主机标识。其中类别用来区分IP地址的类型,网络号表示主机所在的网络,主机号表示主机在网络中的标识。IP地址通常分为五类:A类、B类、C类、D类、E类:

类型

IP地址范围

A

0.0.0.0到127.255.255.255

B

128.0.0.0到191.255.255.255

C

192.0.0.0到223.255.255.255

D

224.0.0.0到239.255.255.255

E

240.0.0.0到247.255.255.255

其中D、E类为特殊地址不对民用开发。对于ABC类地址划分了公有地址和私有地址,其中公有地址由Inter INC负责,这些IP需要进行注册申请。私有地址属于非注册地址,专门为组织机构内部使用,不能直接访问公网,是不同局域网内的计算机可以使用相同的IP地址

类型

私有IP地址范围

A

10.0.0.0到10.255.255.255

B

172.16.0.0到172.31.255.255

C

192.168.0.0到192.168.255.255

一些特殊的IP地址:

(一)主机号全为0的IP地址,不分配给任何主机,用于表示某个网络的网络地址

(二)主机号全为1的IP地址,不分配给任何主机,仅用作广播地址

(三)IP地址127.0.0.1为回环结构,用于本地进行软件测试

4)子网掩码

子网掩码是一个32位的二进制地址,用来屏蔽原来网络地址的划分情况,从而获得一个范围小的,可以实际使用的网络。子网掩码使用与IP地址相同的格式,由4组十进制数组成,其中值为0的部分对应IP地址的主机ID部分。

使用子网掩码,网络设备可以分析得出一个IP地址的网络地址和子网地址,以及主机地址。子网掩码和IP地址进行“与”运算后,所得到的值为网络地址和子网地址。

标准的子网掩码:

类型

子网掩码地址

A

255.0.0.0

B

255.255.0.0

C

255.255.255.0

子网掩码便于网络设备的尽快寻址,区分本网段地址和非本网段的地址,划分子网,进一步缩小子网的地址空间,充分利用目前紧缺的IP地址。

举例:

比较两台主机的IP地址与子网掩码进行“与”运算后的值,如果结果相同,则说明两台计算机处于同一个子网络上。在以太网结构的网络中,同一子网内的两台计算机可以直接通信,而不用路由器对IP分组进行转发

主机(IP/Netmask)

A(192.168.0.232/255.255.255.0)

B(192.168.0.51/255.255.255.0)

IP地址(二进制)

11000000.10101000.00000000.11101000

11000000.10101000.00000000.00110011

子网掩码(二进制)

11111111.11111111.11111111.00000000

11111111.11111111.11111111.00000000

网络地址(二进制)

11000000.10101000.00000000.00000000

11000000.10101000.00000000.00000000

两个主机的IP地址和子网掩码进行按位“与”运算,得到两个主机的网络地址均为11000000.10101000.00000000.00000000,即192.168.0.0,可知两个主机在同一个网络上。

5)端口号

端口是一个16位的整数,为了方便多种应用程序,区分不同应用程序的数据和状态,引入了端口。服务程序需要对某个端口进行绑定,客户端访问主机的此端口号与应用程序进行通信。

端口号可以由系统分配,也由用户自定义,一些常用的服务程序使用固定的静态端口号。

6)DNS(域名系统)

DNS是Domai Name Systerm的缩写,即域名系统,是一个用于TCP/IP应用程序的分布式数据库,用来提供IP地址和主机之间的映射信息。

DNS的名字空间具有树形的层次结构,结构如下

根域是特殊结点,没有任何结点,树形结构中的域名从最高层域名串联起来,中间用“.”分隔,顶级域名是域名的最后一部分。

顶级域名分为组织域(3个字符长的普通域)和国家/地区域(2个字符的域)。

组织域:

顶级域

描述

com

商业组织

edu

教育机构

gov

政务机构

int

国际组织

mil

军事机构

net

网络服务机构

org

其他组织

国家/地区域:

顶级域

描述

cn

中国

hk

中国香港

uk

英国

au

澳大利亚

jp

日本

2、ifconfig网络配置命令

命令:ifconfig

功能:显示或设置网络设备。

参数:ifconfig [网络接口] [选项] 地址/参数

选项

说明

ifconfig -a

查看全部网络接口

ifconfig ens33 192.168.0.51

设置网络接口的IP地址

ifconfig ens33 broadcast 192.168.2.255

设置网口广播地址

ifconfig ens33 netmask 255.255.255.0

设置网口的子网掩码

ifconfig ens33 hw ether 22:22:22:22:22:22

设置网卡物理地址(MAC地址)

ifconfig ens33 up

激活网口

ifconfig ens33 down

关闭网口

注意:

一、以上命令以ens33网口为例,可以更换为其他网络接口;

二、操作需要使用root用户权限;

三、该命令设置后不能够复位保存;

关闭ens33网口,需要用ifconfig -a指令看网卡信息。

elf@ubuntu:~$ sudo ifconfig ens33 down

elf@ubuntu:~$ ifconfig

elf@ubuntu:~$ ifconfig -a

打开ens33网口。

elf@ubuntu:~$ sudo ifconfig ens33 up

elf@ubuntu:~$ ifconfig

设置网卡信息。

elf@ubuntu:~$ sudo ifconfig ens33 192.168.0.51

elf@ubuntu:~$ sudo ifconfig ens33 broadcast 192.168.0.255

elf@ubuntu:~$ sudo ifconfig ens33 netmask 255.255.255.0

elf@ubuntu:~$ sudo ifconfig ens33 hw ether 22:22:22:22:22:22

3、ping网络通断检查命令

命令:ping

功能:检查网络的连接情况,通常情况下只能ping网段的主机,跨网段的ping操作需要进行特殊的路由设置

参数:ping [选项] IP地址/域名

选项

说明

-c

设置完成要求回应的次数

-i

指定收发信息的间隔时间

-n

只输出数值

-r

忽略普通的Routing Table,直接将数据包送到远端主机上

-s

设置数据包的大小

-t

设置存活值TTL的大小

-v

详细显示指令的执行过程

注意:

如果是操作完上面小节的网络测试命令,需要先执行以下命令使网络配置生效。

elf@ubuntu:~$ systemctl restart network-manager.service

在进行ping测试前需要移除现有的网络配置,重新设置ip。

示例:

与电脑主机ip(192.168.0.64)进行ping测试。

4、route路由配置命令

命令:route

功能:添加,删除或查看网关参数

参数:route

选项

说明

Destination

目标网段或者主机

Gateway

网关地址,”*” 表示目标是本主机所属的网络,不需要路由

Genmask

网络掩码

Flags

标记。一些可能的标记如下:

U - 路由是活动的

H - 目标是一个主机

G - 路由指向网关

R - 恢复动态路由产生的表项

D - 由路由的后台程序动态地安装

M - 由路由的后台程序修改

! - 拒绝路由

Metric

路由距离,到达指定网络所需的中转数

Ref

路由项引用次数

Use

此路由项被路由软件查找的次数

Iface

该路由表项对应的输出接口

查看路由:

elf@ubuntu:~$ route

添加路由:

elf@ubuntu:~$ sudo route add default gw 192.168.0.1

删除路由:

elf@ubuntu:~$ sudo route del default gw 192.168.0.1

5、nameserver设置DNS

命令:nameserver

功能:使用域名访问DNS,需要设置DNS

参数:nameserver xx.xx.xx.xx

该设置存放的位置在/etc/resolv.conf文件中:

  • 24
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值