在Linux上测试网络的命令之一(ping\telnet\nmap\nc)

常用的网络命令

一、ping 命令

通常用来测试双方网络是否相通网络是否启动或者测试自己能否联网,当然如果对方机器禁止ICMP协议ping他的话,也是ping不通的,但是对方的机子也许是开着的。
常见命令参数
-q 不显示任何传送封包的信息,只显示最后的结果
-n 只输出数值
-R 记录路由过程
-c count 总次数
-i 时间间隔
-t 存活数值:设置存活数值TTL的大小
ping自己的机器
在这里插入图片描述
-c ping的次数
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第1张图片
加上 -b 选项 ping 网关
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第2张图片
时间间隔和次数限制的ping
ping -c 10 -i 1 192.168.23.134
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第3张图片
多参数使用
ping -i 1 -s 2048 -t 100 192.168.23.134
-i 3 发送周期为 1 秒
-s 设置发送包的大小为2048
-t 设置TTL值为 100
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第4张图片
指定ping数据包大小
默认情况下,ping命令是以64字节大小的数据包来测试网络连通性的,可以使用参数 -s 选项修改默认数据包大小。

在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第5张图片
实际工作中,我们通常使用 -s 选项来发现网络环境中有关MTU(网络上传最大的数据包)的问题。

使用 -i 选项可以指定发送时间间隔,我们希望尽可能更快的的速度发送和数据包,则可以使用 -f 选项来实现。

-f (flood ping) :潮水模式的ping。只有超管用户可以使用。
在这里插入图片描述
0% packet :表示0丢包率。说明网卡非常正常。也没有任何的网络拥塞。

二、telnet 命令

测试端口是否打开
-8 允许使用8位字符资料,包括输入与输出。
-a 尝试自动登入远端系统。
-b<主机别名> 使用别名指定远端主机名称。
-c 不读取用户专属目录里的.telnetrc文件。
-d 启动排错模式。
-e<脱离字符> 设置脱离字符。
-E 滤除脱离字符。
-f 此参数的效果和指定"-F"参数相同。
-F 使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。
-k<域名> 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。
-K 不自动登入远端主机。
-l<用户名称> 指定要登入远端主机的用户名称。
-L 允许输出8位字符资料。
-n<记录文件> 指定文件记录相关信息。
-r 使用类似rlogin指令的用户界面。
-S<服务类型> 设置telnet连线所需的IP TOS信息。
-x 假设主机有支持数据加密的功能,就使用它。
-X<认证形态> 关闭指定的认证形态。

安装telnet命令:yum install -y telnet

示例,访问该IP的80端口可以连接,99端口是关闭的;

准备telnet包 yum install telnet -y
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第6张图片
测试
下图看出 该ip的80、22端口是开启的
在这里插入图片描述
在这里插入图片描述
由下图得知该ip的100端口未开启
在这里插入图片描述

三、nmap 命令

nmap命令 – 网络探测工具和安全和端口扫描器

nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个 主机也没有问题。Nmap以新颖的方式使用原始IP报文来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息), 它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。虽然Nmap通常用于安全审核, 许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看整个网络的信息,管理服务升级计划,以及监视主机和服务的运行。

语法格式:nmap [参数]

常用参数:

–traceroute 扫描主机端口并跟踪路由
-p 扫描指定端口和端口范围
-sP 对目标主机进行ping扫描
-A 使用高级功能进行扫描
-PE 强制执行直接的ICMPping
-sV 探测服务版本信息
-d 增加调试信息地输出
-PU 发送udp ping
-ps 发送同步(SYN)报文
获取远程主机的系统类型及开放端口
nmap -sS -P0 -sV -O
这里的 < target > 可以是单一 IP, 或主机名,或域名,或子网
-sS TCP SYN 扫描 (又称半开放,或隐身扫描)
-P0 允许你关闭 ICMP pings.
-sV 打开系统版本检测
-O 尝试识别远程操作系统
其它选项:
-A 同时打开操作系统指纹和版本检测
-v 详细输出扫描情况.
准备安装包 yum install nmap -y
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第7张图片
常见命令展示

