如何使用ss查看Linux中的网络连接

现在在最新版本的Linux中,“ss”命令被用来取代“netstat”命令。
“ss”命令比“netstat”命令更快、更简单、更易于阅读。
“ss”命令可以使用和“netstat”命令一样的参数。

另外还可以使用-e选项来查看扩展信息。

查看所有的监听进程:

$sudo ss -tlunp

“T”显示“TCP”连接,“L”仅显示收听套接字,“U”显示UDP连接,“N”以数字表示地址、用户和端口,“P”显示连接所属的程序。

查看所有网络连接

使用a显示所有网络套接字

$sudo ss -taunp

查看已建立的连接

如果不包含-a或者-l选项,则“SS”将只显示已建立的连接。

$sudo ss -tunp

如何使用LSOF监控网络连接和侦听服务

lsof用于列出打开的文件。
GNU/Linux继承了Unix设计原则,即一切都是文件,包括网络连接。

所以“LSOF”也可用于查看网络活动。

查看所有网络连接

$sudo lsof -nP -i

n以数字表示地址,P以数字表示端口,i禁止列出任何未被视为网络文件的被打开的文件。

查看已建立的连接

$sudo lsof -nP -iTCP -sTCP:ESTABLISHED

查看监听的进程

使用“LSOF”查看监听进程:

$sudo lsof -nP -iTCP -sTCP:LISTEN

上面的命令会漏掉UDP的进程,所以可以换成下面的命令:

$sudo lsof -nP -i | grep 'LISTEN\|UDP'
如何监控Linux系统上的网络活动

如何使用netstat监控网络连接和侦听服务

Netstat是一个功能强大的实用程序,可以打印网络连接、路由表、接口统计信息、伪装连接和多播成员身份。

安装netstat

在Debian和基于Debian的系统(比如ubuntu)上,使用APT。

# apt install net-tools

在Red Hat Enterprise Linux和基于Red Hat的系统上,使用Yum,

# yum install net-tools

在基于Arch的系统上,使用Pacman。

# pacman -S net-tools

查看监听进程

查看正在收听连接的进程:

$sudo netstat -tulpen

T显示“TCP”连接,“U”显示UDP连接,“L”仅显示收听套接字,“P”显示连接所属的程序,“E”显示扩展信息,以及“N”表示数字上的地址,用户和端口。

查看所有网络连接

使用-a以查看所有套接字而不是-l以查看收听套接字。

$sudo netstat -atupen

查看已建立的连接

使用grep过滤“已建立的”连接(ESTABLISHED)

$sudo netstat -atupen | grep ESTABLISHED

获取ip后,还可以使用WHOIS查询IP地址。

$whois 91.198.174.192| less

监控通过网络发送的数据

我们已经看到了NetstatSSifconfig可用于监视正在进行的网络连接以及谁,但通常希望究竟可以看到通过网络发送的数据。
要完成此目标,我们需要能够嗅探的应用程序。
有名的两个程序是“TCPDump”和“Wireshark”。可以查看我们的相关教程。

日期:2020-07-07 20:56:27 来源:oir作者:oir