当前位置:首页 > 行业动态 > 正文

如何在Linux系统中查看网络流量?

在Linux下查看网络流量可以使用多种工具,如ifconfig、netstat、ss等。ifconfig可以查看网络接口的状态和流量信息;netstat可以显示网络连接、路由表等信息;ss则是一种更高效的网络统计工具。

在Linux操作系统中,监控网络流量是系统管理员和开发者日常工作的重要组成部分,了解如何查看和管理网络流量可以帮助我们诊断问题、优化性能以及确保网络安全,本文将介绍几种常用的Linux命令和工具来查看和分析网络流量。

如何在Linux系统中查看网络流量?  第1张

ifconfig命令

ifconfig是一个用于配置和显示Linux内核中网络接口的命令,它能够显示每个网络接口的详细信息,包括IP地址、子网掩码、广播地址等。

使用示例:

ifconfig

输出示例(部分):

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.2  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::f816:3eff:fe7d:b9a5  prefixlen 64  scopeid 0x20<link>
        ether fa:16:3e:7d:b9:a5  txqueuelen 1000  (Ethernet)
        RX packets 12345  bytes 1234567 (1.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 54321  bytes 654321 (654.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

netstat命令

netstat命令用于显示网络状态信息,包括路由表、接口状态、连接状态等,它是一个非常强大的工具,可以结合多种选项来获取详细的网络信息。

常用选项:

-i:显示网络接口统计信息

-t:显示TCP协议的连接

-u:显示UDP协议的连接

-n:以数字形式显示地址和端口号

-l:仅显示监听的套接字

使用示例:

netstat -tuln

输出示例(部分):

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN
udp        0      0 0.0.0.0:68              0.0.0.0:

ss命令

ss命令是netstat的一个现代替代品,功能更强大,速度更快,它用于显示套接字统计信息。

常用选项:

-tuln:显示TCP和UDP的监听和非监听套接字,以数字形式显示

-s:显示套接字统计信息

使用示例:

ss -tuln

输出示例(部分):

State      Recv-Q Send-Q       Local Address:Port          Peer Address:Port
LISTEN     0      128           127.0.0.1:25               0.0.0.0:*       
LISTEN     0      128           0.0.0.0:22                 0.0.0.0:*       
LISTEN     0      128           0.0.0.0:68                 0.0.0.0:

tcpdump命令

tcpdump是一个数据包分析器,用于捕获和显示通过网络接口传输的数据包,它是网络故障排除和分析的强大工具。

常用选项:

-i:指定网络接口

-nn:不解析主机名和端口号

-v:详细模式

使用示例:

tcpdump -i eth0

输出示例(部分):

12:34:56.789012 IP 192.168.1.2.12345 > 8.8.8.8.53: ICMP echo request, size=64
12:34:56.789123 IP 8.8.8.8.53 > 192.168.1.2.12345: ICMP echo reply, size=64

iftop命令

iftop是一个实时的流量监控工具,可以显示网络接口上的流量信息,它类似于top命令,但用于网络流量。

使用示例:

iftop

输出示例(界面截图):


Interface: eth0                                                            

IP with Current Bandwidth----Topology---IP-----Node----Protocol---State---Source                 .bitrate scaler . sent . bitrate scaler . rcvd
<local>                                                               <remote>                                                               <traffic rate>                         <traffic exchanged>                         <connection time>                         <transmission>                         <receptions>                         <exec/source command>                         <arguments>                         <traffic distribution>                     <cumulative data>                             <time scaler>                         <protocol distributions>                     <ipseverities>                             <tcp_flags>                         <tcp_sequences>                         <tcp_options>                         <tcp_windows>>                         <tcp_rtts>>                         <fragmentation>>                         <compression/decompression>>                         <fib>>                         <qlen>>                         <fwd>>                         <flw>>                         <bklg>>                         <act/estat/gc>>                         <totlength>)                         <srcports>)                         <dstports>)                         <srctos>)                         <dsttos>)                         <srcaz>)                         <dstaz>)                         <srcpkts>)                         <dstpkts>)                         <srcwin>)                         <dstwin>)                         <srcstates>)                         <dststates>)                         <srccan>)                         <dstcan>)                         <srcloss>)                         <dstloss>)                         <srcseen>)                         <dstseen>)                         <srcsize>)                         <dstsize>)                         <srcjit>)                         <dstjit>)                         <srcdata>)                         <dstdata>)                         <srcack>)                         <dstack>)                         <srcseq>                          <dstseq>)                         <srchdr>)                         <dsthdr>)                         <srcopt>)                         <dsthot>)                         <srcmss>)                         <dstmss>)                         <srcwsnd>)                         <dstwsnd>)                         <srcwsnd_left>)                       <dstwsnd_left>)                       <srcrcv_wnd>)                       <dstrcv_wnd>)                       <srcirs>)                         <dsirs>)                         <srcdataofs>)                       <dstdataofs>)                       <srcrtt>)                         <dstrtt>)                         <srcrttvar>)                       <dsrttvar>)                       <srcplr>)                         <dstplr>)                         <srcdataof>)                       <dstdataof>)                       <srcwindow>)                       <dstwindow>)                       <srcscale>)                         <dstscale>)                       <srcminsz>)                       <dstminsz>)                       <srcinitcwnd>)                       <dstinitcwnd>)                       <srcdataofs>)                       <dstdataofs>)                       <srcssthresh>)                       <dstssthresh>)                       <srccwnd>)                         <dstcwnd>)                       <srcmss>)                         <dstmss>)                       <srcdataofs>)                       <dstdataofs>)                       <srcrttvar_max>)                     <dstrttvar_max>)                       <srcplr_max>)                       <dstplr_max>)                       <srcdataof_max>)                       <dstdataof_max>)                       <srcscale_max>)                       <dstscale_max>)                       <srcminsz_max>)                       <dstminsz_max>)                       <srcinitcwnd_max>)                       <dstinitcwnd_max>)                       <srcdataofs_max>)                       <dstdataofs_max>)                       <srcssthresh_max>)                       <dstssthresh_max>)                       <srccwnd_max>)                       <dstcwnd_max>)                       <srcmss_max>)                       <dstmss_max>)                       <srcdataofs_max>)                       <dstdataofs_max>)                       <srcrttvar_min>)                       <dstrttvar_min>)                       <srcplr_min>)                       <dstplr_min>)                       <srcdataof_min>)                       <dstdataof_min>)                       <srcscale_min>)                       <dstscale_min>)                       <srcminsz_min>)                       <dstminsz_min>)                       <srcinitcwnd_min>)                       <dstinitcwnd_min>)                       <srcdataofs_min>)                       <dstdataofs_min>)                       <srcssthresh_min>)                       <dstssthresh_min>)                       <srccwnd_min>)                       <dstcwnd_min>)                       <srcmss_min>)                       <dstmss_min>)                       <srcdataofs_min>)                       <dstdataofs_min>)                       <srcrttvar_avg>)                       <dstrttvar_avg>)                       <srcplr_avg>)                       <dstplr_avg>)                       <srcdataof_avg>)                       <dstdataof_avg>)                       <srcscale_avg>)                       <dstscale_avg>)                       <srcminsz_avg>)                       <dstminsz_avg>)                       <srcinitcwnd_avg>)                       <dstinitcwnd_avg>)                       <srcdataofs_avg>)                       <dstdataofs_avg>)                       <srcssthresh_avg>)                       <dstssthresh_avg>)                       <srccwnd_avg>)                       <dstcwnd_avg>)                       <srcmss_avg>)                       <dstmss_avg>)                       <srcdataofs_avg>)                       <dstdataofs_avg>)                       <srcrttvar_stddev>)                   <dstrttvar_stddev>)                       <srcplr_stddev>)                       <dplplr_stddev>)                       <srcdataof_stddev>)                       <dstdataof_stddev>)                       <srcscale_stddev>)                       <dstscale_stddev>)                       <srcminsz_stddev>)                       <dstminsz_stddev>)                       <srcinitcwnd_stddev>)                       <dstinitcwnd_stddev>)                       <srcdataofs_stddev>)                       <dstdataofs_stddev>)                       <srcssthresh_stddev>)                       <dstssthresh_stddev>)                       <srccwnd_stddev>)                       <dstcwnd_stddev>)                       <srcmss_stddev>)                       <dstmss_stddev>)                       <srcdataofs_stddev>)                       <dstdataofs_stddev>)                       <srcrttvar_pctchange>)                 <dstrttvar_pctchange>)                 <srcplr_pctchange>)                 <dplplr_pctchange>)                 <srcdataof_pctchange>)                 <dstdataof_pctchange>)                 <srcscale_pctchange>)                 <dstscale_pctchange>)                 <srcminsz_pctchange>)                 <dstminsz_pctchange>)                 <srcinitcwnd_pctchange>)                 <dstinitcwnd_pctchange>(...more fields...))

FAQs

Q1: 如何使用iftop监控特定IP地址的流量?

A1:iftop默认显示所有接口的流量,要监控特定IP地址的流量,可以使用以下步骤:

1、启动iftop:sudo iftop

2、在界面上按o键,输入目标IP地址,然后按回车。

3、iftop将过滤并显示与该IP地址相关的流量信息。

Q2:tcpdump如何只捕获特定端口的数据包?

A2: 使用tcpdump捕获特定端口的数据包,可以在命令中指定端口号,要捕获端口80(HTTP)的流量,可以使用以下命令:

sudo tcpdump -i eth0 port 80

如果要同时捕获多个端口,可以使用逗号分隔的列表:

sudo tcpdump -i eth0 port 80,443

Q3:ss命令中的Recv-Q和Send-Q是什么意思?

A3:Recv-Q表示接收队列的长度,即等待接收处理的数据包数量;Send-Q表示发送队列的长度,即等待发送处理的数据包数量,这些值可以帮助诊断网络拥塞或延迟问题。

到此,以上就是小编对于“linux看流量”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。

0