[TOC]

1.网络路由

tracert 命令

描述:查看路由设置与路由跟踪,用户发出的数据包经过多个网关、路由器传送到目的地,目标的主机回应此数据包,将响应数据包,返回完成用户和网上主机的交互。

基础语法:

1
2
3
4
5
6
7
8
9
10
11
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name
tracert [参数] ip(或计算机名) 跟踪路由(数据包) #参数:“-w数字”用于设置超时间隔
#选项:
-d 不将地址解析成主机名
-h maximum_hops 搜索目标的最大跃点数
-j host-list 与主机列表一起的松散源路由(仅适用于 IPv4)
-w timeout 等待每个回复的超时时间(以毫秒为单位)
-R 跟踪往返行程路径(仅适用于 IPv6)
-S srcaddr 要使用的源地址(仅适用于 IPv6)
-4 强制使用 IPv4
-6 强制使用 IPv6

Tips注意:Win IPV4 => 4 字节 => 32BIT, ping 的默认TTL 64 / 128 / 255,注意TTL每经过一个路由则减去一.

基础案例:

1
2
3
4
5
6
#1.查看路由经过的IP并且设置跳数
tracert -4 -d www.cqsdzy.com #最大30跳
tracert -h 30 -4 -d www.baidu.com

#2.等待每个回复的超时时间(以毫秒为单位)
tracert -w 1 -4 -d www.baidu.com

WeiyiGeek.

WeiyiGeek.

补充知识:[2020年4月21日 22:06:29]
Traceroute / Tracert 的实现都借助了TTL然后都向目的地址发送一系列的探测包的TTL初始值分别为1,2,3;根据返回的超时通知(ICMP Time Exceeded Message)得到源地址与目的地址之前的每一跳路由信息,实际两种实现原理上有些许的差别;

  • Traceroute(Linux/Unix):
    • 使用协议:IP + ICMP + UDP 由于采用UDP协议常常被运营商设置为只能白名单通信的ACL,其次被一些防火墙设置所拦截
    • 路由跟踪:TTL
    • 结束标志:端口不可达
    • 使用效果: 一般
    • 特征:目标端口号默认33434每次探测增加1(故意选择大于30000的断开,由于UDP协议标准规定必须小于30000)
  • Tracert(Windows):
    • 使用协议:IP + ICMP ICMP Echo Request/ Reply 基本上是不被运营商封禁的,但是存在ICMP协议包大小限制,路由来去路径不一致
    • 路由跟踪:TTL 通过递增TTL实现路由检测
    • 结束标志:ICMP 应答包
    • 使用效果: 较好
    • 特征:ICMP 包中的IP头类型 0x07 ,每跳默认发送3个探测包,在未能到达路由器或者未返回ICMP超时通知情况下,相应位置会以*号显示,并且每个站点都会返回一个ICMP Type=11 code=0 包回去只有到达目标地址时候才返回一个ICMP Type=3 code=3;
  • ping 也可以作为源路由跟踪工具,单元由于IP头的限制记录路由字段最大值是40字节,而每个IP要占有4个字节外加3个点分符即35bit,所以最多只能记录9条数据 40 * 8 / 35;
    • 特征:发送 ECHO request -> ICMP Type=8 code=0 , 当被ping者接受相关ICMP包的时候,返回ICMP Type=0 code=8 的相应包;


route 命令 - (Windows)

描述:操作显示出IP路由表,将主要显示网络地址Network addres,子网掩码Netmask,网关地址Gateway addres,接口地址Interface网络路由表,大多时候主机一般都位于连接一台路由器的某一个网段上。

基础语法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 语法格式
ROUTE [-f] [-p] [-4|-6] command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]

