linux网络通信及相关指令

一、概念

1.计算机网络的概念

通信:

  • 计算机通信是面向计算机和数据终端之间的一种通信方式,可以实现任何计算机之间的数据生成、存储、数据处理、数据传递在不同的机器之间。

  • 要求处于不同地理位置的计算机,能够互相知道对方的存在,才能互相传递消息,共享资源。

计算机网络:

  • 网络协议,是计算机网络的核心概念

  • 网络协议是计算机网络中

  • 网络协议是计算机网络中进行数据交互而建立的一种规则,也可以说是一套约定、标准的集合

  • TCP/IP网络协议标准,已经是Internet网络中的标准语言

2. 网络层次划分

为了让不同的计算机厂家,生产出来的计算机相互都能够通信,也能够在大范围之间进行计算机网络交互,(ISO国际标准化组织)“开放系统互联参考模型”(OSI七层模型)


image.png

二、相关命令

1. ifconfig命令

作用

  • 用于配置网卡ip地址信息,等网络参数信息

  • 查看显示网络接口信息

  • 还能够临时性的配置ip地址、子网掩码、广播地址、网关信息等

注意:ifconfig命令只能用root去操作,且可能要单独安装这个命令

安装网络工具包:

  • yum install net-tools

案例:

1、查看网络地址信息

  • ifconfig 查看所有网络接口信息

  • 查看指定网卡 ifconfig ens33

    • ipv4是inet
    • 广播地址是 broadcast
    • 子网掩码 netmask
    • RX / TX packages 代表网卡收发的流量数据包大小
  • ls /etc/sysconfig/network-scripts/ 查看网络设备文件

2、指定开启、或者关闭网卡关闭网卡,注意不得在服务器上或者云服务器上执行!!!!!

  • 关闭网卡:ifconfig ens33 down
  • 开启网卡:ifconfig ens33 up

3、修改、设置ip地址

  • 添加一个新ip地址

    • ifconfig ens33:0 192.168.178.100 netmask 255.255.255.0 up
  • 第二种添加方式

    • ifconfig ens33:1 192.168.178.120/24 up

4、修改机器的MAC地址

  • ifconfig ens33 hw ether 00:oc:29:13:10:CF

  • 查看MAC地址ifconfig |grep ether

5、永久修改网络设备信息,ifconfig命令只是临时修改网络配置,要永久修改还得写入到配置文件中/etc/sysconfig/network-scripts/ifcfg-ens33

2. route命令

什么是route路由?

  • 计算机之间的数据传输必须经过网络,网络可以直接连接两台计算机,也可以通过一个一个的节点去连接路由可以理解为互联网的中转站,网络中的数据包就是通过一个一个的路由器转发到目的地

路由分类:

  • 静态路由:Linux机器上配置的都是静态路由,由运维人员通过route命令去管理

  • 动态路由:无需人为干预,由路由器、交换机自动分配规则而来

命令使用案例:

1、查看路由表信息

  • 不进行dns解析的路由表查看
    • route -n
    • 内容解析:
    • Destination : 表示网络号,network的意思
    • Gateway: 表示网关地址,网络是通过该IP出口,如果显示0.0.0.0的ip,表示该路由信息,是从本机转发出去的
    • Genmask:子网掩码地址的标识,IP地址配合子网掩码,才是一个完整的网络信息
    • Flags:路由标记,标记当前的网络状态
      • U: Up运行的状态
      • G: 表示这是一个网关路由器
      • H: 表示这个网关是一个主机
      • !: 表示当前这个路由已经禁止

2、添加、删除网关信息

  • 网关,网络的关口,就好比家里的门一样,数据只能通过这个网关地址出外网

  • 删除default默认路由表route del default

  • 添加一个网关地址route add default gw 192.168.178.2

3. ip命令

作用:

  • ip命令是iproute软件包中强大的网络管理工具
  • 包括ifconfig和route命令的作用,查看系统路由、网络设备,设置策略等功能