查看Nmap的版本
nmap -V
在这里插入图片描述
nmap --traceroute 192.168.23.130
–traceroute 扫描主机端口并跟踪路由
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第8张图片

使用-p参数探测80、443端口:

nmap -p80,443 192.168.23.130
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第9张图片
探测服务器的1-10000端口范围:

nmap -p1-10000 192.168.23.130

在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第10张图片
使用-A参数进行高级扫描:
扫描操作系统信息和路由跟踪
使用Nmap,你可以检测远程主机上运行的操作系统和版本。为了启用操作系统和版本检测,脚本扫描和路由跟踪功能,我们可以使用NMAP的“-A“选项。
nmap -A 192.168.23.130
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第11张图片
扫描使用“-v”选项

在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第12张图片
扫描多台主机
nmap 192.168.23.130 192.168.23.129
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第13张图片
扫描整个子网
你可以使用通配符来扫描整个子网或某个范围的IP地址。
nmap 192.168.23.

[root@promote ~]# nmap 192.168.23.*

Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-27 23:48 CST
Nmap scan report for promote.cache-dns.local (192.168.23.1)
Host is up (0.00075s latency).
Not shown: 999 filtered ports
PORT     STATE SERVICE
1080/tcp open  socks
MAC Address: 00:50:56:C0:00:08 (VMware)

Nmap scan report for promote.cache-dns.local (192.168.23.2)
Host is up (0.00036s latency).
Not shown: 999 closed ports
PORT   STATE    SERVICE
53/tcp filtered domain
MAC Address: 00:50:56:FB:64:3C (VMware)

Nmap scan report for promote.cache-dns.local (192.168.23.129)
Host is up (-0.10s latency).
All 1000 scanned ports on promote.cache-dns.local (192.168.23.129) are filtered
MAC Address: 00:0C:29:2E:68:6A (VMware)