# 选项说明
command :
PRINT 打印路由
ADD 添加路由
DELETE 删除路由
CHANGE 修改现有路由
-f 清除所有网关项的路由表。如果与某个命令结合使用,在运行该命令前, 应清除路由表。
-p 与 ADD 命令结合使用时,将路由设置为在系统引导期间保持不变。默认情况下,重新启动系统时,不保存路由。而加了这个参数后保存为永久路由
HKEY_LOCAL_MACH/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters/PersistentRoutes
destination 指定主机
MASK 指定下一个参数为“网络掩码”值
netmask 指定此路由项的子网掩码值,如果未指定,其默认设置为 255.255.255.255
gateway 指定网关
METRIC 指定跃点数,例如目标的成本
interface 指定路由的接口(网卡1,网卡2)

注意:大多数路由器使用专门的路由协议来交换和动态更新路由器的路由表。

基础案例:

1
2
3
4
5
6
7
#1.显示出IP路由,将主要显示网络地址Network addres,子网掩码Netmask,网关地址Gateway addres,接口地址Interface
#接口列表,IPv4路由表,IPv6路由表
route print [等同于] netstat -r


#2.采用通配符只打印那些匹配 157* 的项
route PRINT 157*

WeiyiGeek.

WeiyiGeek.

1
2
3
4
5
6
#3.添加ip地址子网网关等地址:如果未给出 IF它将尝试查找给定网关的最佳接口。(16.12.13.1) 临时生效
route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 1
destination^ ^mask ^gateway metric^ ^
Interface^网卡
route ADD 3ffe::/32 3ffe::1 #添加IPV6的路由表
route PRINT 157.0.0.0 #查看添加的信息
WeiyiGeek.

WeiyiGeek.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#4.添加跃点数为7的路由
route add 0.0.0.0 mask 0.0.0.0 192.168.12.1 metric 7 #操作完成
route print 0.*

#5.添加永久列表
route -p add 157.0.0.0 mask 255.0.0.0 157.1.2.3 metric 10 if 16
ROUTE PRINT 157.0.0.0


#6.删除前面添加的临时路由(活动路由)
route delete 157.0.0.0 mask 255.0.0.0 157.0.0.1 METRIC 3 IF 1
route delete 157.* #将157开头的iP地址项全部删除
ROUTE PRINT 157.0.0.0

#7.删除添加的永久路由列表
route -p delete 157.0.0.0 mask 255.0.0.0 157.1.2.3 metric 10 if 16
WeiyiGeek.

WeiyiGeek.

1
2
3
4
5
6
#8.修改我们加入的路由表,CHANGE 只用于修改网关和/或跃点数
route -p change 192.168.2.111 mask 255.255.255.0 192.168.2.2


#9.要将目标为10.41.0.0,子网掩码为255.255.0.0的路由的下一个跃点地址由10.27.0.1更改为10.27.0.25,执行以下命令:
route change 10.41.0.0 mask 255.255.0.0 10.27.0.25
WeiyiGeek.

WeiyiGeek.

实践说明: 电脑上安装了2个网卡,一个连接外网(自动分配IP,路由地址为192.168.0.1),一个连接单位内网(网卡静态IP为10.37.130.130,网关10.37.130.129,子网掩码255.255.255.252,内网网段10.37.0.0)目的是按需访问内外网。
操作方法:用管理员权限打开CMD

1
2
3
4
5
6
7
8
9
1、删除默认路由:输入 route delete 0.0.0.0 ( 0.0.0.0是指所有地址)
2、添加静态路由
2-1,添加内网静态路由:route add 10.37.0.0 mask 255.255.0.0 10.37.132.129 -p

注:它表示访问10.37.0.0网段的所有数据都要经过网关10.37.132.129,-p表示Persistent(持久有效的意思,重启后依然生效)
2-2,添加外网静态路由:route add 0.0.0.0 mask 0.0.0.0 192.168.0.1 -p
注:它表示访问0.0.0.0网址和0.0.0.0网段,即任意网址任意网段,访问经过外网网关192.168.0.1。

3、设置完成后,输入route print 看一下路由表是否添加成功,再ping内外网的网址测试下是否有效。


pathping 命令