ip命令可以操作的对象

  • OBJECT 对象
  • link 网络设备
  • address 定义ipv4 ipv6的地址
  • neighbour 查看ARP缓存地址(ARP用于解析MAC地址)
  • route 路由表对象
  • maddress 多播地址
  • tunel IP上的通道

案例

1、查看网络设备信息

  • ip addr show
  • 指定网络设备显式信息:ip link show dev ens33
  • 详细数据包收发情况:ip -s link show dev ens33

2、关闭、激活网络设备,服务器上不要用!!!

  • 关闭网卡:ip link set ens33 down
  • 开启网卡:ip link set ens33 up

3、修改网卡MAC地址信息,专业工作人员操作!

  • ip link set ens33 address 0:0c:29:13:10:11

4、显示网卡信息

  • ip addr show
  • 简写:ip a

5、ip命令添加,删除ip信息

  • ip address add 192.168.178.150/24 dev ens33
  • ip address add 192.168.178.160/24 dev ens33
  • 删除:ip address del 192.168.178.160/24 dev ens33

6、ip命令给网卡添加别名

  • ip address add 192.168.178.188/24 dev ens33 label ens33:1

7、通过ip命令检查路由信息

  • ip route

8、ip检查arp缓存(显示网络令居的信息),检查MAC地址信息

  • ip neighbour
  • 等于 arp -n

4. netstat命令

作用:

  • 显示网络连接情况,路由表信息,端口状态,网络连接情况等等信息
  • 一个进程服务,运行之后,会暴露一个端口号,以及产生响应的进程信息

案例:

1、查看所有的网络连接情况

  • netstat -an

  • -a : 显示all所有的套接字(socket)信息

  • -n : 显示数字地址信息而非主机名

常见字段解释:

  • proto 套接字使用的协议是什么
  • Recv-Q 连接这个套接字的用户,还未拷贝的字节数
  • Send-Q远程主机还未确认的字节数
  • Local address 套接字(一个连接情况)本地的地址和端口号
  • Forign Address 套接字的远程主机地址和端口号
  • State 套接字的运行情况,Listen 监听中
  • 127.0.0.1 # 本地回环地址,用于机器内部应用通信,外人无法访问此地址,
  • 每一个机器都有自己的127.0.0.1
  • 0.0.0.0 # 绑定机器所有的网卡地址

netstat使用实际案例

  • netstat -tunlp # 查看机器上正在运行的所有端口情况以及进程情况
  • 参数解释如下:
    • -t 显示出tcp的连接情况
    • -u 显示出udp的连接情况
    • -n 不进行dns解析
    • -l只显示正在监听中的套接字情况
    • -p 显示出套接字所属的进程和进程名情况

2、检查服务器是否运行了3306端口(间接查看了是否运行了mysql数据库)

  • netstat -tunlp | grep 3306

3、显示系统的路由表情况

  • netstat -rn 等同于route -n

4、显示网络的接口情况

  • netstat -i

  • -i 显示出所有的网络接口的情况

  • 字段解释:

  • Iface: 网络设备名称

  • MTU:最大的传输单元,单位是字节

  • RX-OK/TX-OK:正确接受了多少数据包/发送了多少数据包

  • RX-ERR/TX-ERR:接收、发送数据包的时候,丢弃了多少数据包

  • RX-OVR/TX-OVR:由于错误遗失了多少数据包

  • Flg

    • L:是回环地址的含义
    • R: 这个网络接口正在运行中
    • U:接口正在处于活动的状态
    • B:设置了广播的地址
    • M:接收所有的数据包
    • O:表示在该接口上禁止qrp
    • P: 端对端的连接

5、查看服务器监听

  • netstat -tunlp | grep 3306 # 监听数据库是否运行
  • netstat -tunlp | grep 80 # 监听web服务是否运行
  • netstat -tunlp | grep 443 # 监听https服务是否运行

5. ping命令