Nmap scan report for promote.cache-dns.local (192.168.23.130)
Host is up (0.00072s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
3306/tcp open  mysql
MAC Address: 00:0C:29:79:E7:44 (VMware)

Nmap scan report for promote.cache-dns.local (192.168.23.135)
Host is up (0.0011s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh
MAC Address: 00:0C:29:AB:35:CC (VMware)

Nmap scan report for promote.cache-dns.local (192.168.23.254)
Host is up (-0.10s latency).
All 1000 scanned ports on promote.cache-dns.local (192.168.23.254) are filtered
MAC Address: 00:50:56:E2:62:7F (VMware)

Nmap scan report for promote.cache-dns.local (192.168.23.134)
Host is up (0.000073s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 256 IP addresses (7 hosts up) scanned in 300.94 seconds

使用IP地址的最后一个字节扫描多台服务器
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第14张图片
从一个文件中扫描主机列表
如果你有多台主机需要扫描且所有主机信息都写在一个文件中,那么你可以直接让nmap读取该文件来执行扫描,让我们来看看如何做到这一点。

创建一个名为“nmap.txt ”的文本文件,并定义所有你想要扫描的服务器IP地址或主机名。

echo “192.168.23.130
192.168.23.129” > nmap.txt
接下来运行带“iL” 选项的nmap命令来扫描文件中列出的所有IP地址
nmap -iL nmap.txt在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第15张图片
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第16张图片
扫描一个IP地址范围
你可以在nmap执行扫描时指定IP范围。

[root@promote ~]# nmap 192.168.23.130-150

Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-28 00:02 CST
Nmap scan report for promote.cache-dns.local (192.168.23.130)
Host is up (0.0015s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
3306/tcp open  mysql
MAC Address: 00:0C:29:79:E7:44 (VMware)

Nmap scan report for promote.cache-dns.local (192.168.23.133)
Host is up (0.0013s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https
MAC Address: 00:0C:29:7B:CF:78 (VMware)

Nmap scan report for promote.cache-dns.local (192.168.23.135)
Host is up (0.0012s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh
MAC Address: 00:0C:29:AB:35:CC (VMware)

Nmap scan report for promote.cache-dns.local (192.168.23.134)
Host is up (0.0000090s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 21 IP addresses (4 hosts up) scanned in 202.25 seconds

排除一些远程主机后再扫描
在执行全网扫描或用通配符扫描时你可以使用“-exclude”选项来排除某些你不想要扫描的主机。

[root@promote ~]# nmap 192.168.23.130-150 --exclude 192.168.23.134

Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-28 00:07 CST
Nmap scan report for promote.cache-dns.local (192.168.23.130)
Host is up (0.0012s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
3306/tcp open  mysql
MAC Address: 00:0C:29:79:E7:44 (VMware)

Nmap scan report for promote.cache-dns.local (192.168.23.133)
Host is up (0.00099s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https
MAC Address: 00:0C:29:7B:CF:78 (VMware)

Nmap scan report for promote.cache-dns.local (192.168.23.135)
Host is up (0.0012s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh
MAC Address: 00:0C:29:AB:35:CC (VMware)

Nmap done: 20 IP addresses (3 hosts up) scanned in 196.30 seconds

启用Nmap的操作系统探测功能
使用选项“-O”和“-osscan-guess”也帮助探测操作系统信息。
nmap -O server2.tecmint.com

扫描主机侦测防火墙
下面的命令将扫描远程主机以探测该主机是否使用了包过滤器或防火墙。
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第17张图片

执行快速扫描
你可以使用“-F”选项执行一次快速扫描,仅扫描列在nmap-services文件中的端口而避开所有其它的端口。
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第18张图片
打印主机接口和路由
你可以使用nmap的“–iflist”选项检测主机接口和路由信息。

在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第19张图片
扫描TCP端口
你可以指定具体的端口类型和端口号来让nmap扫描。
nmap -p T:8080,80 192.168.23.130
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第20张图片
扫描UDP端口
nmap -sU 68 192.168.23.130

查找主机服务版本号
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第21张图片
注意:关于nmap扫描端口的问题,nmap只是检测该机器目前所开端口,并默认匹配默认该端口的默认的服务
测试
在192.168.23.135中使用docker启动tomcat容器,并对外开放3306
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第22张图片
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第23张图片
使用nmap检测192.168.23.135 端口
在Linux上测试网络的命令之一(ping\telnet\nmap\nc)_第24张图片
只显示3306为mysql服务,但是192.168.23.135的3306端口并不是mysql的端口
所以nmap默认情况下只是一个扫描端口的工具

四、nc 命令

nc (netcat)功能强大的网络工具,扫描端口;
nc命令的作用
实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
端口的扫描,nc可以作为client发起TCP或UDP连接
机器之间传输文件
机器之间网络测速

-l 用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。
-p 暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)
-s 指定发送数据的源IP地址,适用于多网卡机
-u 指定nc使用UDP协议,默认为TCP
-v 输出交互或出错信息,新手调试时尤为有用
-w 超时秒数,后面跟数字

安装nc的命令:yum install -y nc

格式:nc -z -w2 -v www.baidu.com 1-1024

nc -l 9999 # 开启一个本地9999的TCP协议端口,由客户端主动发起连接,一旦连接必须由服务端发起关闭
nc -vw 2 192.168.21.248 11111 # 通过nc去访问192.168.21.248主机的11111端口,确认是否存活;可不加参数
nc -ul 9999 # 开启一个本地9999的UDP协议端口,客户端不需要由服务端主动发起关闭
nc 192.168.21.248 9999 < test # 通过192.168.21.248的9999TCP端口发送数据文件
nc -l 9999 > zabbix.file # 开启一个本地9999的TCP端口,用来接收文件内容

测试网速

A机器操作如下:
sh-4.2# yum install -y dstat      # A机器安装dstat命令
sh-4.2# nc -l 9999 > /dev/null

机器开启数据传输
nc 10.0.1.161 9999

A机器进行网络监控
sh-4.2# dstat

你可能感兴趣的:(linux,网络,linux,网络)