描述:路由跟踪分析工具,它将ping与tracert命令的功能进行结合与完善,他会先显示中间的通过的路由器然后分别对每个中间路由器节点发送一定数量的包(并将其统计分析通讯质量)
特征:该方式需要一定的时间成本由于他会给中间节点发包(根据网络情况一般上千个),其次高度依赖ECHO Response 如果路由器或者防火墙关闭响应都会关闭ping回复,然后对ping包的丢包程度处理并不影响它的通信;

1
2
3
4
5
6
7
8
9
10
11
12
13
用法: pathping [-g host-list] [-h maximum_hops] [-i address] [-n]
[-p period] [-q num_queries] [-w timeout]
[-4] [-6] target_nam
选项:
-g host-list 与主机列表一起的松散源路由。
-h maximum_hops 搜索目标的最大跃点数。
-i address 使用指定的源地址。
-n 不将地址解析成主机名。
-p period 两次 Ping 之间等待的时间(以毫秒为单位)。
-q num_queries 每个跃点的查询数。
-w timeout 每次回复等待的超时时间(以毫秒为单位)。
-4 强制使用 IPv4。
-6 强制使用 IPv6。

基础实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
C:\Users\WeiyiGeek>pathping my.weiyigeek.top -n

通过最多 30 个跃点跟踪
到 my.weiyigeek.top [113.62.179.135] 的路由:
0 192.168.1.4
1 192.168.1.1
2 10.171.0.1
3 18.27.41.33
4 18.21.1.226
5 * * 28.26.11.37
6 21.183.13.37
7 21.183.8.142
8 21.176.27.46
9 21.176.20.222
10 * * 21.13.6.70
11 22.97.95.69
12 22.97.81.122
13 19.151.32.6

正在计算统计信息,已耗时 0 秒...
指向此处的源 此节点/链接
跃点 RTT 已丢失/已发送 = Pct 已丢失/已发送 = Pct 地址


mtr 命令

描述:mtr 全称 my traceroute 是一个把 ping 和 traceroute 合并到一个程序的网络诊断工具类似于window下的traceroute工具,都是默认采用ICMP报文进行探测。
BestTrace工具(Windows):https://cdn.ipip.net/17mon/besttrace.exe
MTR工具(Linux)):https://github.com/oott123/WinMTR/releases

Linux 安装:

1
2
3
4
5
# Debian/Ubuntu 系统
apt install mtr

# RedHat/CentOS 系统
yum install mtr

基础语法参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
usage: mtr [-BfhvrwctglxspQomniuT46] [--help] [--version] [--report]
[--report-wide] [--report-cycles=COUNT] [--curses] [--gtk]
[--csv|-C] [--raw] [--xml] [--split] [--mpls] [--no-dns] [--show-ips]
[--address interface] [--filename=FILE|-F]
[--ipinfo=item_no|-y item_no]
[--aslookup|-z]
[--psize=bytes/-s bytes] [--order fields]
[--report-wide|-w] [--inet] [--inet6] [--max-ttl=NUM] [--first-ttl=NUM]
[--bitpattern=NUM] [--tos=NUM] [--udp] [--tcp] [--port=PORT] [--timeout=SECONDS]
[--interval=SECONDS] HOSTNAME

#参数:
-r or --report : 使用 mtr -r qq.com 来打印报告会向被测主机发送 10 个 ICMP 包,如果不使用 -r or --report 参数 mtr 会不断动态运行;
-c : 自定义发送ICMP数据包数量
-s or --packetsize : 指定ping数据包的大小,如果设置为负数则每一次发送的数据包的大小都会是一个随机数。
-n :只输出 IP,而不对主机 host name 进行解释

