netstat、ifconfig、ping这三个可以说是查看或配置网络信息最常用的命令。
netstat:打印显示网络连接信息,路由表、接口统计信息。
ifconfig:用于配置网卡的信息,系统重启后配置失效。
ping:发送 ICMP 协议 ECHO_REQUEST 发送到主机测试连通性。
想了解命令及所带参数的含义和使用,使用命令自身的帮助或说明:
netstat
netstat 命令在 Linux 和 Windows 系统都有此命令,作用也是类似,所带的参数略有不同。
netstat 默认显示连接中的Socket列表
想了解命令及所带参数的含义和使用,使用命令自身的帮助或说明:
netstat --help
man netstat
语法
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
示例
查看端口使用情况
[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
显示网卡信息
[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
显示核心路由信息
[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 来过滤输出
[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
[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,只输出指定的列,下面示例只输出进程号
[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
注意:本文归作者所有,未经作者允许,不得转载