网络测试命令
- ping
测试网络连通性
-c 指定ping的个数
-t 指定TTL值
-s 指定ping包大小
-i 指定ping的间隔
traceroute用于追踪数据包在网络上传输时的全部路径,它发的包默认是40字节
tracepath用来追踪并显示报文到达目的主机所经过的路由信息
- host
常用的域名分析查询工具,可以用来测试域名系统工作是否正常
格式:host [option] domain [server]
- nslookup
nslookup支持交互式和非交互式两种查询,当直接在命令提示符后输入nslookup命令时,就进入了nslookup的交互式操作,否则直接返回给用户分析结果
- dig
比nslookup和host更强大的DNS查询工具
格式:dig[option] domain [@server]
+trace — 输出域名解析过程中详细的debug信息
-t type—指定查询的dns记录类型,例如A记录,cname记录以及ns记录等等
-x —从ip反解析域名
+short—精简地输出dig结果
- arp
显示和修改操作系统的arp缓存表,这个程序已经被ip ngigh替代
-a<主机>:显示arp缓冲区的所有条目
-d<主机>:从arp缓冲区删除指定主机的arp条目
-e:以linux的显示风格显示arp缓冲区中的条目
-s<主机><MAC地址>:设置指定主机的ip地址与mac地址的静态映射
-n:以数字方式显示arp缓冲区中的条目
-v:显示详细的arp缓冲区条目,包括缓冲区条目的统计信息
- netstat
netstat命令是一个监控tcp/ip网络非常有用的工具,它可以显示路由表,实际的网络连接以及每一个网络接口设备的状态信息
-a或者–all:显示所有连线中的socket
-l或者–listening:显示监控中的服务器的socket
-n或者–numeric:直接使用ip地址,而不通过域名服务器
-p或者–programs:显示正在使用socket的程序识别码和程序名称
-r或者–route:显示routing table
-s或者–statistice:显示网络工作信息统计表
-t或者–tcp:显示tcp传输协议的连线情况
-u或者–udp:显示udp传输协议的连线状况
-v或者–verbose:显示指令执行过程
-V或者–version:显示版本信息
- ss
ss命令用于显示socket状态,他可以显示packet sockets,tcp sockets,udp sockets,dccpsockets,raw sockets,unix domain sockets等等统计,它比其他工具展示等多tcp和state信息,它是一个非常实用,快速,有效的跟踪ip连接和sockets的新工具
ss:做地址筛选
ss -l:显示本地打开所有端口
ss -pl:显示每个进程具体打开的socket
ss -t -a:显示所有tcp socket
ss -u -a:显示所有的udp socekt
ss -o state established ‘(dport = :smtp or sport = :smtp)’:显示所有已建立的smtp连接
ss -o state established ‘(dport = :http or sport = :http)’:显示所有已建立的http连接
ss -x src /tmp/.x11-unix/*:找出所有连接x服务器的进程
ss -s:列出当前socket详细信息
- iperf
一个tcp/ip和udp/ip的性能测量工具,能够提供网络吞吐率信息,以及震动,丢包率,最大段和最大传输单元大小等统计信息,从而能够帮助我们测试网络性能,定位网络瓶颈
TCP测试
服务器命令:iperf3 -s -i 1
客户端命令:iperf3 -c 192.168.1.1 -p 5201 -i 1 -t 100
UDP测试
服务器命令:iperf3 -s -i 1
客户端命令:iperf3 -c 192.168.1.1 -p 5201 -u -i 1 -t 100
网络配置命令
- ifconfig
ifconfig eth0:查看eth0的ip信息
ifconfig eth0 192.168.1.10 netmask 255.255.255.0:临时设置ip信息
ifconfig eth0 down:关闭eth0网卡
ifconfig eth0 up:开启eth0网卡
- nmcli
nmcli是个很强大的地址配置命令,后面一大堆选项和对象可以配置,对象可以是综合信息,网络,信号和连接
格式:nmcli[options] object {command | help}
高级网络命令
- ip
linux的ip命令和ifconfig类似,但ip功能更强大,并有要取代ifconfig的意思,使用ip命令你可以很轻松的执行一些网络管理任务
设置和删除ip地址
ip addr add 192.168.1.1/24 dev eth0
ip addr del 192.168.1.1/24 dev eth0
列出路由条目
ip route show
ip route get 192.168.1.1
添加路由条目
ip route add default via 192.168.1.1
ip route add 192.168.1.0、24 dev ens33
显示网络统计数据
ip -s link
ip -s link ens33
ip -s -s link ls ens33
ARP条目
ip neigh
激活和停止网络接口
ip link set eth0 down
ip link set eth0 up
- iptraf
ip局域网监控工具,它可以实时的监视网卡流量,可以生成各种网络统计数据,包括tcp信息,udp统计,icmp和ospf信息,以太网负载信息,节点统计,ip校验错误和其他一些信息
-i iface 网络接口:立即在指定网络接口上开启ip流量监视,iface为all指监视所有网络接口,iface指相应的interface
-g:立即开始生成网络接口的概要状态信息
-d iface 网络接口:在指定网络接口上立即开始监视明细的网络流量信息,iface指相应的interface
-s iface 网络接口:在指定网络接口上立即开始监视tcp和udp网络流量信息,iface指相应的interface
-z iface 网络接口:在指定网络接口上显示包计数,iface指相应的interface
-t timeout 时间:指定iptraf指令监视的时间,timeout指监视时间的minute数
- tcpdump
tcpdump是一个用于截取网络分组并输出分组内容的工具,tcpdump凭借强大的功能和灵活的截取策略,使其成为类unix系统下用于网络分析和问题排查的首选工具,tcpdump提供了源代码,公开了接口,因此具备很强的扩展性,对于网络维护和入侵者都是非常有用的工具
-i:指定抓包网络接口
-c:在收到指定数量的分组之后tcpdump就会停止
-v:输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息
-vv:输出详细的报文信息
-w:直接将分组写入文件中,而不是不分析打印出来
-b:在数据链路层上选择协议,包括ip,arp,rarp,ipx斗士这一层的
-A:数据包内容以ASCII显示,通常用来抓取www的网页数据包资料
-X:可以列出十六进制以及ASCII的数据包内容,对于监听数据包内容很有用
-n:不把网络地址转换成名字
-nn:不进行端口名称的转换
-r:从指定的文件中读取包(这些包一般由-w选项产生)
-S:将tcp的序列号以绝对值形式输出,而不是相对值
-t:不在每一行中输出时间戳
-tt:在每一行中输出非格式化的时间戳
-ttt:输出本行和前面一行之间的时间戳
-tttt:在每一行输出由date处理的默认格式时间戳
- nmap
网络探勘工具与安全/端口扫描器,nmap是不局限于仅仅搜集信息和枚举,同时可以用来作为一个漏洞探测器或者安全扫描器,它可以适用于Windows,Linux,Mac等操作系统,nmap是一款非常强大的实用工具,可以用于:
1)检测活在网络上的主机(主机发现)
2)检测主机上开放的端口(端口发现或者枚举)
3)检测到相应的端口(服务发现)的软件和版本
4)检测操作系统,硬件地址,以及软件版本
5)检测脆弱性的漏洞(namp的脚本)
使用示例
使用主机名扫描:nmap www.baidu.com
使用ip地址扫描:nmap 192.168.1.1
使用-v选项可以提供更详细的输出:nmap -v www.baidu.com
从一个文件中输入要扫描的主机:nmap -iL ip.txt
扫描一个ip地址段:nmap 192.168.1.1-100
排除扫描的地址:nmap 192.168.1.* --exclude 192.168.1.3
探测操作系统,使用脚本扫描和路由追踪:nmap -A www.baidu.com
开启tcp ack扫描:nmap -sA www.baidu.com
udp扫描:nmap -sU 192.168.1.1
开启tcp fin扫描:nmap -sF 192.168.1.1
探测某个网络上存活的主机:nmap -v -sn 192.168.1.0/24
扫描特定的端口:
nmap -p 80,443 192.168.1.1
nmap -p 80-160 192.168.1.1
扫描多个主机
nmap -v www.baidu.com www.sina.com.cn
nmap 192.168.1.1,2,3
nmap 192.168.1.*
其他有关网络的命令
ip addr:查看地址信息
ip route:查看路由表
route -n:查看路由表
netstat -r:查看路由表
ip rule:查看路由策略
route add -net 192.168.1.0/24 gw 192.168.1.254:添加具体路由条目,通过下一跳
route add -net 192.168.1.0/24 dev eth0:添加具体路由条目,通过出接口
route add default gw 192.168.1.254:添加默认路由
route del -net 192.168.1.0/24:删除路由表