输出关键字解释:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#(1)示例1.查看本机到 qq.com 的路由以及连接情况
# 丢包率: Loss
# 已发送的包数: Snt
# 最后一个包的延时: Last
# 平均延时: Avg
# 最低延时: Best
# 最差延时: Wrst
# 方差(稳定性): StDev (越小越稳定如果标准偏差越高说明数据包在这个节点的延时越不相同)
mtr -n -r -c 64 qq.com
Start: Thu Apr 30 15:24:27 2020
HOST: node2 Loss% Snt Last Avg Best Wrst StDev
1.|-- ??? 100.0 64 0.0 0.0 0.0 0.0 0.0
2.|-- 10.10.1.2 0.0% 64 0.7 0.6 0.5 2.6 0.2
3.|-- ??? 100.0 64 0.0 0.0 0.0 0.0 0.0
4.|-- 212.70.235.89 0.0% 64 3.0 2.5 1.4 17.1 2.4
5.|-- 212.176.17.217 0.0% 64 1.8 3.0 1.4 9.7 1.9
6.|-- 212.176.46.17 62.5% 64 1.9 1.8 1.3 3.7 0.6
7.|-- 212.176.6.45 25.0% 64 4.7 4.9 1.4 21.4 5.3
8.|-- 202.97.34.85 98.4% 64 28.9 28.9 28.9 28.9 0.0
9.|-- ??? 100.0 64 0.0 0.0 0.0 0.0 0.0
10.|-- 183.2.182.74 59.4% 64 31.5 31.5 31.2 31.7 0.0
11.|-- 183.2.184.234 89.1% 64 32.4 32.4 31.9 33.1 0.0


2.网络查看

ipconfig 命令

描述:ipconfig命令用于windows NT及XP(windows 95 98)查看本地ip地址,查看本地网络配置,刷新与清理释放IP;

基础语法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
ipconfig [/allcompartments] [/? | /all |
/renew [adapter] | /release [adapter] |
/renew6 [adapter] | /release6 [adapter] |
/flushdns | /displaydns | /registerdns |
/showclassid adapter |
/setclassid adapter [classid] |
/showclassid6 adapter |
/setclassid6 adapter [classid] ]
#参数
adapter 连接名称(允许使用通配符 * 和 ?,参见示例)
/all 显示完整配置信息

/release 释放指定适配器的 IPv4 地址(只针对DHCP服务器)
/release6 释放指定适配器的 IPv6 地址
/renew 更新指定适配器的 IPv4 地址
/renew6 更新指定适配器的 IPv6 地址(只针对DHCP服务器)

/flushdns 清除 DNS 解析程序缓存。
/registerdns 刷新所有 DHCP 租约并重新注册 DNS 名称
/displaydns 显示 DNS 解析程序缓存的内容

/showclassid 显示适配器的所有允许的 DHCP 类 ID。
/setclassid 修改 DHCP 类 ID。
/showclassid6 显示适配器允许的所有 IPv6 DHCP 类 ID
/setclassid6 修改 IPv6 DHCP 类 ID

备注信息:

  • 1.默认情况下,仅显示绑定到 TCP/IP 的适配器的 IP 地址、子网掩码和默认网关
  • 2.对于 Release 和 Renew只能向DHCP服务器租用IP地址起作用,如果未指定适配器名称,则会释放或更新所有绑定到 TCP/IP 的适配器的 IP 地址租约
  • 3.对于 Setclassid 和 Setclassid6,如果未指定 ClassId,则会删除 ClassId
  • 4.[DHCP]:在局域网内常使用的协议,动态主机配置协议(Dynamic Host Configuration Protocol,DHCP),自动的分配ip地址子网掩码和网关.

基础案例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#1.ipconfig可用参数“/all”显示全部配置信息
#MAC=6个字节->48位=>4+4:4+4:4+4:4+4:4+4:4+4
C:\Users\WeiyiGeek>ipconfig /all

Windows IP 配置
主机名 . . . . . . . . . . . . . : WeiyiGeek
主 DNS 后缀 . . . . . . . . . . . :
节点类型 . . . . . . . . . . . . : 混合
IP 路由已启用 . . . . . . . . . . : 否
WINS 代理已启用 . . . . . . . . . : 否

