常用的网络命令

一、ping 命令

通常用来测试双方网络是否相通网络是否启动或者测试自己能否联网,当然如果对方机器禁止ICMP协议ping他的话,也是ping不通的,但是对方的机子也许是开着的。

常见命令参数

-q 不显示任何传送封包的信息,只显示最后的结果

-n 只输出数值

-R 记录路由过程

-c count 总次数

-i 时间间隔

-t 存活数值:设置存活数值TTL的大小

ping自己的机器

linux在测试网络安全的应用_网络


-c ping的次数

linux在测试网络安全的应用_VMware_02


加上 -b 选项 ping 网关

linux在测试网络安全的应用_linux在测试网络安全的应用_03


时间间隔和次数限制的ping

ping -c 10 -i 1 192.168.23.134

linux在测试网络安全的应用_VMware_04


多参数使用

ping -i 1 -s 2048 -t 100 192.168.23.134

-i 3 发送周期为 1 秒

-s 设置发送包的大小为2048

-t 设置TTL值为 100

linux在测试网络安全的应用_IP_05


指定ping数据包大小

默认情况下,ping命令是以64字节大小的数据包来测试网络连通性的,可以使用参数 -s 选项修改默认数据包大小。

linux在测试网络安全的应用_网络_06


实际工作中,我们通常使用 -s 选项来发现网络环境中有关MTU(网络上传最大的数据包)的问题。

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

-f (flood ping) :潮水模式的ping。只有超管用户可以使用。

linux在测试网络安全的应用_IP_07


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在测试网络安全的应用_linux_08


测试

下图看出 该ip的80、22端口是开启的

linux在测试网络安全的应用_IP_09


linux在测试网络安全的应用_网络_10


由下图得知该ip的100端口未开启

linux在测试网络安全的应用_VMware_11

三、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在测试网络安全的应用_linux_12


常见命令展示查看Nmap的版本

nmap -V

linux在测试网络安全的应用_网络_13


nmap --traceroute 192.168.23.130

–traceroute 扫描主机端口并跟踪路由

linux在测试网络安全的应用_IP_14

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

nmap -p80,443 192.168.23.130

linux在测试网络安全的应用_VMware_15


探测服务器的1-10000端口范围:

nmap -p1-10000 192.168.23.130

linux在测试网络安全的应用_VMware_16


使用-A参数进行高级扫描:

扫描操作系统信息和路由跟踪

使用Nmap,你可以检测远程主机上运行的操作系统和版本。为了启用操作系统和版本检测,脚本扫描和路由跟踪功能,我们可以使用NMAP的“-A“选项。

nmap -A 192.168.23.130

linux在测试网络安全的应用_VMware_17


扫描使用“-v”选项

linux在测试网络安全的应用_VMware_18


扫描多台主机

nmap 192.168.23.130 192.168.23.129

linux在测试网络安全的应用_网络_19


扫描整个子网

你可以使用通配符来扫描整个子网或某个范围的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在测试网络安全的应用_IP_20


从一个文件中扫描主机列表

如果你有多台主机需要扫描且所有主机信息都写在一个文件中,那么你可以直接让nmap读取该文件来执行扫描,让我们来看看如何做到这一点。

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

echo “192.168.23.130

192.168.23.129” > nmap.txt

接下来运行带“iL” 选项的nmap命令来扫描文件中列出的所有IP地址

nmap -iL nmap.txt

linux在测试网络安全的应用_IP_21


linux在测试网络安全的应用_VMware_22


扫描一个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在测试网络安全的应用_网络_23

执行快速扫描

你可以使用“-F”选项执行一次快速扫描,仅扫描列在nmap-services文件中的端口而避开所有其它的端口。

linux在测试网络安全的应用_VMware_24


打印主机接口和路由

你可以使用nmap的“–iflist”选项检测主机接口和路由信息。

linux在测试网络安全的应用_VMware_25


扫描TCP端口

你可以指定具体的端口类型和端口号来让nmap扫描。

nmap -p T:8080,80 192.168.23.130

linux在测试网络安全的应用_linux在测试网络安全的应用_26


扫描UDP端口

nmap -sU 68 192.168.23.130查找主机服务版本号

linux在测试网络安全的应用_linux在测试网络安全的应用_27


注意:关于nmap扫描端口的问题,nmap只是检测该机器目前所开端口,并默认匹配默认该端口的默认的服务

测试

在192.168.23.135中使用docker启动tomcat容器,并对外开放3306

linux在测试网络安全的应用_linux_28


linux在测试网络安全的应用_IP_29


使用nmap检测192.168.23.135 端口

linux在测试网络安全的应用_IP_30


只显示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 </dev/zero

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