Linux命令(四):netstat,ifconfig,ping网络相关命令详解
netstat、ifconfig、ping这三个可以说是查看或配置网络信息最常用的命令。
netstat:打印显示网络连接信息,路由表、接口统计信息。
ifconfig:用于配置网卡的信息,系统重启后配置失效。
ping:发送 ICMP 协议 ECHO_REQUEST 发送到主机测试连通性。
想了解命令及所带参数的含义和使用,使用命令自身的帮助或说明:
netstat
netstat 命令在 Linux 和 Windows 系统都有此命令,作用也是类似,所带的参数略有不同。
netstat 默认显示连接中的Socket列表
想了解命令及所带参数的含义和使用,使用命令自身的帮助或说明:
1 | netstat --help |
语法
1 | netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip] |
示例
查看端口使用情况
1
2
3
4
5
6
7
8
9
10
11[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显示网卡信息
1
2
3
4
5[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显示核心路由信息
1
2
3
4
5[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结合 grep 来过滤输出
1
2
3
4
5
6
7
8
9[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列出监听中的 Sockets
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18[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 [::]:*配合 grep 和 awk,只输出指定的列,下面示例只输出进程号
1
2
3[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 系统都有此命令,作用相同。
此命令有好几个参数,但很少用到,下面只列常用到的参数。
语法
1 | ping [-cfrRst] ip_address |
参数
- -c <完成次数>:设置完成要求回应的次数。
- -R:记录路由过程。
- -s <数据包大小>:设置数据包大小。
- -t <存活数值>:设置存数值TTL的大小。
示例
1 | //ping执行响应100次结束 |
ifconfig
ifconfig用于显示或设置网卡参数,但网卡或机器重启后失效,所以也很少用于设置参数,需要设置的可以去修改网卡的配置文件。现在大多用于查看网卡的参数。
语法
1 | ifconfig [参数] |
参数
up:启用指定网卡。
down:关闭指定网卡。
示例
1 | //启动eth0网卡 |
Linux命令(四):netstat,ifconfig,ping网络相关命令详解
http://blog.gxitsky.com/2018/05/16/Linux-Command-4-netstat-ping-ifconfig/