以太网适配器 以太网:
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Intel(R) Ethernet Connection I217-LM
物理地址. . . . . . . . . . . . . : 98-90-96-E1-91-D6
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
本地链接 IPv6 地址. . . . . . . . : fe80::d97d:fe6c:10bf:4244%15(首选)
IPv4 地址 . . . . . . . . . . . . : 192.168.1.88(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
获得租约的时间 . . . . . . . . . : 2019年11月11日 9:02:12
租约过期的时间 . . . . . . . . . : 2019年11月19日 9:13:22
默认网关. . . . . . . . . . . . . : 10.20.172.1
DHCP 服务器 . . . . . . . . . . . : 192.168.4.254
DHCPv6 IAID . . . . . . . . . . . : 93884566
DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-24-AF-4C-46-98-90-96-E1-91-D6
DNS 服务器 . . . . . . . . . . . : 114.114.114.114
TCPIP 上的 NetBIOS . . . . . . . : 已启用

#2.更新和释放适配器(可自定义),
> ipconfig /renew //更新所有适配器-本地机器与DHCP服务器联系,重新租用一个ip地址。
> ipconfig /renew EL* //更新所有名称以 EL 开头
> ipconfig /release *Con* //释放所有匹配的连接-接口租用的ip地址重新交互给DHCP服务器(归还IP)
#例如 "Local Area Connection 1" 或 Local Area Connection 2"

WeiyiGeek.

WeiyiGeek.

1
2
3
#3.显示分段信息
> ipconfig /allcompartments ... 显示有关所有分段的信息
> ipconfig /allcompartments /all ... 显示有关所有分段的详细信息
WeiyiGeek.

WeiyiGeek.

1
2
3
4
5
6
7
#4.对于DNS的操作
ipconfig /flushdns 清除 DNS 解析程序缓存
ipconfig /registerdns 刷新所有 DHCP 租约并重新注册 DNS 名称
ipconfig /displaydns 显示 DNS 解析程序缓存的内容

#5.显示适配器的所有允许的 DHCP 类 ID。
ipconfig /showclassid
WeiyiGeek.

WeiyiGeek.


nslookup 命令

描述:Nslookup命令行管理工具用于测试与解决DNS服务器问题
nslookup 有两种模式 交互式 和 非交互式,需要返回单页数据就有非交互式。

用法:

1
2
3
4
5
6
7
8
9
10
11
nslookup [-opt] host server  # 仅查找使用 "server" 的 "host"
nslookup [-opt] # 使用默认服务器的交互模式
nslookup [-opt] host # 仅查找使用默认服务器的 "host"

#高级参数:
> help #查看帮助信息
set type=X -设置查询类型(如 A、AAAA、A+AAAA、ANY、CNAME、MX、NS、PTR、SOA 和 SRV)
ls [opt] DOMAIN [> FILE] - 列出 DOMAIN 中的地址(可选: 输出到文件 FILE)
-a - 列出规范名称和别名
-d - 列出所有记录
-t TYPE - 列出给定 RFC 记录类型(例如 A、CNAME、MX、NS 和 PTR 等) 的记录

基础实例:

1
2
3
4
5
6
7
8
#1.利用域名空间中查找不同记录类型,注意nslookup支持的类型不分大小写:
#命令行
nslookup -qt="类型" 目标域名
nslookup -querytype="类型" 目标域名

#交互式
nslookup> set type="类型"
nslookup> set q="类型"

WeiyiGeek.

WeiyiGeek.

1
2
3
4
5
6
7
8
9
10
11
#2.要查询邮件交换器数据
C:\Users\Administrator>nslookup
> www.swjtu.edu.cn
# 非权威应答:
# 名称: www.swjtu.edu.cn
# Address: 202.115.64.146

> set q=mx
> swjtu.edu.cn
# 非权威应答:
# swjtu.edu.cn MX preference = 5, mail exchanger = home.swjtu.edu.cn

注意:每个邮件交换器有一个整数preference(优先权)与之关联MX preference 数值越小,则优先级越高.具有高优先级的将首先试用,然后按照优先权值的增大顺序试用其他主机。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#3.直接从另一个名字服务器 中进行查询,可以使用server与lserver命令切换到该名字系统。
#server命令:使用当前设置的默认服务器地址
> server dec3000.xjtu.edu.cn
默认服务器: dec3000.xjtu.edu.cn
Address: 202.117.0.20

> set q=txt
> bbs.xjtu.edu.cn
服务器: dec3000.xjtu.edu.cn
Address: 202.117.0.20

xjtu.edu.cn
primary name server = dec3000.xjtu.edu.cn
responsible mail addr = root.dec3000.xjtu.edu.cn
serial = 1510301754
refresh = 1800 (30 mins)
retry = 1800 (30 mins)
expire = 3600 (1 hour)
default TTL = 3600 (1 hour)


#lserver命令:使用初始本地服务器得到要换的服务器地址
> lserver pridns.swjtu.edu.cn
默认服务器: pridns.swjtu.edu.cn
Address: 202.115.64.33

> bbs.xjtu.edu.cn
服务器: pridns.swjtu.edu.cn
Address: 202.115.64.33

xjtu.edu.cn
primary name server = dec3000.xjtu.edu.cn
responsible mail addr = root.dec3000.xjtu.edu.cn
serial = 1510301754
refresh = 1800 (30 mins)
retry = 1800 (30 mins)
expire = 3600 (1 hour)
default TTL = 3600 (1 hour)

4)列出指定区域的地址:

