四、Linux常用网络命令

1.配置Linux的IP地址

通过修改网卡配置文件来永久修改IP地址

nmtui工具——网络配置工具

语法:nmtui

nmtui:NetworkManager Text-User Interface

网络配置工具,图形化工具

编辑链接:IP地址 子网掩码 网关 DNS

2.IP地址

IP地址主要有2个版本,V4版本和V6版本(V6很少用,课程暂不涉及)

IPv4版本的地址格式:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101

特殊IP:

        127.0.0.1,这个IP地址用于指代本机

        0.0.0.0,可以用于指代本机

                可以在端口绑定中用来确定绑定关系(后续讲解)

                在一些白名单中表示任意IP,如放行规则设置为0.0.0.0,表示允许任意IP访问

2.IP命令

IP:Internet Protocol

执行权限:root

显示和设置网络路由、路由策略

1.查看IP地址——ip add

[root@localhost test2]# ip add # 或全写 ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
#以上是lo本地回环网卡的信息
#以下是ens160网卡的信息
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:2e:77:af brd ff:ff:ff:ff:ff:ff
    #MAC地址
    inet 192.168.6.123/24 brd 192.168.6.255 scope global noprefixroute ens160
    #IP地址和子网掩码
       valid_lft forever preferred_lft forever
    inet6 fe80::1bb4:96ec:d40f:8836/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@localhost test2]# 

2.查看路由器——ip route

[root@localhost test2]# ip route #或 全写ip route show
default via 192.168.6.254 dev ens160 proto static metric 100 
192.168.6.0/24 dev ens160 proto kernel scope link src 192.168.6.123 metric 100 

3.临时设定IP地址和删除IP地址

ip address add 192.168.4.12 /24 dev ens33 #临时设定IP地址,永久用 nmtui工具
ip address del 192.168.4.12 /24 dev ens33 #删除IP地址

4.临时设定网关

ip route del default via 192.168.4.12 #删除网关

3.ifconfig命令——查看和临时修改IP地址

如无法使用ifconfig命令,可以安装:yum -y install net-tools

语法:ifconfig

ifconfig: configure a network interface

执行权限:root

配置网络接口

1.查看IP地址信息

[root@localhost test2]# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.6.123  netmask 255.255.255.0  broadcast 192.168.6.255
        inet6 fe80::1bb4:96ec

2.临时配置IP地址

[root@localhost test2]# ifconfig eth0 192.168.44.3 netmask 255.255.255.0
#配置ip地址,同时配置子网掩码

4. ifup 和 ifdown 命令——启用禁用网卡

ifdown eth0 #关闭 eth0 网卡
ifup eth0 #启用 eth0 网卡

5.ping命令

  • 语法:ping 【选项】IP
  • ping:send ICMP ECHO_REQUEST to network hosts,向网络主机发送 ICMP请求
  • 选项
    • -b:后面加入广播地址,用于对整个网段进行探测
    • -c 次数:用于指定ping 的次数
    • -s 字节:指定探测包的大小
  • 探测与指定主机的通信
[root@localhost test2]# ping -c 1 192.168.6.2
PING 192.168.6.2 (192.168.6.2) 56(84) bytes of data.
From 192.168.6.123 icmp_seq=1 Destination Host Unreachable
  • 指定ping的次数
  • 探测网段中额可用主机
[root@localhost test2]# ping -b -c 1 192.168.6.255
WARNING: pinging broadcast address
PING 192.168.6.255 (192.168.6.255) 56(84) bytes of data.
64 bytes from 192.168.6.144: icmp_seq=1 ttl=64 time=0.418 ms

--- 192.168.6.255 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.418/0.418/0.418/0.000 ms

6.netstat 命令——查看网络状态

  • 命令: netstat【选项】
  • netstat : print network connections,routing tables,interface statistics,masquerade connections,and multcast memberships
  • 选项:
    • -a:列出所有网络状态,包括Socket
    • -c秒数 :指定每隔几秒刷新一次网络状态
    • -n:使用IP地址和端口号显示,不适用域名和服务名
    • -p:显示PID和程序名
    • -t:显示TCP端口的连接状况
    • -u:显示UDP端口的连接状况
    • -l:仅显示监听状态的连接
    • -r:显示路由表
  • 执行权限:所有用户
  • 功能: 输出网络连接、路由表、接口统计、伪装连接和组播成员

1.netstat -tuln:查看本机开启的端口

2.netstat -tulnp:查看本机有哪些程序开启的端口

3.netstat -an:查看所有连接

[root@localhost ~]# netstat -tuln #查看本机开启的端口
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
                              
[root@localhost ~]# netstat -tulnp #查看本机有哪些程序开启的端口
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      926/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1086/master         

[root@localhost ~]# netstat -an #查看所有连接
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0     52 192.168.6.123:22        192.168.6.59:60637      ESTABLISHED
tcp6       0      0 :::3306                 :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
raw6       0      0 :::58                   :::*                    7          
Active UNIX domain sockets (servers and established) #Socket程序产生的连接
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     68062053 /var/lib/mysql/mysql.sock
unix  3      [ ]         DGRAM                    7478     /run/systemd/notify
unix  2      [ ACC ]     STREAM     LISTENING     18547    private/bounce

