ifconfig
用途
网络设备查看和配置
使用示例
# 显示网络设备信息
ifconfig
# 启动或关闭网卡
ifconfig eth0 up/down
# 设置网卡的IP地址
ifconfig eth0 192.168.1.2 netmask 255.255.255.0
# 修改网卡Mac地址
ifconfig eth0 hw ether 00:11:22:33:44:55
# 启动/关闭ARP协议
ifconfig eth0 arp/-arp
nmap
用途
- 主机发现(Host Discovery)
- 端口扫描(Port Scanning)
- 版本侦测(Version Detection)
- 操作系统侦测(Operating System Detection)
使用示例
# 网段主机发现
nmap -sP 192.168.1.0/24
# 扫描指定IP端口(添加-vv获取详细信息)
nmap 192.168.1.2
# 操作系统侦测
nmap -O 192.168.1.2
# 对目标地址进行Ping扫描
namp -sP <target ip>
# 路由追踪
nmap -traceroute <target ip>
# SYN扫描:利用基本的SYN扫描方式测试其端口开放状态
namp -sS -T4 <target ip>
# FIN扫描:利用FIN扫描方式探测防火墙状态。FIN扫描方式用于识别端口是否关闭,收到RST回复说明该端口关闭,否则说明是open或filtered状态
namp -sF -T4 <target ip>
# ACK扫描:利用ACK扫描判断端口是否被过滤。针对ACK探测包,为被过滤的端口(无论打开或关闭)会回复RST包
namp -sA -T4 <target ip>
# 扫描前不进行Ping扫描测试
nmap -Pn <target ip>
# 根据target.txt文件中ip地址列表,所有主机
nmap -iL target.txt
# 版本检测扫描
nmap -sV <target ip>
traceroute
用途
路由追踪
使用示例
traceroute www.baidu.com
参数: -n 显示IP地址,不查主机名 -m 设置跳数
-q 4每个网关发送4个数据包 -w 把对外发探测包的等待响应时间设置为3秒
route
用途
路由表管理
使用示例
# 查看路由表
route -n
Destination 目标网络或目标主机,Gateway 网关,Genmask 网络掩码,Flags 旗标Metric 距离、跳数
# 为网域或主机添加路由
route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]
route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]
如果是多网卡,可以设置默认路由,选择网络的出口
网络监控
查看网卡网络流量,查看占用带宽的进程等
iftop
# 监控网卡流量
iftop -i eth0
-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 帮助,显示参数信息
-p 使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b 使流量图形条默认就显示;
-f 过滤计算包用的;
-P 使host信息及端口信息默认就都显示;
-m 设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M
nethogs
# 查看进程的网络流量
nethogs eth0
vnstat
通过网卡监控数据库, 统计网络流量信息
# 创建网卡监控数据库
vnstat -u -i eth0
# 网卡实时监控
vnstat -l -i eth0
# 按小时统计
vnstat -h
# 按周统计
vnstat -w
# 按月统计
vnstat -m
# 显示流量最高的前10天
vnstat -t
# vnstati可以将统计结果输出图片,vnstati无需再次安装,它与vnstat一并安装
vnstati -s -i eth0 -o network-log.png
vnstati -h -i eth0 -o ~/network-log.png
telnet
用途
- telnet协议
- 探测端口是否开放
使用示例
探测端口是否开放
[root@server ~]# telnet 127.0.0.1 22
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4
iptables
用途
- 数据包过滤,处理(防火墙,开放端口,IP黑名单)
- NAT转发(如Docker容器的端口暴露)
iperf
用途
网络性能测试工具
使用示例
单线程TCP
iperf -s -p 12345 -i 1 -M #服务端开启12345端口
iperf -c 192.168.64.148 -p 12345 -i 1 -t 100 -w20k -P 10 #客户端开启测试
-c:客户端模式,后接服务器ip
-p:后接服务端监听的端口
-i:设置带宽报告的时间间隔,单位为秒
-t:设置测试的时长,单位为秒
-w:设置tcp窗口大小,一般可以不用设置,默认即可
测试多线程,在客户端命令后面添加 -P 10即可开启10个线程
mtr
用途
mtr是常用的网络诊断工具(a network diagnostic tool),它把ping和traceroute并入一个程序的网络诊断工具中并实时刷新
使用示例
mtr -n www.baidu.com
brctl
用途
网桥管理工具, 查看网桥, 创建网桥, 网卡加入网桥
桥接就是把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。
使用示例
brctl show ##查看已有网桥
brctl addbr br0 ##添加网桥
ifconfig br0 172.25.254.232 netmask 255.255.255.0 ##为br0的虚拟网卡配置ip和子网掩码
brctl addif br0 eth0 ##添加一块物理网卡,将它附加到刚生成的虚拟网桥接口br0上
ifconfig br0 down ##关闭网桥
brctl delif br0 eth0 ##删除物理网卡
brctl delbr br0 ##删除网桥
tcpdump
用途
网络抓包
nc
用途
网络瑞士军刀
- 端口扫描
- 聊天工具
- 文件传输
arping
用途
查看IP的MAC地址
**ARP:**地址解析协议,根据IP获取MAC地址
使用示例
# 查看ip的MAC地址(-c 1 指定检测次数)
arping 192.168.1.2
# 查看IP地址是否被不同的MAC占用或存在ARP攻击
arping -d 192.168.1.2