1
2
3
4
5
6
7
8
#ls命令不带参数将返回所有的地址和名称服务器的列表
ls [-a|d|t type] domain > filename
-a:返回别名和正式名称
-d:将返回所有的数据
-t type:根据类型进行赛选

##存在DNS传送域漏洞的才存在
> ls www.cque.edu.cn

5) 域名的“递归(Recurse)解析”与“反复(Reiterate)解析

1
2
3
4
5
6
7
8
#nslookup 命令可以根据用户的指定的解析方式完成域名解析
nslookup -[no]recurse 目标域名 [指定域名服务器]
#recurse:递归解析
#norecurse:反复解析

#没有 [指定域名服务器]就直接采用默认的域名服务器比如:61.128.128.68
nslookup -recurse www.baidu.com
nslookup -norecurse www.baidu.com

WeiyiGeek.

WeiyiGeek.


getmac 命令

描述: 此工具使管理员能够显示系统上网络适配器的 MAC 地址。

基础语法:

1
2
3
4
5
6
# 语法
GETMAC [/S system [/U username [/P [password]]]] [/FO format] [/NH] [/V]

# 参数
/FO format # 指定输出显示的格式。有效值: "TABLE"、"LIST"、"CSV"。
/NH # 指定在输出中不显示“列标题”。只对 TABLE 和 CSV 格式有效。


基础示例:

1
2
3
4
5
6
7
8
9
# 1.分类数据并格式化未处理的信息是来自 Getmac 输出的 CSV 数据, 跳过第一行来命名你喜欢的列(此时包涵了CSV的头)
$ getmac /FO CSV | Select-Object -Skip 1 | ConvertFrom-Csv -Header MAC, Transport

# 2.指定在输出中不显示"列标题",注意只对 TABLE 和 CSV 格式有效。
$ getmac /FO CSV /NH
# "00-FF-67-F8-7D-81","媒体已断开连接"
# "00-FF-81-D5-15-F8","媒体已断开连接"
# "00-50-56-C0-00-01","\Device\Tcpip_{A519ACBA-8DF2-4FC3-A414-897625F5A6B1}"
# "00-50-56-C0-00-08","\Device\Tcpip_{8E620A89-7B3C-4170-94A2-D18313512F02}"

3.网络状态协议

ping 命令

描述:ping 能够以毫秒级的单位显示发送echo请求到返回echo应答之间的时间值,如果间值小,表示数据报没有经过太多的路由器或者链接网络速度比较快。

1
2
#debian / ubuntu
apt-get install iputils-ping

基础实例:

