Windows奇技淫巧之网络命令行
Posted 沉迷单车的追风少年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows奇技淫巧之网络命令行相关的知识,希望对你有一定的参考价值。
写在前面:Linux老鸟会深度沉迷命令行,各种奇技淫巧心中涨,但是windows上的命令行相当好用,各种骚操作也是眼花缭乱。其中网络操作经常使用,本文做一个简单的总结。
目录
7、nbtstat:显示协议统计和当前使用NBI的TCP/IP连接
1、ipconfig:显示当前TCP/IP配置的设置值
首先最常用的当然是ipconfig了,用于显示当前的TCP/IP配置的设置值。
常用的命令如下:
ipconfig ... 显示信息
ipconfig /all ... 显示详细信息
ipconfig /renew ... 更新所有适配器
ipconfig /renew EL* ... 更新所有名称以 EL 开头的连接
ipconfig /release *Con* ... 释放所有匹配的连接,例如“有线以太网连接 1”或“有线以太网连接 2”
ipconfig /allcompartments ... 显示有关所有隔离舱的信息
ipconfig /allcompartments /all ... 显示有关所有隔离舱的详细信息
所有选项:
/? 显示此帮助消息
/all 显示完整配置信息。
/release 释放指定适配器的 IPv4 地址。
/release6 释放指定适配器的 IPv6 地址。
/renew 更新指定适配器的 IPv4 地址。
/renew6 更新指定适配器的 IPv6 地址。
/flushdns 清除 DNS 解析程序缓存。
/registerdns 刷新所有 DHCP 租用并重新注册 DNS 名称
/displaydns 显示 DNS 解析程序缓存的内容。
/showclassid 显示适配器允许的所有 DHCP 类 ID。
/setclassid 修改 DHCP 类 ID。
/showclassid6 显示适配器允许的所有 IPv6 DHCP 类 ID。
/setclassid6 修改 IPv6 DHCP 类 ID。
2、ping:测试目的站是否可达及相关状态
工作在应用层的一个服务命令,主要是向特定目的主机发送ICMP Echo请求报文,来测试目的站是否可达,以及其有关状态。执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
语法
ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
参数说明
-d 使用Socket的SO_DEBUG功能。
-c <完成次数> 设置完成要求回应的次数。
-f 极限检测。
-i<间隔秒数> 指定收发信息的间隔时间。
-I<网络界面> 使用指定的网络接口送出数据包。
-l<前置载入> 设置在送出要求信息之前,先行发出的数据包。
-n 只输出数值。
-p<范本样式> 设置填满数据包的范本样式。
-q 不显示指令执行过程,开头和结尾的相关信息除外。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。
-R 记录路由过程。
-s<数据包大小> 设置数据包的大小。
-t<存活数值> 设置存活数值TTL的大小。
-v 详细显示指令的执行过程。
-w <deadline> 在 deadline 秒后退出。
-W <timeout> 在等待 timeout 秒后开始执行。
应用举例1:ipconfig查询自己的主机IP,ping自己主机,检查网络配置问题
如果ping自己的主机不通,意味着本地配置存在问题,可能是网线没插好或者交换机挂掉了,应当仔细检查网络配置和各种设备准备好没有。
应用举例2:ping局域网下其他IP,检查局域网问题
如果能够承购接受回复,说明局域网没有问题,也就是交换机没有问题。
应用举例3:ping远程IP
如果成功接收到回复,说明你可以尽情上网冲浪啦~
应用举例4:ping local host
local host 是系统的网络保留名,它是 127.0.0.1 的别名,每台计算机都应该能够将该名字转换成127.0.0.1。如果不是,可能主机host被恶意修改。
3、arp:地址解析协议
ARP是地址解析协议,Address Resolution Protocol,能实现任意网络层地址到任意物理地址的转换,但一般指的是从IP地址定位MAC地址。具体可以参见我之前的一篇博客:ARP地址解析协议
主机向自己所在的网络广播一个ARP请求,该请求包括目标机器的网络地址。此网络上的其他其他机器都将收到这个请求,但只有被请求的目标机器会回应一个ARP请求,其中包含自己的物理地址。
windows命令行中的ARP用于显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。
使用格式
ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr] [-v]
参数说明
-a 通过询问当前协议数据,显示当前 ARP 项。
如果指定 inet_addr,则只显示指定计算机
的 IP 地址和物理地址。如果不止一个网络
接口使用 ARP,则显示每个 ARP 表的项。
-g 与 -a 相同。
-v 在详细模式下显示当前 ARP 项。所有无效项
和环回接口上的项都将显示。
inet_addr 指定 Internet 地址。
-N if_addr 显示 if_addr 指定的网络接口的 ARP 项。
-d 删除 inet_addr 指定的主机。inet_addr 可
以是通配符 *,以删除所有主机。
-s 添加主机并且将 Internet 地址 inet_addr
与物理地址 eth_addr 相关联。物理地址是用
连字符分隔的 6 个十六进制字节。该项是永久的。
eth_addr 指定物理地址。
if_addr 如果存在,此项指定地址转换表应修改的接口
的 Internet 地址。如果不存在,则使用第一
个适用的接口。
应用实例1:查看高速缓存中的所有项目
arp -a
其他应用
arp -a x.x.x.x:如果你的主机上有多块网卡,加上指定网卡的ip地址,就可以只显示与该网卡相关的arp缓存项目
arp -s x.x.x.x x-x-x-x-x-x:向arp缓存中人工输入一条静态表,为ip和mac的对应关系
arp -d x.x.x.x:人工删除一条静态项目
4、traceroute:路由跟踪
路由跟踪。利用ICMP协议显示可能的路由(路径)并测量数据包在IP层网络上的传输延迟。 路由的历史记录为从路由(路径)中每个连续主机(远程节点)接收到的数据包的往返时间; 每跳平均时间的总和是建立连接所花费的总时间的度量。 除非所有(通常三个)发送的数据包丢失两次以上,否则Traceroute继续进行。和ping命令相比,ping仅计算从目标点开始的最终往返时间,而traceroute能显示整条路径上的数据包的传输情况。
traceroute在windows上命令为tracert。
命令格式
用法: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout]
[-R] [-S srcaddr] [-4] [-6] target_name
参数说明
-d 不将地址解析成主机名。
-h maximum_hops 搜索目标的最大跃点数。
-j host-list 与主机列表一起的松散源路由(仅适用于 IPv4)。
-w timeout 等待每个回复的超时时间(以毫秒为单位)。
-R 跟踪往返行程路径(仅适用于 IPv6)。
-S srcaddr 要使用的源地址(仅适用于 IPv6)。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
应用举例1:追踪到某IP地址的路由
tracert 182.92.187.217
编号 第一次往返时延 第二次往返时延 第三次往返时延 路由器输入端口IP地址
1 3 ms 1 ms 2 ms 10.196.1.4
2 1 ms 3 ms 1 ms 10.196.0.25
3 1 ms 1 ms 1 ms 10.196.0.1
4 3 ms 1 ms 4 ms 202.117.145.90
5 * * * 请求超时。
6 * * * 请求超时。
7 3 ms 3 ms 3 ms 202.200.29.5
8 3 ms * 3 ms 101.4.117.178
9 19 ms 19 ms 19 ms 101.4.112.13
10 23 ms 20 ms 20 ms 219.224.103.38
11 21 ms 20 ms 20 ms 101.4.130.26
12 21 ms 46 ms 45 ms 117.49.32.61
13 22 ms 21 ms 21 ms 10.102.248.245
14 69 ms 28 ms 25 ms 10.102.248.221
15 22 ms 21 ms 21 ms 10.36.104.2
16 22 ms 30 ms 22 ms 182.92.187.217
一般重试三次以上失败就是返回请求超时,以上的过程显示了我们主机找到目标IP地址182.92.187.219的全部路由过程,相当曲折啊哈哈哈。
当网络出现问题的时候,我们可以通过tracert来追查,到底是那个路由出现了问题。
5、route:操作路由表
用于操作网络路由表。只不过现在路由器都会有强大的路由动态解析功能,很少需要我们亲自去操作路由表了。
命令格式
ROUTE [-f] [-p] [-4|-6] command [destination]
[MASK netmask] [gateway] [METRIC metric] [IF interface]
参数说明
-f 清除所有网关项的路由表。如果与某个
命令结合使用,在运行该命令前,
应清除路由表。
-p 与 ADD 命令结合使用时,将路由设置为
在系统引导期间保持不变。默认情况下,重新启动系统时,
不保存路由。忽略所有其他命令,
这始终会影响相应的永久路由。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
command 其中之一:
PRINT 打印路由
ADD 添加路由
DELETE 删除路由
CHANGE 修改现有路由
destination 指定主机。
MASK 指定下一个参数为“netmask”值。
netmask 指定此路由项的子网掩码值。
如果未指定,其默认设置为 255.255.255.255。
gateway 指定网关。
interface 指定路由的接口号码。
METRIC 指定跃点数,例如目标的成本。
command参数说明
用于目标的所有符号名都可以在网络数据库
文件 NETWORKS 中进行查找。用于网关的符号名称都可以在主机名称
数据库文件 HOSTS 中进行查找。
如果命令为 PRINT 或 DELETE。目标或网关可以为通配符,
(通配符指定为星号“*”),否则可能会忽略网关参数。
如果 Dest 包含一个 * 或 ?,则会将其视为 Shell 模式,并且只
打印匹配目标路由。“*”匹配任意字符串,
而“?”匹配任意一个字符。示例: 157.*.1、157.*、127.*、*224*。
只有在 PRINT 命令中才允许模式匹配。
诊断信息注释:
无效的 MASK 产生错误,即当 (DEST & MASK) != DEST 时。
示例: > route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1
路由添加失败: 指定的掩码参数无效。
(Destination & Mask) != Destination。
应用举例1:查看本机路由表
route print
===========================================================================
接口列表
7...00 ff 4a a7 e2 e3 ......TAP-Windows Adapter V9
6...c8 d9 d2 78 f0 94 ......Realtek PCIe GbE Family Controller
26...00 ff dd 76 9f 68 ......Sangfor SSL VPN CS Support System VNIC
17...94 b8 6d d2 04 c5 ......Microsoft Wi-Fi Direct Virtual Adapter
27...96 b8 6d d2 04 c4 ......Microsoft Wi-Fi Direct Virtual Adapter #2
12...00 ff 7e 6a 1e 52 ......TAP-Windows Adapter V9 #2
22...00 50 56 c0 00 01 ......VMware Virtual Ethernet Adapter for VMnet1
25...00 50 56 c0 00 08 ......VMware Virtual Ethernet Adapter for VMnet8
1...........................Software Loopback Interface 1
15...94 b8 6d d2 04 c4 ......Intel(R) Dual Band Wireless-AC 3168
===========================================================================
IPv4 路由表
===========================================================================
活动路由:
网络目标 网络掩码 网关 接口 跃点数
0.0.0.0 0.0.0.0 10.138.0.1 10.138.195.135 200
10.138.0.0 255.255.0.0 在链路上 10.138.195.135 356
10.138.195.135 255.255.255.255 在链路上 10.138.195.135 356
10.138.255.255 255.255.255.255 在链路上 10.138.195.135 356
127.0.0.0 255.0.0.0 在链路上 127.0.0.1 331
127.0.0.1 255.255.255.255 在链路上 127.0.0.1 331
127.255.255.255 255.255.255.255 在链路上 127.0.0.1 331
192.168.142.0 255.255.255.0 在链路上 192.168.142.1 291
192.168.142.1 255.255.255.255 在链路上 192.168.142.1 291
192.168.142.255 255.255.255.255 在链路上 192.168.142.1 291
192.168.254.0 255.255.255.0 在链路上 192.168.254.1 291
192.168.254.1 255.255.255.255 在链路上 192.168.254.1 291
192.168.254.255 255.255.255.255 在链路上 192.168.254.1 291
224.0.0.0 240.0.0.0 在链路上 127.0.0.1 331
224.0.0.0 240.0.0.0 在链路上 10.138.195.135 356
224.0.0.0 240.0.0.0 在链路上 192.168.142.1 291
224.0.0.0 240.0.0.0 在链路上 192.168.254.1 291
255.255.255.255 255.255.255.255 在链路上 127.0.0.1 331
255.255.255.255 255.255.255.255 在链路上 10.138.195.135 356
255.255.255.255 255.255.255.255 在链路上 192.168.142.1 291
255.255.255.255 255.255.255.255 在链路上 192.168.254.1 291
===========================================================================
永久路由:
无
IPv6 路由表
===========================================================================
活动路由:
接口跃点数网络目标 网关
15 356 ::/0 fe80::aad0:e5ff:fef7:f14a
1 331 ::1/128 在链路上
15 356 2001:da8:4001:3::1:14c8/128
在链路上
15 356 fe80::/64 在链路上
25 291 fe80::/64 在链路上
22 291 fe80::/64 在链路上
25 291 fe80::855c:e86a:3636:553/128
在链路上
22 291 fe80::d587:3d64:fcd3:d4ee/128
在链路上
15 356 fe80::eca3:4e7d:660a:f6bb/128
在链路上
1 331 ff00::/8 在链路上
15 356 ff00::/8 在链路上
25 291 ff00::/8 在链路上
22 291 ff00::/8 在链路上
===========================================================================
永久路由:
无
应用举例2:route add:添加路由表。例如 设定一个到目的网络 130.130.233.233 的路由,其间要经过 5 个路由器网段,首先要经过本地网络上的一个IP 为 130.130.233.5的路由器,子网掩码为 255.255.255.0
route add 130.130.233.233 mask 255.255.255.0 130.130.233.5 metric 5
应用举例3:route change: 修改数据的传输路由。注意,不能使用本命令来改变数据的目的地。
route add 130.130.233.233 mask 255.255.255.0 130.130.233.5 metric 3
应用举例4:route delete:删除路由。例如:route delete 130.130.233.233
6、netstat:显示协议统计信息
显示协议统计信息和当前 TCP/IP 网络连接。查看某个端口号是否占用,为哪个进程所占用。
协议格式
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [-x] [-y] [interval]
参数说明
-a 显示所有连接和侦听端口。
-b 显示在创建每个连接或侦听端口时涉及的
可执行文件。在某些情况下,已知可执行文件托管
多个独立的组件,此时会
显示创建连接或侦听端口时
涉及的组件序列。在此情况下,可执行文件的
名称位于底部 [] 中,它调用的组件位于顶部,
直至达到 TCP/IP。注意,此选项
可能很耗时,并且可能因为你没有足够的
权限而失败。
-e 显示以太网统计信息。此选项可以与 -s 选项
结合使用。
-f 显示外部地址的完全限定
域名(FQDN)。
-n 以数字形式显示地址和端口号。
-o 显示拥有的与每个连接关联的进程 ID。
-p proto 显示 proto 指定的协议的连接;proto
可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s
选项一起用来显示每个协议的统计信息,proto 可以是下列任何一个:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-q 显示所有连接、侦听端口和绑定的
非侦听 TCP 端口。绑定的非侦听端口
不一定与活动连接相关联。
-r 显示路由表。
-s 显示每个协议的统计信息。默认情况下,
显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;
-p 选项可用于指定默认的子网。
-t 显示当前连接卸载状态。
-x 显示 NetworkDirect 连接、侦听器和共享
终结点。
-y 显示所有连接的 TCP 连接模板。
无法与其他选项结合使用。
interval 重新显示选定的统计信息,各个显示间暂停的
间隔秒数。按 CTRL+C 停止重新显示
统计信息。如果省略,则 netstat 将打印当前的
配置信息一次。
应用举例1:显示所有连接和监听端口
netstat -a
活动连接
协议 本地地址 外部地址 状态
TCP 0.0.0.0:135 WANGQIANG:0 LISTENING
TCP 0.0.0.0:445 WANGQIANG:0 LISTENING
TCP 0.0.0.0:1080 WANGQIANG:0 LISTENING
TCP 0.0.0.0:5040 WANGQIANG:0 LISTENING
TCP 0.0.0.0:8680 WANGQIANG:0 LISTENING
TCP 0.0.0.0:49664 WANGQIANG:0 LISTENING
TCP 0.0.0.0:49665 WANGQIANG:0 LISTENING
TCP 0.0.0.0:49666 WANGQIANG:0 LISTENING
TCP 0.0.0.0:49667 WANGQIANG:0 LISTENING
TCP 0.0.0.0:49668 WANGQIANG:0 LISTENING
TCP 0.0.0.0:49669 WANGQIANG:0 LISTENING
TCP 0.0.0.0:49675 WANGQIANG:0 LISTENING
TCP 0.0.0.0:57023 WANGQIANG:0 LISTENING
TCP 10.138.195.135:139 WANGQIANG:0 LISTENING
TCP 10.138.195.135:51152 40.90.189.152:https ESTABLISHED
应用举例2:监听UDP/TCP端口
netstat -p udp
netstat -p tcp
7、nbtstat:显示协议统计和当前使用NBI的TCP/IP连接
该命令使用TCP/IP上的NetBios显示协议统计和当前TCP/IP连接,使用这个命令你可以得到远程主机的NETBIOS信息,比如用户名、所属的工作组、网卡的MAC地址等。在此我们就有必要了解几个基本的参数。
命令格式
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 停止重新显示统计。
8、net:黑客入侵必备
主要用于对远程主机动手动脚。例如用net start启动远程主机的服务,net stop直接杀死远程主机的进程,net view查看远程主机共享资源,net time查看远程主机当前时间,net use把远程主机的某个共享资源影射为本地盘符。
可用命令
NET ACCOUNTS NET HELPMSG NET STATISTICS
NET COMPUTER NET LOCALGROUP NET STOP
NET CONFIG NET PAUSE NET TIME
NET CONTINUE NET SESSION NET USE
NET FILE NET SHARE NET USER
NET GROUP NET START NET VIEW
9、grep的阉割版替代品:findstr
用过Linux正则的一定对此念念不忘,windows提供了grep的阉割版替代品findstr,很遗憾不支持完整版正则,不过总比肉眼过滤强,不是吗?
参数释义:
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
[/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
strings [[drive:][path]filename[ ...]]
/B 在一行的开始配对模式。
/E 在一行的结尾配对模式。
/L 按字使用搜索字符串。
/R 将搜索字符串作为一般表达式使用。
/S 在当前目录和所有子目录中搜索匹配文件。
/I 指定搜索不分大小写。
/X 打印完全匹配的行。
/V 只打印不包含匹配的行。
/N 在匹配的每行前打印行数。
/M 如果文件含有匹配项,只打印其文件名。
/O 在每个匹配行前打印字符偏移量。
/P 忽略有不可打印字符的文件。
/OFF[LINE] 不跳过带有脱机属性集的文件。
/A:attr 指定有十六进位数字的颜色属性。请见 "color /?"
/F:file 从指定文件读文件列表 (/ 代表控制台)。
/C:string 使用指定字符串作为文字搜索字符串。
/G:file 从指定的文件获得搜索字符串。 (/ 代表控制台)。
/D:dir 查找以分号为分隔符的目录列表
strings 要查找的文字。
[drive:][path]filename
指定要查找的文件。
参考
以上是关于Windows奇技淫巧之网络命令行的主要内容,如果未能解决你的问题,请参考以下文章