多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

LINUX 下使用网络安装包net-tools和iftop流量监控

LINUX 下使用网络安装包net-tools和iftop流量监控 默认情况下linux 系统会安装net-tools 包用于设置网络ip 地址iftop软件包用于监控网络流量情况一、net-tools 软件包命令系统debian --6.* ///( debain 13**版本已经调整了)IP地址192.168.168.107子网掩码255.255.255.0网关192.168.168.1DNS8.8.8.88.8.4.4操作0、#apt-get install net-tools1、设置IP地址、网关(nano 与vim类似#nano /etc/network/interfaces /etc/network/interfacesbak #备份原有配置文件#nano /etc/network/interfaces #编辑网网卡配置文件auto loauto eth0 #开机自动连接网络iface lo inet loopbackallow-hotplug eth0iface eth0 inet static #static表示使用固定ipdhcp表述使用动态ipaddress 192.168.168.107 #设置ip地址netmask 255.255.255.0 #设置子网掩码gateway 192.168.168.1 #设置网关ctrlo #保存配置ctrlx #退出2、设置dns#cp /etc/resolv.conf /etc/resolv.confbak #备份原有dns配置文件#nano /etc/resolv.conf #编辑配置文件nameserver 8.8.8.8 #设置首选dnsnameserver 8.8.4.4 #设置备用dnsctrlo #保存配置ctrlx #退出3、重启网络# service networking restart #重启网络# sertivectl restart networking范例二暂时修改网络接口[rootlinux ~]# ifconfig eth0 192.168.100.100netmask 255.255.255.128# 设置网络接口[rootlinux ~]# ifconfig eth0:0 192.168.50.50# 仔细看那个接口 eth0:0 。那就是在该网络接口上再仿真一个网络接口# 亦即是在一个网卡上面设置多个 IP 的意思啦[rootlinux ~]# ifconfigeth0 Link encap:Ethernet HWaddr00:0F:EA:A3:06:A2inet addr:192.168.10.100 Bcast:192.168.10.255Mask:255.255.255.0UP BROADCAST RUNNING MULTICASTMTU:1500 Metric:1RX packets:3669 errors:0 dropped:0 overruns:0frame:0TX packets:2892 errors:0 dropped:0 overruns:0carrier:0collisions:0 txqueuelen:1000RX bytes:667547 (651.9 KiB) TX bytes:584799(571.0 KiB)Interrupt:209 Memory:fb000000-0eth0:0 Link encap:Ethernet HWaddr00:0F:EA:A3:06:A2inet addr:192.168.200.2 Bcast:192.168.200.255Mask:255.255.255.0UP BROADCAST RUNNING MULTICASTMTU:1500 Metric:1Interrupt:209 Memory:fb000000-0# 仔细看是否与硬件有关的信息都相同。没错。因为是同一个网卡。[rootlinux ~]# ifconfig eth0:0 down# 关掉 eth0:0 这个接口。如果想要启动 eth1 并且不设置任何网络参数[rootlinux ~]# ifconfig eth1 up 就可以实现[rootlinux ~]# /etc/init.d/network restart# 刚刚设置的数据全部失效会以 ifcfg-ethx 的设置为主二、iftop软件包命令#iftop -i eth0 // 查看网络接口eth0 流量情况Cumm运行iftop到目前时间的总流量peak流量峰值rates分别表示过去 2s 10s 40s 的平均流量常用的参数# iftop -h //查看帮助命令-i 设定监测的网卡如# iftop -i eth1-B 以bytes为单位显示流量(默认是bits)如# iftop -B-n使host信息默认直接都显示IP如# iftop -n-N使端口信息默认直接都显示端口号如: # iftop -N-F显示特定网段的进出流量如# iftop -F 192.168.9.0/24或# iftop -F 192.168.9.0/255.255.255.0-hdisplay this message没明白啥意思呢。。。hehe-p使用这个参数后中间的列表显示的本地主机信息出现了本机以外的IP信息;-b使流量图形条默认就显示;-f这个暂时还不太会用过滤计算包用的;-P使host信息及端口信息默认就都显示;-m设置界面最上边的刻度的最大值刻度分五个大段显示例# iftop -m 100M进入 iftop 画面后的一些操作命令 ( 注意大小写 ) 按h切换是否显示帮助;按n切换显示本机的IP或主机名;按s切换是否显示本机的host信息;按d切换是否显示远端目标主机的host信息;按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;按N切换显示端口号或端口服务名称;按S切换是否显示本机的端口信息;按D切换是否显示远端目标主机的端口信息;按p切换是否显示端口信息;按P切换暂停/继续显示;按b切换是否显示平均流量图形条;按B切换计算2秒或10秒或40秒内的平均流量;按T切换是否显示每个连接的总流量;按l打开屏幕过滤功能输入要过滤的字符比如ip,按回车后屏幕就只显示这个IP相关的流量信息;按L切换显示画面上边的刻度;刻度不同流量图形条会有变化;按j或按k可以向上或向下滚动屏幕显示的连接记录;按1或2或3可以根据右侧显示的三列流量数据进行排序;按 根据左边的本机名或ip排序;按根据远端目标主机的主机名或IP排序;按o切换是否固定只显示当前的连接;按f可以编辑过滤代码这是翻译过来的说法我还没用过这个按!可以使用shell命令这个没用过没搞明白啥命令在这好用呢按q退出监控。三、通过NetworkManager配置双网卡因为Debian用的是NetworkManager网络管理工具所以我就去研究了一下其命令行配置工具nmcliNetworkManager管理工具nmcli命令简介。现在大概知道问题出在哪里了。NetworkManager将所有网络配置存储为“连接”这些连接是描述如何创建或连接到网络的数据集合二层详细信息、IP地址等。当设备使用连接的配置来创建或连接到网络时连接是“active”的。可能有多个连接适用于一个设备但在任何给定时间该设备上只能有一个连接处于活动状态。附加连接可用于允许在不同网络和配置之间快速切换。我们看一下设备状态。然后我们启用另一个接口再看一下设备状态。从这里可以看到无论是连接哪个接口都是使用“配置1”这个连接。然后我们再看一下连接信息。这么看来我们只要再新建一个连接就可以了。用 nmcli 修改 IP 的核心思路是‌改的是 NetworkManager 的“连接配置”不是直接操作网卡‌。先看清楚连接名再一次性改完参数最后重连生效。操作步骤以静态 IP 为例‌查看当前连接名和设备状态‌连接名是后续命令的关键不要用网卡名代替。# nmcli connection show --active# nmcli device status‌一次性修改连接配置‌把 ens33 换成你的连接名连接名含空格时用引号# sudo nmcli connection modify ens33 \ipv4.method manual \ipv4.addresses 192.168.1.100/24 \ipv4.gateway 192.168.1.1 \ipv4.dns 8.8.8.8 114.114.114.114‌重新激活连接使配置生效‌远程操作会短暂断网属正常现象# sudo nmcli connection down ens33 sudo nmcli connection up ens33‌验证配置‌ip addr show ens33ip route | grep default常见坑‌没设 ipv4.method manual‌即使填了地址也会被 DHCP 覆盖这是“改了不生效”最常见的原因。‌连接名写错‌nmcli connection show 输出的 NAME 才是连接名不是 eth0 这类设备名。‌地址必须带 CIDR 前缀‌写成 192.168.1.100/24不要写 255.255.255.0。‌改完必须 down 再 up‌只执行 up 可能因旧状态残留导致新配置不加载。‌‌这么一操作才发现上次的nmcli语法还是不太完整好在用的不多。如果想了解相关配置的完整语法请通过命令man nm-settings-nmcli自行查阅手册。再次回到GUI页面已经可以看到有两个连接了。implemented by methodzicmr_remote_sourcesCALL_01;
返回列表