1
2
3
#Ping 还能显示TTL(Time to live,生存时间),用户可以通过TTL值来推算出数据包已经通过了多少个路由器
ping 10.2.10.16 #TTL默认是64减去两个路由就TTL等于62
tracert 10.2.10.16 #下面可以看出是两个路由.

WeiyiGeek.

WeiyiGeek.

常用命令:

1
2
3
4
ping ip -t  #连续PING
ping ip -l 2000 #ping发送的数据长度为2000B,默认32B.
ping ip -n 4 #执行特定次数的ping命令
ping 172.16.5.181 -r 4 -n 1 #源路由跟踪

WeiyiGeek.

WeiyiGeek.


netstat 命令

简述:netstat命令显示(IP/TCP/UDP/ICMP)协议统计和当前 TCP/IP 网络连接

基础语法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]

#参数:
# -a 显示所有连接和侦听端口。
# -b 显示在创建每个连接或侦听端口时涉及的可执行程序。在某些情况下,已知可执行程序承载多个独立的组件,这些情况下,显示创建连接或侦听端口时涉及的组件序列。此情况下,可执行程序的名称位于底部[]中,它调用的组件位于顶部,直至达到 TCP/IP。注意,此选项可能很耗时,并且在您没有足够权限时可能失败。
# ​
# -e 显示以太网(Ethernet)接口的统计数据,此选项可以与 -s 选项结合使用
# -f 显示外部地址的完全限定域名(FQDN)
# -n 以数字形式显示地址和端口号
# -o 显示拥有的与每个连接关联的进程 ID
# ​
# -p proto 显示 proto 指定的协议的连接;proto 可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s 选项一起用来显示每个协议的统计,proto 可以是下列任何一个:IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP或 UDPv6
# ​
# -r 显示路由表。
# -s 显示每个协议的统计。默认情况下,显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6的统计;-p 选项可用于指定默认的子网。
# -t 显示当前连接卸载状态。
# interval 重新显示选定的统计,各个显示间暂停的间隔秒数。按 CTRL+C 停止重新显示统计。

基础通信流程状态图:

  • LISTEN:侦听来自远方的TCP端口的连接请求
  • SYN-SENT:再发送连接请求后等待匹配的连接请求
  • SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认
  • ESTABLISHED:代表一个打开的连接
  • FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
  • FIN-WAIT-2:从远程TCP等待连接中断请求
  • CLOSE-WAIT:等待从本地用户发来的连接中断请求
  • CLOSING:等待远程TCP对连接中断的确认
  • LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认
  • TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认
  • CLOSED:没有任何连接状态

WeiyiGeek.

基础实例:

1
2
3
4
5
6
7
8
9
10
netstat -a #查看开启了哪些端口,常用netstat -an
netstat -n #查看端口的网络连接情况,常用netstat -an
netstat -v #查看正在进行的工作
netstat -p #协议名 例:netstat -p tcq/ip 查看某协议使用情况

#1.每五second刷新显示tcp协议的SOURCE与Dstention连接状态及其连接的可执行程序名
netstat -bn -p tcp 5

#2.-b参数显示端口占用的进程和程序 ,-o显示所有连接得PID号
netstat -anbo -p tcp

WeiyiGeek.

WeiyiGeek.

1
2
3
4
5
#3.统计协议使用信息
netstat -s #查看正在使用的所有协议使用情况

#4.显示以太网的信息:
netstat -es
WeiyiGeek.

WeiyiGeek.

1
2
3
4
5
#5.显示当前所有连接卸载状态
netstat -ant

#6.显示外部地址的完全限定域名(FQDN),端口的类型
netstat -f -p tcp
WeiyiGeek.

WeiyiGeek.

1
2
3
4
5
6
7
#7.显示路由表信息( 包括接口信息、活动[Active]路由表和永久[Persistent]路由表三项 )
netstat -r = route printf
# 网络目标 网络掩码 网关 接口 跃点数
# 0.0.0.0 0.0.0.0 10.22.53.254 10.22.53.33 20
# 10.22.53.0 255.255.255.0 在链路上 10.22.53.33 276
# 10.22.53.33 255.255.255.255 在链路上 10.22.53.33 276
# 10.22.53.255 255.255.255.255 在链路上 10.22.53.33 276


nbtstat 命令

描述:显示协议统计和当前使用 NBI 的 TCP/IP 连接(在 TCP/IP 上的 NetBIOS),查看本地或者远程计算机上的NetBIOS名字列表。

基础语法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

NBTSTAT [ [-a RemoteName] [-A IP address] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [interval] ]

#参数:
-a (适配器状态) 列出指定名称的远程机器的名称表
-A (适配器状态) 列出指定 IP 地址的远程机器的名称表。
-c (缓存) 列出远程[计算机]名称及其 IP 地址的 NBT 缓存
-n (名称) 列出本地 NetBIOS 名称。
-r (已解析) 列出通过广播和经由 WINS 解析的名称
-R (重新加载) 清除和重新加载远程缓存名称表
-S (会话) 列出具有目标 IP 地址的会话表
-s (会话) 列出将目标 IP 地址转换成计算机 NETBIOS 名称的会话表。
-RR (释放刷新) 将名称释放包发送到 WINS,然后启动刷新

RemoteName 远程主机计算机名。
IP address 用点分隔的十进制表示的 IP 地址。
interval 重新显示选定的统计、每次显示之间暂停的间隔秒数,按 Ctrl+C 停止重新显示统计


基础实例:

1
2
3
#1.显示远程机器的名称表以及指定IP地址主机的名称表和MAC:
>nbtstat -a ADMIN-PC
>nbtstat -A 10.22.53.42

WeiyiGeek.

WeiyiGeek.

1
2
3
4
5
6
7
8
9
10
#2.显示缓存列表
nbtstat -c

#3.NetBIOS 本地名称表
nbtstat -n

#4.重新清除加载缓存(历史记录)和NetBIOS 名称解析和注册统计
>nbtstat -R
>nbtstat -r
>nbtstat -RR
WeiyiGeek.

WeiyiGeek.


arp 命令

描述:arp命令显示和修改地址解析协议(ARP),显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表;

基础语法:

1
2
3
4
5
6
7
8
9
10
11
12
13
ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr] [-v]

#参数:
-a = -g 通过询问当前协议数据,显示当前 ARP 项。如果指定 inet_addr,则只显示指定计算机的 IP 地址和物理地址,如果不止一个网络接口使用 ARP,则显示每个 ARP 表的项
-d 删除 inet_addr 指定的主机,inet_addr 可以是通配符 *,以删除所有主机
-s 添加主机并且将 Internet 地址 inet_addr与物理地址 eth_addr 相关联,物理地址是用`连字符分隔的 6 个十六进制字节`,该项是永久的
-v 在详细模式下显示当前 ARP 项,所有无效项和环回接口上的项都将显示
-N if_addr 显示 if_addr 指定的网络接口的 ARP 项 =接口: 192.168.155.1
# inet_addr 指定 Internet 地址 192.168.155.4
# eth_addr 指定物理地址 f4-37-b7-85-fd-d6
# if_addr 如果存在,此项指定地址转换表应修改的接口的 Internet 地址,如果不存在,则使用第个适用的接口

基础实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#1.查看和处理ARP缓存,ARP是名字解析的意思,负责把一个IP解析成一个物理性的MAC地址。
arp -a/-g #将显示出全部信息
arp -a 10.22.53.37 -v #也可以指定显示特定的ip与物理地址的NetBIOS信息

#2.添加静态项(防止ARP攻击)
arp -s 157.55.85.212 00-aa-00-62-c6-09.

#3.删除静态项
arp -d 157.55.85.212

#4.查看指定接口
C:\WINDOWS\system32>arp -a
Interface: 192.168.73.129 --- 0xb
C:\WINDOWS\system32>arp -a -N 192.168.73.129

WeiyiGeek.

WeiyiGeek.