7.ss命令类似netstat 命令

  • 命令:ss 【选项】
  • 选项
    • -a:列出所有网络状态,包括Socket
    • -n:使用IP地址和端口号显示,不适用域名和服务名
    • -p:显示PID和程序名
    • -t:显示TCP端口的连接状况
    • -u:显示UDP端口的连接状况
  • 执行权限:root

1.-an:查看本机所有网络连接

2.-tu:查询本机开启的端口

3.-a:查看本机开启的端口与正在进行的连接

[root@localhost ~]# ss -an
Netid  State      Recv-Q Send-Q  Local Address:Port      Peer Address:Port 

[root@localhost ~]# ss -tu
Netid  State      Recv-Q Send-Q  Local Address:Port     Peer Address:Port       
tcp    ESTAB      0      0       192.168.6.123:ssh      192.168.6.59:60637 

[root@localhost ~]# ss -tuan
Netid  State      Recv-Q Send-Q    Local Address:Port     Peer Address:Port              
udp    UNCONN     0      0             127.0.0.1:323        *:*                  
udp    UNCONN     0      0                 [::1]:323        [::]:*                  
tcp    LISTEN     0      128                   *:22         *:*                  
tcp    LISTEN     0      100           127.0.0.1:25         *:*                  
tcp    ESTAB      0      52        192.168.6.123:22         192.168.6.59:60637              
tcp    LISTEN     0      80                 [::]:3306        [::]:*                  
tcp    LISTEN     0      128                [::]:22          [::]:*                  
tcp    LISTEN     0      100               [::1]:25          [::]:*       

 8.write命令——给指定用户发送信息

在服务器上,有时会有多个用户同时登录,一些必要的沟通就显得尤为重要。比如,我必须关闭某个服务,或者需要重启服务器,当然需要通知同时登录服务器的用户,这时就可以使用 write 命令。

命令:write 用户名 【终端号】

  • 命令名称:write。
  • 英文原意:send a message to another user。
  • 所在路径:/usr/bin/write。
  • 执行权限:所有用户。
  • 功能描述:向其他用户发送信息。
[root@localhost ~]# write 用户名 [终端号]

[root@localhost ~]# who am i 
[user1@localhost root]$ write root pts/2
hello 
# ctrl d保存发送数据

9.wall命令——给所有登录用户发送信息

[user1@localhost root]$ wall "hello"

10.mail命令——发送和接收电子邮件

  • 命令:mail
  • mail:英文原意:send and receive Internet mail。
  • 执行权限:所有用户。
  • 功能描述:发送和接收电子邮件。

1.发送邮件 

[root@localhost ~]# mail userl
Subject: hello <-邮件标题
Nice to meet you! <-邮件具体内容
. <-使用.来结束邮件输入

#发送邮件给user1用户,接收邮件保存在"/var/spod/mail/用户名"中
#每个用户都有一个以自己的用户名命名的邮箱。

2.发送文件内容

[root@localhost ~]# mail -s "test mail" root </root/ anaconda-ks.cfg
#把/root/anaconda-ks.cfg文件的内容发送给root用户
#-s: 指定邮件标题

3.查看已经接收的邮件

[root@localhost ~]# mail
Heirloom Mail version 12.4 7/29/08.Type ?for help.
"/var/spool/mail/root": 1 message 1 new
>N 1 root Mon Dec 5 22:45 68/1777 "test mail"<-之前收到的由件
>N 2 root Mon Dec 5 23:08 18/602 "hello"
#未阅读编号发件人 时间 标题
&
<-等待用户输入命令
# "N"代表未读邮件;数字是邮件的编号,通过编号来进行邮件的操作

11 .hostname ——主机名 查看和修改

• 命令: hostname 查看主机名
• 命令: hostnamectl set-hostname 主机名,修改主机名( 需root )

[root@localhost test2]# hostname
localhost.localdomain
[root@localhost test2]# hostnamectl set-hostname ww

12.域名解析

域名解析:就是主机名映射,通过主机名找到对应计算机的IP地址

先通过系统本地的记录去查找,如果找不到就联网去公开DNS服务器去查找

www.baidu.com的流程如下:

即:

• 先查看本机的记录(私人地址本)
• Windows 看:C:\Windows\System32\drivers\etc \hosts
• Linux 看: / etc /hosts
• 再联网去DNS服务器(如 114.114.114.114 , 8.8.8.8 等)询问

13.虚拟机配置固定IP
 

虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。

DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更

配置固定IP需要2个大步骤:

1.在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)

设置子网范围(192.168.6.0)、子网掩码(255.255.255.0)、ip网关(192.168.6.2)

2.在Linux系统中手动修改网卡配置文件,固定IP

2.1.使用vim  编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=9881f4c7-e80e-4fbc-b422-2b920eebd4f8
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.6.123
NETMASK=255.255.255.0
GATEWAY=192.168.6.254
DNS1=221.179.155.177
DNS2=221.179.155.161
2.2.执行:systemctl restart network 重启网卡,执行ifconfig即可看到ip地址固定为192.168.88.13 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值