Linux常用命令:netstat,ifconfig,ping网络相关命令使用

star2017 1年前 ⋅ 342 阅读

netstat、ifconfig、ping这三个可以说是查看或配置网络信息最常用的命令。

netstat:打印显示网络连接信息,路由表、接口统计信息。
ifconfig:用于配置网卡的信息,系统重启后配置失效。
ping:发送 ICMP 协议 ECHO_REQUEST 发送到主机测试连通性。

想了解命令及所带参数的含义和使用,使用命令自身的帮助或说明:

netstat

netstat 命令在 Linux 和 Windows 系统都有此命令,作用也是类似,所带的参数略有不同。
netstat 默认显示连接中的Socket列表

想了解命令及所带参数的含义和使用,使用命令自身的帮助或说明:

netstat --help
man netstat

语法

netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

示例

  1. 查看端口使用情况

    [root@localhost ~]# netstat -tlnp
    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:9000            0.0.0.0:*               LISTEN      11002/nginx: worker 
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1287/sshd           
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1699/master         
    tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      11002/nginx: worker 
    tcp6       0      0 :::5522                 :::*                    LISTEN      11431/java          
    tcp6       0      0 :::22                   :::*                    LISTEN      1287/sshd           
    tcp6       0      0 :::1111                 :::*                    LISTEN      29059/java          
    tcp6       0      0 ::1:25                  :::*                    LISTEN      1699/master
    
  2. 显示网卡信息

    [root@localhost ~]# netstat -i
    Kernel Interface table
    Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    ens192           1500 624664042      0    253 0      515393712      0      0      0 BMRU
    lo              65536 415440440      0      0 0      415440440      0      0      0 LRU
    
  3. 显示核心路由信息

    [root@localhost ~]# netstat -rn
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    0.0.0.0         172.24.79.253   0.0.0.0         UG        0 0          0 eth0
    172.24.64.0     0.0.0.0         255.255.240.0   U         0 0          0 eth0
    
  4. 结合 grep 来过滤输出

    [root@localhost ~]# netstat -tlnp|grep nginx
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      23829/nginx: worker 
    
    [root@localhost ~]# netstat -ntlp|grep :80
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      23829/nginx: worker 
    tcp6       0      0 :::8085                 :::*                    LISTEN      26348/java
    [root@localhost ~]# netstat -tlnp|grep ':80'
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      23829/nginx: worker 
    tcp6       0      0 :::8085                 :::*                    LISTEN      26348/java
    
  5. 列出监听中的 Sockets

    [root@localhost ~]# netstat -l
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 0.0.0.0:redis           0.0.0.0:*               LISTEN     
    tcp        0      0 0.0.0.0:hostmon         0.0.0.0:*               LISTEN     
    tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN     
    tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
    tcp6       0      0 [::]:mysql              [::]:*                  LISTEN     
    tcp6       0      0 [::]:redis              [::]:*                  LISTEN     
    tcp6       0      0 [::]:hostmon            [::]:*                  LISTEN     
    tcp6       0      0 [::]:8085               [::]:*                  LISTEN     
    tcp6       0      0 [::]:pcsync-https       [::]:*                  LISTEN     
    udp        0      0 127.0.0.53:domain       0.0.0.0:*                          
    udp        0      0 iZf8z5ura2kb73ra:bootpc 0.0.0.0:*                          
    udp        0      0 0.0.0.0:hostmon         0.0.0.0:*                          
    udp        0      0 localhost:323           0.0.0.0:*                          
    udp6       0      0 [::]:hostmon            [::]:*                             
    udp6       0      0 localhost:323           [::]:*
    
  6. 配合 grep 和 awk,只输出指定的列,下面示例只输出进程号

    [root@localhost ~]# netstat -nlp | grep 80| awk '{print $7}' | awk -F "/" '{ print $1}'
    23829
    26348
    

常用参数

  • -a,--all:显示监听听和非监听(对于TCP,这意味着已建立连接)的 Socket

  • -c,--continuous:每秒连续打印所选信息

  • -C:打印路由缓存中的路由信息

  • -e,--extend:显示更多扩展信息

  • -F:打印 FIB 的路由信息

  • -g,--group:显示多重广播功能群组组员列表

  • -i,--interfaces:显示网卡列表

  • -l,--listening:显示监听中的Socket

  • -r,--route:显示路由表

  • -s,--statistics:显示网络统计

  • -t,--tcp:显示 tcp 连接,-4 显示 ipv4 信息,-6 显示 ipv6 信息

  • -u,--udp:显示 udp 连接

ping

ping命令主要用于测试两台主机之前的网络连通性, Linux 和 Windows 系统都有此命令,作用相同。
此命令有好几个参数,但很少用到,下面只列常用到的参数。

语法

ping [-cfrRst] ip_address

参数

  • -c <完成次数>:设置完成要求回应的次数。
  • -R:记录路由过程。
  • -s <数据包大小>:设置数据包大小。
  • -t <存活数值>:设置存数值TTL的大小。

示例

//ping执行响应100次结束
ping -c100 www.qq.com

//记录ping的路由过程
ping -R www.qq.com    

//发送1500byte的数据包
ping -s1500 www.qq.com

ifconfig

ifconfig用于显示或设置网卡参数,但网卡或机器重启后失效,所以也很少用于设置参数,需要设置的可以去修改网卡的配置文件。现在大多用于查看网卡的参数。

语法

ifconfig [参数]

参数

  • up:启用指定网卡。

  • down:关闭指定网卡。

示例

//启动eth0网卡
ifconfig eth0 up

//关闭eth0网卡
ifconfig eth0 down        

//修改MAC地址
ifconfig eth0 hw ether 00:AA:BB:CC:dd:EE        

//设置能通过的最大数据包大小为 1500 bytes
ifconfig eth0 mtu 1500**  

// 配置IP地址
[root@localhost ~]# ifconfig eth0 192.168.2.10
[root@localhost ~]# ifconfig eth0 192.168.2.10 netmask 255.255.255.0
[root@localhost ~]# ifconfig eth0 192.168.2.10 netmask 255.255.255.0 broadcast 192.168.2.255
更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: