Iftop工具主要用来显示本机网络流量情况及各相互通信的流量集合,如单独同哪台机器间的流量大小,非常适合于代理服务器和iptables服务器使用,这样可以方便的查看各客户端流量情况。iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等,详细的将会在后面的使用参数中说明。
1.安装iftop-编译安装
如果采用编译安装可以到iftop官网下载最新的源码包。
安装前需要已经安装好基本的编译所需的环境,比如make、gcc、autoconf等。安装iftop还需要安装libpcap和libcurse
安装所需要的依赖包
yum -y install flex byacc libpcap ncurses ncurses-devel libpcap-devel

2.安装步骤
wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz #下载安装包

tar zxvf iftop-0.17.tar.gz #解压

cd iftop-0.17 切换到目录
./configure --prefix=/usr/local/iftop #配置安装目录

make && make install #编译、安装

3.运行iftop,必须以root身份运行效果图如下

监控某网卡:iftop -i eth0 -n
同时显示是什么服务:iftop -i eth0 -n -P
4.iftop相关参数
常用的参数
-i 设定监测的网卡,如:# iftop -i eth1
-B 以bytes为单位显示流量(默认是bits),如:# iftop -B
-n 使host信息默认直接都显示IP,如:# iftop -n
-N 使端口信息默认直接都显示端口号,如: # iftop -N
-F 显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h (display this message),帮助,显示参数信息
-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退出监控。
1.安装pip:
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate

2.执行安装:
python get-pip.py

3.下载speedtest:
wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py

增加可执行权限:
chmod x speedtest-cli

5.使用测速,
查询安装位置
which speedtest-cli
![]()
以图片方式共享测速结果
/usr/bin/speedtest-cli --share

NFS(Network File System)意为网络文件系统,它最大的功能就是可以通过网络,让不同的机器不同的操作系统可以共享彼此的文件。简单的讲就是可以挂载远程主机的共享目录到本地,就像操作本地磁盘一样,非常方便的操作远程文件。
准备:我们需要两台CentOS7机器,分别做NFS服务器和客户端,配置如下:
NFS服务器ip:192.168.10.235。
客户端ip:192.168.10.202。
我们要实现的目标是:在NFS服务器上共享一个目录,在客户端上可以直接操作NFS服务器上的这个共享目录下的文件。
1.NFS服务器配置:首先使用yum安装nfs服务
yum -y install rpcbind nfs-utils

2.创建共享目录
在服务器上创建共享目录,并设置权限。
mkdir /data/share/
chmod 755 -R /data/share/
3.配置NFS
nfs的配置文件是 /etc/exports ,vi /etc/exports在配置文件中加入一行:
/data/share/ 192.168.10.202(rw,no_root_squash,no_all_squash,sync)
![]()
这行代码的意思是把共享目录/data/share/共享给192.168.10.202这个客户端ip,后面括号里的内容是权限参数,其中:
rw 表示设置目录可读写。
sync 表示数据会同步写入到内存和硬盘中,相反 rsync 表示数据会先暂存于内存中,而非直接写入到硬盘中。
no_root_squash NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。
no_all_squash 不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都不会拥有匿名用户权限。
如果有多个共享目录配置,则使用多行,一行一个配置。保存好配置文件后,需要执行以下命令使配置立即生效:
exportfs -r
4.设置防火墙
如果你的系统没有开启防火墙,那么该步骤可以省略。
NFS的防火墙特别难搞,因为除了固定的port111、2049外,还有其他服务如rpc.mounted等开启的不固定的端口,这样对防火墙来说就比较麻烦了。为了解决这个问题,我们可以设置NFS服务的端口配置文件。
修改vi /etc/sysconfig/nfs文件,将下列内容的注释去掉,如果没有则添加:
RQUOTAD_PORT=1001
LOCKD_TCPPORT=30001
LOCKD_UDPPORT=30002
MOUNTD_PORT=1002

保存好后,将端口加入到防火墙允许策略中。执行:
firewall-cmd --zone=public --add-port=111/tcp --add-port=111/udp --add-port=2049/tcp --add-port=2049/udp --add-port=1001/tcp --add-port=1001/udp --add-port=1002/tcp --add-port=1002/udp --add-port=30001/tcp --add-port=30002/udp --permanent
firewall-cmd --reload

5.启动服务
按顺序启动rpcbind和nfs服务:
systemctl start rpcbind
systemctl start nfs
加入开机启动:
systemctl enable rpcbind
systemctl enable nfs
nfs服务启动后,可以使用命令 rpcinfo -p 查看端口是否生效。
服务器的后,我们可以使用 showmount 命令来查看服务端(本机)是否可连接:

出现上面结果表明NFS服务端配置正常。
6.客户端配置
客户端只需要安装rpcbind服务即可,无需安装nfs或开启nfs服务。
yum -y install rpcbind

7.客户端挂载远程nfs文件系统
查看服务端已共享的目录:

建立挂载目录,执行挂载命令:
mkdir -p /mnt/share
mount -t nfs 192.168.11.34:/data/share /mnt/share/ -o nolock,nfsvers=3,vers=3

如果不加 -onolock,nfsvers=3 则在挂载目录下的文件属主和组都是nobody,如果指定nfsvers=3则显示root。
如果要解除挂载,可执行命令:umount /mnt/share
8.开机自动挂载
如果按本文上面的部分配置好,NFS即部署好了,但是如果你重启客户端系统,发现不能随机器一起挂载,需要再次手动操作挂载,这样操作比较麻烦,因此我们需要设置开机自动挂载。我们不要把挂载项写到/etc/fstab文件中,因为开机时先挂载本机磁盘再启动网络,而NFS是需要网络启动后才能挂载的,所以我们把挂载命令写入到/etc/rc.d/rc.local文件中即可。
vim /etc/rc.d/rc.local
在文件最后添加一行:
mount -t nfs 192.168.10.235:/data/share /mnt/share/ -o nolock,nfsvers=3,vers=3

保存并重启机器
9.测试验证
查看挂载结果,在客户端输入 df -h

1.编辑文件
vim /etc/network/interfaces
2.修改静态IP

3.重启网卡服务
debian8:
systemctl restart network
debian9:
service networking restart
4.通过ip addr 或者 ifconfig 来查看网卡IP地址 检验是否配置成功

5.Ping www.baidu.com 测试网络连通性

在Debian 9系统下使用ifconfig命令出现如下图提示信息时,如何设置可以正常使用呢?
![]()
1.输入apt install net-tools按回车键安装工具包

2.安装完成后即可正常使用

在Debian 9系统下如何设置拨号网卡呢?(需先设置宽带账号,可参考教程《Debian 9如何设置宽带账号》)

1.输入vi /etc/ppp/peers/dsl-provider按回车键进入vi编辑
![]()
2.找到plugin rp-pppoe.so eth1,eth1可以根据实际拨号网卡名称进行修改

3.按“ESC”键输入wq按回车键保存退出vi编辑即可

在Debian 9系统下如何设置宽带账号呢?
1.输入pppoeconf按回车键,进入下一步
![]()
2.选择“Yes”按回车键,进入下一步

3.选择“Yes”按回车键,进入下一步

4.将“username”修改为宽带账号,然后按回车键,进入下一步

5.输入宽带密码,然后按回车键,进入下一步

6.选择“Yes”按回车键,进入下一步

7.选择“Yes”按回车键,进入下一步

8.此时提示是否需要在开机时启动连接,可根据需要进行设置,若需要则选择“yes”,选择完成后按回车键,进入下一步

9.询问是否需要立即建立连接,可根据需要进行设置,若需要则选择“yes”,选择完成后按回车键,进入下一步

10.设置完成,按回车键即可

1.编辑配置文件
vi /etc/resolv.conf

2.修改DNS

3.查询IP
Ifconfig

4.Ping www.baidu.com测试网络连通性

1.下载iperf3安装包
wget https://iperf.fr/download/fedora/iperf3-3.1.3-1.fc24.x86_64.rpm

2.安装iperf3
我们需要准备2台服务器,都安装iperf3,其中1台作为服务端,另1台作为客户端:
rpm -i iperf3-3.1.3-1.fc24.x86_64.rpm
![]()
3.在服务端主机上启动iperf3
iperf3 -s

4.在客户端主机上启动iperf3,并作为客户端向服务端发起连接:
iperf3 -c <服务端IP地址> -d -t 60


如果报错“no route to host”,则需要先关闭服务端的防火墙再进行测试:
systemctl stop firewalld.service
5.iperf3还有一些其他的用法,可以通过命令iperf3 help进行查看

1.安装nmap
yum install nmap –y

2.查看本机当前开放的端口
nmap localhost

3.探测目标主机当前开放的端口
nmap -PS <目标主机IP地址>

4.扫描某网段内的主机
nmap <目标网段>


5.扫描多台主机
例如:nmap 192.168.10.26 192.168.10.219

6.扫描目标主机上指定的端口或协议
例如:nmap –p U:53,135,T:80,22,135,445 192.168.10.26 (备注:U指UDP协议,T指TCP协议)

7.找出网络中的在线主机
例如:nmap -sP 192.168.10.*


8.本文只列出nmap几种比较常用的运用方式,更多的命令和使用方法可以查看nmap相关站点:http://www.nmap.com.cn/doc/manual.shtm