一、ifconfig
ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
1. 安装
若系统默认没有ifconfig命令,则使用下面命令进行安装。
yum install net-tools
2. 常用参数
up
:启动指定的网络设备;down
:关闭指定的网络设备;mtu <字节>
:设置网络设备的最大传输单元;netmask <子网掩码>
:设置网络设备的子网掩码;broadcast <广播地址>
:设置网络设备的广播地址;
3. 应用
显示网络设备信息(激活状态的)
[vagrant@10 ~]$ ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255 inet6 fe80::e096:3a76:6df1:bd6d prefixlen 64 scopeid 0x20<link> ether 08:00:27:6b:57:88 txqueuelen 1000 (Ethernet) RX packets 952 bytes 85854 (83.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 621 bytes 73814 (72.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 说明
eth0 表示第一块网卡。
lo是表示主机的回环地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 httpd服务器的指定到回环地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。
\ | 解释 |
UP | 网卡处在开启状态 |
RUNNING | 网卡的网线被接上 |
MULTICAST | 支持组播 |
mtu 1500 | 最大传输单元:1500字节 |
inet | 网卡的IP地址 |
netmask | 掩码地址 |
broadcast | 广播地址 |
RX packets [xx] bytes [xx] | 接收数据包数量、字节数 |
TX packets [xx] bytes [xx] | 发送数据包数量、字节数 |
启动关闭指定网卡
ifconfig eth0 up # 启动网卡eth0 ifconfig eth0 down # 关闭网卡eth0
- ssh登陆linux服务器操作要小心,关闭了就会断开ssh连接,就不能开启了,除非你有多网卡。
启用和关闭 ARP 协议(地址解析协议)
ifconfig eth0 arp #开启网卡eth0 的arp协议 ifconfig eth0 -arp #关闭网卡eth0 的arp协议
配置IP地址、子网掩码、广播地址
# 如果不加任何其他参数,则系统会依照该 IP 所在的 class 范围,自动的计算出 netmask 以及 network, broadcast 等 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
设置最大传输单元
ifconfig eth0 mtu 1500 #设置能通过的最大数据包大小为 1500 bytes
放弃 ifconfig
的全部修改,以 ifcfg-eth*
的配置文件重置网络设置
/etc/init.d/network restart
ifconfig 所有配置修改功能都只是临时修改,重启网络服务就会失效。
二、ifup 和 ifdown
根据 /etc/sysconfig/network-scripts/ifcfg-eth* 配置文件启动和关闭网卡
1. 语法
- 启动网卡
ifup [interface]
- 关闭网卡
ifdown [interface]
2. 命令介绍
ifup 与 ifdown 其实都是 shell 脚本,他会直接到 /etc/sysconfig/network-scripts
目录下查找对应的配置文件,例如 ifup eth0
会读取 ifcfg-eth0
这个文件的内容,然后加以设置。
不过,由于这两个脚本主要是通过读取配置文件 (ifcfg-eth*) 来启动与关闭网络接口,所以在使用前请确定 ifcfg-eth*
是否真的存在于正确的目录内,否则会启动失败。另外,如果以 ifconfig eth0 ...
的方式 设定或修改了网路接口后,就无法再以 ifdown eth0
的方式来关闭了! 因为 ifdown
会分析比对目前的网路参数与 ifcfg-eth0
是否相符,不符的话,就会放弃本次动作。因此,使用 ifconfig
修改完毕后,应该要用 ifconfig eth0 down
才能够关闭该接口。
3. 应用
- 当前网卡配置
[root@10 vagrant]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255 inet6 fe80::e096:3a76:6df1:bd6d prefixlen 64 scopeid 0x20<link> ether 08:00:27:6b:57:88 txqueuelen 1000 (Ethernet) RX packets 1870 bytes 173264 (169.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1110 bytes 143493 (140.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 08:00:27:db:78:8f txqueuelen 1000 (Ethernet) RX packets 107 bytes 12570 (12.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 17 bytes 1326 (1.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 使用
ifconfig eth1 down
关闭eth1
网卡
[root@10 vagrant]# ifconfig eth1 down [root@10 vagrant]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255 inet6 fe80::e096:3a76:6df1:bd6d prefixlen 64 scopeid 0x20<link> ether 08:00:27:6b:57:88 txqueuelen 1000 (Ethernet) RX packets 1938 bytes 178334 (174.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1145 bytes 146715 (143.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 使用
ifdown lo
关闭lo
网卡
[root@10 vagrant]# ifdown lo [root@10 vagrant]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255 inet6 fe80::e096:3a76:6df1:bd6d prefixlen 64 scopeid 0x20<link> ether 08:00:27:6b:57:88 txqueuelen 1000 (Ethernet) RX packets 2018 bytes 184304 (179.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1186 bytes 150461 (146.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 使用
ifup
开启lo
和eth1
网卡
[root@10 vagrant]# ifup lo [root@10 vagrant]# ifup eth1 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5) [root@10 vagrant]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255 inet6 fe80::e096:3a76:6df1:bd6d prefixlen 64 scopeid 0x20<link> ether 08:00:27:6b:57:88 txqueuelen 1000 (Ethernet) RX packets 2083 bytes 189104 (184.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1221 bytes 153755 (150.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.33.88 netmask 255.255.255.0 broadcast 192.168.33.255 inet6 fe80::a00:27ff:fedb:788f prefixlen 64 scopeid 0x20<link> ether 08:00:27:db:78:8f txqueuelen 1000 (Ethernet) RX packets 107 bytes 12570 (12.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 24 bytes 1884 (1.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
三、route
显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。
要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
在Linux系统中设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的ip地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。
在一台服务器里,连接内网的网卡是不能进行设置。
1. 语法
route [选项] [参数]
2. 常用选项
-n
:不使用通信协议或主机名,直接显示数字形式的IP地址和端口号;-net
:到一个网络的路由表;-host
:到一个主机的路由表。
3. 常用参数
add
:增加指定的路由记录;del
:删除指定的路由记录;gw
:设置默认网关;
4. 应用
显示当前路由列表
route -n
功能与
netstat -rn
命令一致
[root@10 vagrant]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.0.2.2 0.0.0.0 UG 102 0 0 eth0 10.0.2.0 0.0.0.0 255.255.255.0 U 102 0 0 eth0 192.168.33.0 0.0.0.0 255.255.255.0 U 103 0 0 eth1
- Destination, Genmask:分别是 IP 与 子网掩码。它们组合成为一个完整的网域。
- Gateway:该网域是通过哪个 网关 连接出去的。如果显示 0.0.0.0 表示该路由是直接由本机传送,也就是可以通过局域网的 MAC 直接发送;如果有显示 IP 的话,表示该路由需要经过路由器 (网关) 的帮忙才能够传送出去。
- Flags为路由标志,标记当前网络节点的状态,Flags标志说明
Flags | 说明 |
U | Up表示此路由当前为启动状态。 |
H | Host,表示此网关为一主机。 |
G | Gateway,表示此网关为一路由器。 |
R | Reinstate Route,使用动态路由重新初始化的路由。 |
D | Dynamically,此路由是动态性地写入。 |
M | Modified,此路由是由路由守护程序或导向器动态修改。 |
! 表示此路由当前为关闭状态。
- Iface:这个路由传送数据包的接口
添加设置和删除默认网关
route del default gw 192.168..1 route add default gw 192.168.0.2
添加网关/设置网关
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 #增加一条到达244.0.0.0的路由。
屏蔽一条路由
route add -net 224.0.0.0 netmask 240.0.0.0 reject #增加一条屏蔽的路由,目的地址为224.x.x.x将被拒绝。
删除路由记录
route del -net 224.0.0.0 netmask 240.0.0.0 route del -net 224.0.0.0 netmask 240.0.0.0 reject
四、netstat
查询系统的状态信息。
1. 语法
netstat [选项]
2. 常用选项
-t
:列出TCP协议的端口-u
:列出UDP协议的端口-n
:不使用域名与服务名,而使用IP地址和端口号-l
:仅列出在监听状态的网络服务-a
:列出所有的网络连接-p
:显示正在使用Socket的程序识别码和程序名称-r
:显示路由表
3. 应用
列出所有端口 (包括监听和未监听的)
netstat -a #列出所有端口 netstat -at #列出所有tcp端口 netstat -au #列出所有udp端口
- 实例
[root@10 vagrant]# netstat -a Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN tcp 0 0 10.0.2.15:ssh 10.0.2.2:surveyinst ESTABLISHED tcp6 0 0 [::]:ssh [::]:* LISTEN udp 0 0 0.0.0.0:bootpc 0.0.0.0:* raw6 0 0 [::]:ipv6-icmp [::]:* 7 Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 3 [ ] DGRAM 6409 /run/systemd/notify ... 省略n行 ... unix 3 [ ] STREAM CONNECTED 12780 [root@10 vagrant]# netstat -at Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN tcp 0 0 10.0.2.15:ssh 10.0.2.2:surveyinst ESTABLISHED tcp6 0 0 [::]:ssh [::]:* LISTEN [root@10 vagrant]# netstat -au Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
列出所有处于监听状态的 Sockets
netstat -l #只显示监听端口 netstat -lt #只列出所有监听 tcp 端口 netstat -lu #只列出所有监听 udp 端口
- 实例
[root@10 vagrant]# netstat -l Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN udp 0 0 0.0.0.0:bootpc 0.0.0.0:* raw6 0 0 [::]:ipv6-icmp [::]:* 7 Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 6422 /run/systemd/journal/stdout unix 2 [ ACC ] STREAM LISTENING 22047 /var/run/NetworkManager/private-dhcp unix 2 [ ACC ] STREAM LISTENING 10811 /run/lvm/lvmetad.socket unix 2 [ ACC ] STREAM LISTENING 10583 /run/lvm/lvmpolld.socket unix 2 [ ACC ] STREAM LISTENING 13211 /var/lib/gssproxy/default.sock unix 2 [ ACC ] STREAM LISTENING 10345 /run/systemd/private unix 2 [ ACC ] STREAM LISTENING 12662 /run/dbus/system_bus_socket unix 2 [ ACC ] STREAM LISTENING 12665 /var/run/rpcbind.sock unix 2 [ ACC ] STREAM LISTENING 13212 /run/gssproxy.sock unix 2 [ ACC ] SEQPACKET LISTENING 10439 /run/udev/control [root@10 vagrant]# netstat -lt Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN [root@10 vagrant]# netstat -lu Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
在netstat输出中显示 PID 和进程名称
netstat -tulnp
- 实例
[root@10 vagrant]# 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 1053/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 4406/sendmail: acce tcp6 0 0 :::22 :::* LISTEN 1053/sshd udp 0 0 0.0.0.0:68 0.0.0.0:* 3824/dhclient
找出程序运行的端口
- 并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。
netstat -anp | grep ssh
- 找出运行在指定端口的进程:
netstat -anp | grep ':22'
- 实例
[root@10 vagrant]# netstat -anp | grep ssh tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1053/sshd tcp 0 0 10.0.2.15:22 10.0.2.2:3212 ESTABLISHED 3888/sshd: vagrant tcp6 0 0 :::22 :::* LISTEN 1053/sshd unix 3 [ ] STREAM CONNECTED 29697 3890/sshd: vagrant@ unix 3 [ ] STREAM CONNECTED 16196 1053/sshd unix 3 [ ] STREAM CONNECTED 29698 3888/sshd: vagrant unix 2 [ ] DGRAM 29694 3888/sshd: vagrant [root@10 vagrant]# netstat -anp | grep ':22' tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1053/sshd tcp 0 0 10.0.2.15:22 10.0.2.2:3212 ESTABLISHED 3888/sshd: vagrant tcp6 0 0 :::22 :::* LISTEN 1053/sshd
查看处在连接状态的进程数
netstat -an | grep "ESTABLISHED" | wc -l
- 实例
[root@10 vagrant]# netstat -an | grep "ESTABLISHED" tcp 0 0 10.0.2.15:22 10.0.2.2:3212 ESTABLISHED [root@10 vagrant]# netstat -an | grep "ESTABLISHED" | wc -l 1
查看某个程序的进程数
netstat -anop | grep "ssh" | wc -l
- 实例
[root@10 vagrant]# netstat -anop | grep "ssh" tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1053/sshd off (0.00/0/0) tcp 0 0 10.0.2.15:22 10.0.2.2:3212 ESTABLISHED 3888/sshd: vagrant keepalive (3494.79/0/0) tcp6 0 0 :::22 :::* LISTEN 1053/sshd off (0.00/0/0) unix 3 [ ] STREAM CONNECTED 29697 3890/sshd: vagrant@ unix 3 [ ] STREAM CONNECTED 16196 1053/sshd unix 3 [ ] STREAM CONNECTED 29698 3888/sshd: vagrant unix 2 [ ] DGRAM 29694 3888/sshd: vagrant [root@10 vagrant]# netstat -anop | grep "ssh" | wc -l 7
显示当前路由列表
netstat -rn
功能与
route -n
命令一致
- 实例
[root@10 vagrant]# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0 10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.33.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 [root@10 vagrant]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.0.2.2 0.0.0.0 UG 102 0 0 eth0 10.0.2.0 0.0.0.0 255.255.255.0 U 102 0 0 eth0 192.168.33.0 0.0.0.0 255.255.255.0 U 103 0 0 eth1
五、ss
显示处于活动状态的Socket信息。
ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
1. 语法
ss [选项]
2. 常用选项
-t
:列出TCP协议的Socket-u
:列出UDP协议的Socket-n
:不使用域名与服务名,而使用IP地址和端口号-l
:仅列出在监听状态的Socket-a
:列出所有的Socket-p
:显示正在使用Socket的进程信息
3. 应用
列出TCP连接和UDP连接
ss -at #列出tcp连接 ss -au #列出udp连接
- 实例
[root@10 vagrant]# ss -at State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:ssh *:* LISTEN 0 10 127.0.0.1:smtp *:* ESTAB 0 0 10.0.2.15:ssh 10.0.2.2:surveyinst LISTEN 0 128 :::ssh :::* [root@10 vagrant]# ss -au State Recv-Q Send-Q Local Address:Port Peer Address:Port UNCONN 0 0 *:bootpc *:*
列出所有处于监听状态的 Sockets
ss -lt #列出监听 tcp 端口 ss -lu #列出监听 udp 端口
- 实例
[root@10 vagrant]# ss -lt State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:ssh *:* LISTEN 0 10 127.0.0.1:smtp *:* LISTEN 0 128 :::ssh :::* [root@10 vagrant]# ss -lu State Recv-Q Send-Q Local Address:Port Peer Address:Port UNCONN 0 0 *:bootpc *:*
在netstat输出中显示 PID 和进程名称
ss -tulnp
- 实例
[root@10 vagrant]# ss -tulnp Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 *:68 *:* users:(("dhclient",pid=3824,fd=6)) tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=1053,fd=3)) tcp LISTEN 0 10 127.0.0.1:25 *:* users:(("sendmail",pid=4406,fd=4)) tcp LISTEN 0 128 :::22 :::* users:(("sshd",pid=1053,fd=4))
找出程序运行的端口
- 并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。
ss -anp | grep ssh
- 找出运行在指定端口的进程:
ss -anp | grep ':22'
- 实例
[root@10 vagrant]# ss -anp | grep ssh u_str ESTAB 0 0 * 29697 * 29698 users:(("sshd",pid=3890,fd=5)) u_str ESTAB 0 0 * 16196 * 16249 users:(("sshd",pid=1053,fd=2),("sshd",pid=1053,fd=1)) u_str ESTAB 0 0 * 29698 * 29697 users:(("sshd",pid=3888,fd=7)) u_dgr UNCONN 0 0 * 29694 * 6427 users:(("sshd",pid=3890,fd=4),("sshd",pid=3888,fd=4)) tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=1053,fd=3)) tcp ESTAB 0 0 10.0.2.15:22 10.0.2.2:3212 users:(("sshd",pid=3890,fd=3),("sshd",pid=3888,fd=3)) tcp LISTEN 0 128 :::22 :::* users:(("sshd",pid=1053,fd=4)) [root@10 vagrant]# ss -anp | grep ':22' tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=1053,fd=3)) tcp ESTAB 0 0 10.0.2.15:22 10.0.2.2:3212 users:(("sshd",pid=3890,fd=3),("sshd",pid=3888,fd=3)) tcp LISTEN 0 128 :::22 :::* users:(("sshd