功能:

  • 测试当前主机到目标机器的网络连通性

  • 可以对域名进行ping,查看是否能够通信,也可以用这个命令当做检测本机是否能够dns解析的命令

  • ping ip地址,省去了dns解析的过程

用法

  1. ping命令跟着域名或是ip地址,它会一直刷新命令的结果
  2. ping命令发送给了远程主机多少字节的数据
  3. 从目标主机收到了多少字节的数据,
    • icmp_seq表示收到的字节数据序列号
    • ttl是数据包的存活时间,秒为单位
    • time是两台机器收发数据的延迟时间

ping命令用于检测主机网络状态

1、检测本机是否能够进行dns解析

  • ping pythonav.cn

  • 当出现ping: pythonav.cn: 未知的名称或服务可能是机器无法上网了,也可能是无法进行dns域名解析了

  • 验证步骤:

    • 1、检查linux的dns客户端配置文件/etc/resolv.conf

    • 确保文件中,有dns服务器的地址

    • nameserver 114.114.114.114
      nameserver 223.5.5.5
      
    • 2、此时再次验证能否进行域名解析,能否发送ping命令

    • 当ping远程主机的时候,出现如下报错,就是自己机器,无法上外网了

    • Destination Host Unreachable报错

    • 说明网络配置有问题了,得正确配置ip信息,以及路由网关地址

6. telnet命令

作用:

  • telnet命令在以前是用于登录远程主机的命令,以及检测远程主机的端口是否打开了
  • 但是telnet命令采用的是明文传输,安全性太低,在远程登录的时候,容易丢失或者被黑客截取服务器的密码
  • 后来被弃用,采用了更安全的ssh远程登录命令

用法:
1、用于检测远程主机是否打开了某端口

  • 这个telnet命令得安装后才能使用

  • yum install telnet -y

2、检测远程机器的22端口是否打开

  • telnet 123.206.16.61 22

3、检测远程服务器是否开放了数据库的3306端口

  • telnet 123.206.16.61 3306

7. ssh命令

说明:

  • ssh是安全的远程连接命令
  • ssh命令是openssh软件包中的一个套件命令,使用ssh加密的协议进行远程登录,并且实现对服务器的远程管理
  • linux系统可以直接在命令行终端,输入ssh指令即可
  • ssh连接的是服务器上运行的sshd这个应用程序,且后台监听的是22端口

语法:

ssh 用户名@ip地址

参数:
-p port  # 假如默认ssh端口22改成了24444

ssh kkite@123.206.16.16 24444 # 指定端口默认连接

远程执行服务器的命令
ssh root@123.206.16.16 "free -m" # 查看服务器内存使用情况

8. wget命令

作用:

  • 用于下载指定的url资源文件,比如一个图片的url地址
  • wget非常稳定,可以在网速很差的情况下,以及网速很快的情况下都能够很强的适应网络环境
  • wget还支持断点续传
  • 支持ftp以及http协议下载
  • wget

安装:

yum install wget -y

案例:

1、下载一张kkite的照片

wget https://upload.jianshu.io/users/upload_avatars/16997172/0b60b00d-651a-41af-98ff-63c90da03fe3.png?imageMogr2/auto-orient/strip|imageView2/1/w/96/h/96/format/webp

2、下载文件,且指定保存文件的名字,通过wget的功能参数 -O即可,下载url资源后,指定linux目录保存,且修改文件名

wget -O /tmp/kkite.png https://upload-images.jianshu.io/upload_images/16997172-4f21d2fd1656f4a3.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp

3、限制wget的下载速度,通过--limit-rate参数,限制下载速度

wget --limit-rate=1k https://upload-images.jianshu.io/upload_images/16997172-4f21d2fd1656f4a3.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp

4、断点续传 -c

wget -c --limit-rate=2k https://upload-images.jianshu.io/upload_images/16997172-4f21d2fd1656f4a3.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp

5、后台下载,-b

# 日志默认输出到wget-log中
wget -b --limit-rate=2k https://upload-images.jianshu.io/upload_images/16997172-4f21d2fd1656f4a3.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容