用nbtstat捉到幕后黑手

Posted by Jeremy Song on 2021-03-26
Estimated Reading Time 4 Minutes
Words 1.2k In Total
Viewed Times

今天继续科普向,用来介绍一下Windows平台上的 nbtstat 命令。

啥?你说现在都在Linux上玩了Windows的命令用处很少了,不知道也不影响什么啊。

嘿嘿~ too young!你有没有在平时工作中发现你辛苦搭建出来的场景或者环境被莫名的毁了,问了一圈还没人啃声?因为,如果知道别人动了那些地方,这些出现的问题也就好分析和还原了。于是你哼哧哼哧查找日志,结果只查到一个操作者的IP。然后就没有然后了,因为你不可能知道每个人的IP是多少?你说气人不?

下面就来教你怎么捉到他!当然这只是个例子,我们的同事间怎么会出现这样的一幕呢(手动滑稽)。

找到这个坏蛋

这里假如您查找到的这个IP是192.168.1.121 ,您可以在cmd 命令提示符工具中输入以下命令:

1
nbtstat -an 192.168.1.121

输入命令,敲回车。你可能会得到一个类似于下面这样的结果:

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
C:\Users\jerem>nbtstat -an 192.168.1.121

VPN - VPN Client:
节点 IP 址址: [0.0.0.0] 范围 ID: []

找不到主机。

以太网:
节点 IP 址址: [192.168.1.131] 范围 ID: []

NetBIOS 远程计算机名称表

名称 类型 状态
---------------------------------------------
DESKTOP-1EG8A57<00> 唯一 已注册
DESKTOP-1EG8A57<20> 唯一 已注册
WORKGROUP <00> 组 已注册

MAC 地址 = F4-39-09-4A-DA-F9


vEthernet (Default Switch):
节点 IP 址址: [172.17.254.65] 范围 ID: []

找不到主机。

vEthernet (Outter Wireless):
节点 IP 址址: [0.0.0.0] 范围 ID: []

找不到主机。

蓝牙网络连接:
节点 IP 址址: [0.0.0.0] 范围 ID: []

找不到主机。

DESKTOP-1EG8A57就是我们要找的主机名了。如果你们的PC都是用个人名称的话,这下你不就找到这个黑手了。哈哈哈~~~

下面简单介绍以下nbtstat这个命令。

nbtstat

NetBIOS是许多早期Windows网络中使用的名称解析系统。Nbtstat(NETBIOS over TCP/IP statistics)工具用于查看在TCP/IP协议之上运行NetBIOS服务的统计数据,并可以查看本地远程计算机上的NetBIOS名称列表。其命令的语法格式如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
C:\Users\jerem>nbtstat --help

显示协议统计和当前使用 NBITCP/IP 连接
(在 TCP/IP 上的 NetBIOS)。

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 停止重新显示统计。

注:在上一小节中命令的返回中有一段DESKTOP-1EG8A57<20> 唯一 已注册这样的输出。其中,20 这个是主机开启服务的编号。20 表示文件服务器服务。如果感兴趣的话,您可以在网上找找相关的对照表,这里就不一一列出来了。

一些例子

要显示 NetBIOS 计算机名为 JEREMYSONG 的远程计算机的 NetBIOS 名称表:

1
nbtstat -a JEREMYSONG

要显示所分配 IP 地址为 192.168.1.101 的远程计算机的 NetBIOS 名称表:

1
nbtstat -A 192.168.1.101

要显示本地计算机的 NetBIOS 名称表:

1
nbtstat -n

要显示本地计算机 NetBIOS 名称缓存的内容:

1
nbtstat -c

要清除 NetBIOS 名称缓存并重新装载本地 Lmhosts 文件中带标记 #PRE 的项目:

1
nbtstat -R

要释放通过 WINS 服务器注册的 NetBIOS 名称并对其重新注册:

1
nbtstat -RR

要每 5 秒以 IP 地址显示 NetBIOS 会话统计资料:

1
nbtstat -S 5

最后

依然照旧,继续科普,所以本文对nbtstat命令的讲解也不是很充实,如果你还有不太明白的地方就先自行查阅资料吧。当然你也可以给我留言,如果内容多的话我还可以在做一期作为补充讲解。

另外,如果你对nbtstat这个命令感兴趣的话,不妨按照上面的过程自己动手试试。 (●ˇ∀ˇ●)


欢迎关注我的公众号 须弥零一,跟我一起学习IT知识。


如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !