linux网络命令


Linux常用网络命令汇总

ifconfig:用于配置网卡IP地址信息等网络参数或者网络接口信息,临时性的配置网络信息(IP地址、子网掩码、广播地址、网关信息等)且只能用root去操作:

  • 用法
    #安装命令:yum install net-tools
    #查看网络配置文件 cat /etc/sysconfig/network-scripts/ifcfg-ens33
    ifconfig 设备名(ens33) #查看第一块网卡的
    ifconfig 设备名 up/down #指定开启/关闭网卡,远程时不要操作
    ifconfig 设备名别名(ens33:0)ip/24   #临时更换IP地址
    
    ifconfig 设备名 hw ether mac地址   #修改mac地址,注意mac地址规则,永久修改mac地址须在配置文件中更改
    

route:路由命令

  • 用法
    #网络中的数据包经过一个一个的路由器转发到目的地;
    #路由分为动态路由和静态路由,静态由认为分配
    route -n #查看路由,-n是不进行DNS解析的路由查看
    #destination:表示网络号
    
    route del default #删除网关
    route add default #添加网关
    

ip:包含了ifconfig和route命令的作用

  • 用法
    ip addr show #显示网络信息
    ip link show #同上
    ip -s link show dev 设备名#详细显示网络信息
    ip link set 设备名 on/down #启动/关闭
    ip addr set 设备名 adress(addr)(a) mac地址 #修改mac地址,addr、a为address简写
    ip address add ip/24 dev 设备名   #添加ip信息
    ip address del ip/24 dev 设备名    #删除ip信息
    ip address add ip/24 dev 设备名 lable 设备名(别名)ifconfig查看别名是否添加进去
    ip route #查看路由表
    ip neighbour#ip 检查arp缓存(显示网络邻居信息),检查mac地址信息
    

netstat:显示网络连接情况,路由表信息,端口状态,网络连接情况等信息

  • 用法
    #一个进程服务,运行之后,会暴露一个端口号,以及产生相应的进程信息
    #通过端口号或进程判断程序是否运行
    
    netstat -an #查看所有的网络连接情况-a 显示所有的套接字(socket)信息,显示数字信息
    
    #Proto 套接字使用的协议
    #local address 本地ip和端口号
      #127.0.0.1 本地回环地址,机器内部应用通信,
      #0.0.0.0 绑定机器所有网卡地址
    #forign address 套接字的远程ip和端口号
    
    netstat -tunlp |grep 80 #通过端口查看程序是否运行
      -t  -u 显示出tcp  udp连接情况
      -n 不进行dns解析
      -l 显示正在监听中的套接字情况
      -p 显示出套接字所属的进程和进程名情况
      #套接字
        #LISTENING 监听进来的连接
        #SYN_SENT 尝试建立一个连接
        #SYN_RECEIVED 收到一个请求连接
        #ESTABLISHED 已连接
        #FIN-WAIT-2  套接字已关闭
        #FIN-WAIT-2  套接字已关闭,等待对方关闭
    
    netstat -rn  #等同于route -n
    netstat -i  #显示出所有网络接口的列表
      #mtu 最大的传输单元
      #RX-OK/TX-OK接收发送的数据包
      #RX-ERR/TX-ERR接收发送的数据包,丢弃的数量
      #RX-OVR/TX-OVR接收发送的数据包,遗失的数量
      #flag标记
        #L 回环地址的含义
        #R run网络接口正在运行
        #U 套接字正处于活动状态
        #B 设置了广播地址
        #M 接收所有数据包
        #O 该接口禁止arp
        #P 端对端的连接
    
      ss 安装:yum install iproute -y
      ss -an #显示所有套接字连接情况用法同netstat
    

ping:测试当前主机和目标主机的网络

  • 用法
    #
    ping 域名 #查看是否能通信,也可以检测本机是否能够dns解析
      #当ping不通时,查看etc/resoce.conf 再ping ip 
    ping ip  #查看是否能通信,会一直刷新命令结果
    

telnet:(明文传输,安全性低)在以前是用于登录远程主机以及监测远程主机端口是否打开

  • 用法0
    #安装 yum istall telnet -y
    #用于监测远程主机端口是否打开
    telnet ip port
    

ssh:安全远程连接命令,是openssh软件包中的一个命令,使用ssh加密协议加密

  • 用法 ssh 用户名@ip地址
    #ssh连接的是服务器上的sshd,且后台默认监听的是22端口
    ssh 用户名@ip -p #当默认端口被更改了需加端口
    ssh 用户名@ip "free -m" #不用进入系统且执行命令操作远程主机
    

wget:用于下载指定url资源文件,比如图片的url地址,适用于各种网络环境

  • 用法 wget url
#安装: yum install wget -y
#支持断点续传
#支持ftp以及http协议下载
#支持添加代理
wget -O /home/filename url   #-O(大写)指定文件路径并重命名
wget --limit-rate=1k url    #限制文件下载速度
wget  -c  url      #-c支持文件断点续传
wget -b url    #后台下载,生成wget-log文件,可通过tail -f wget-log
wget --user-agent=url  #设置客户端身份(默认pc、手机)
wget -q -T 3 -t 1 --spider(不下载任何文件) url 
  #-q 安静输出 -T 指定访问超时时间 -t 设置访问网站几次
  echo $? 上次命令正确执行 输出0 错入!0(错误状态码)

总结

  • 知道怎么通过网络命令查问题,找出问题怎么解决。
  • 常用命令要熟悉,其他命令要有了解,知道怎么查,查到怎么用。