nbtscan局域网扫描的原理

article/2025/9/23 3:23:51

本文出处:http://blog.csdn.net/xizhibei

=============================


相信搞网络的应该都听说过nbtscan这个工具,当我们处于局域网中,想查询同处一个局域网的主机时,它就是个不错的工具(比如追踪ARP诈骗源)

它也很好用,在win下,nbtscan+ip范围即可,如:(我机子的IP是172.17.27.199,子网掩码是255.255.255.0,下面的抓包会用到我的IP查找相应的数据包)



很快就能得到周围的主机的信息了,那么,这里就有疑问了,它是怎么实现的呢,显然由于有MAC地址,估计跟ARP协议有关。


打开抓包工具一看就知道了,用Wireshark,于是,我抓到了这样的信息:





果然跟ARP协议有关,就相当于遍历每个IP,使用ARP广播发相关的信息,然后接收到的主机便回复我的机子,那么对方的IP还有MAC地址我就会知道了,上图中倒数第二个数据包便是172,.17.27.193的ARP回复消息。


好了,那么接下来,又有问题了:ARP协议根本没有主机名这一项啊!


相信你也应该发现了,就是上图中淡黄的那一行,nbtscan在得到对方的IP还有MAC后,遍紧接着发送一个NBNS协议数据包,得到了对方的主机名(关于NBNS,在这http://baike.baidu.com/view/1403776.htm)


总结下这个工具的运行流程:

  1. 遍历输入的IP范围,以广播MAC地址发送ARP查询
  2. 一旦接收到ARP回复,遍记录相应的IP与MAC地址,同时向对方发送NBNS消息查询对方的主机信息
  3. 打印出每条信息


好了,这个工具还是挺棒的,原理也很简单,改天自己也实现下,仅以此祭奠我那悲催的网络考试。。。


http://chatgpt.dhexx.cn/article/6neYERyW.shtml

相关文章

nbtscan在windows和linux下编译

nbtscan在windows和linux下编译 windows下载编译 linux下载编译 参考文章 windows 下载 http://unixwiz.net/tools/nbtscan-source-1.0.35.zip解压之后,修改nbtscan.c的66行include "getopt.i"为include "getopt.h" 修改nbtscan_common.h为li…

内网探测(主机存活、端口、Web资产)

内网探测(主机存活、端口、Web资产) 当我们能访问到目标内网任何资源之后,我们就可以对目标内网进行更深层次的信息搜集,比如:主机收集、IP 段搜集、端⼝开放服务、Web资产数量、漏洞类型 0x01. nbtscan 介绍&#xff…

入侵检测——nbtscan(扫描篇)

目录 环境介绍工具简介数据包规则 环境介绍 NAT模式: kali攻击方win7受害者Metasploitable受害者 工具简介 一个在本地或远程TCP/IP网络上扫描开放的NETBIOS名称服务器的命令行工具。它基于Windows系统的nbtstat工具的功能实现,但它可在许多地址上运…

delphi生成一个随机序列号

varFGuid: TGUID;beginCreateGUID(FGuid);edit1.Text : GUIDToString(FGuid);edit1.Text : edit1.Text IntToStr(Length(edit1.Text));edit1.Text : Copy(GUIDToString(FGuid), 2, 36);end; 测试通过

delphi2007 注册码

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴! 执行 Setup.exe 文件安装 Delphi 2007 for…

linux 磁盘序列号修改,一个小程序:Linux下取得硬盘的序列号

最近给朋友帮忙,遇到一个问题:如何在Linux取到硬盘的序列号?目前网上说的方法大都是Windows 下用Delphi、C#等工具开发的。如何用ANSI C来实现呢?其实C在做这种底层事情方面比Delphi和C#都要容易的。下面这个函数就是取得硬盘序列…

win7读取linux硬盘序列号,Windows 下获取硬盘序列号

只获取序列号 以下任意一条命令都可以: wmic diskdrive get serialnumber wmic path win32_physicalmedia get SerialNumber wmic path Win32_DiskDrive get SerialNumber 运行结果: 获取硬盘的更多信息 wmic diskdrive get Name, Manufacturer, Model, InterfaceType, Media…

Delphi dbgrideh序号

数据库里面的数据没有序号的数据,在dbgrideh上新增一列自定义其字段,例如:id 在编码的开头定义i,为integer 在dbgrideh控件上的‘OnDrawColumnCell’事件下写下代码 procedure TForm1.number(Sender: TObject; const Rect: TRect;…

安装delphi 10.4 社区版

事先说明:由于delphi的服务器是在国外的,所以,有条件的你懂的 下载安装程序 去 https://www.embarcadero.com/cn/products/delphi/starter 下载安装程序 点击 get community edition free 填写信息,注册账号,成功之后它将会把免费使用的序列号发送到你所填写的邮箱里面,之后会…

Delphi7安装及补丁安装详解

在学习Delphi之前,我们要先安装开发环境,博主这里以Delphi7镜像作为安装实例,希望在Delphi学习之路上能给予大家一点帮助。接下来就让我们一起来走一遍这个安装过程。 ⑴双击Delphi7镜像文件,镜像文件会在DVD驱动器中打开 ⑵ 双击…

nginx Proxy 代理

1、代理原理 反向代理产生的背景: 在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担…

python-proxy

代码: # -*- coding: utf-8 -*- # Time : 2020/4/15 17:44 # Author : Oneqq # File : 11.proxy.py # Software: PyCharmfrom urllib.request import Request, urlopen from fake_useragent import UserAgent from urllib.request import ProxyHandler, build_open…

but was actually of type 'com.sun.proxy.$Proxy7'

but was actually of type ‘com.sun.proxy.$Proxy7’ 标签(空格分隔): spring 二月 11, 2018 12:24:02 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh 信息: Refreshing org.springframework.…

Ubuntu Proxy

2019年3月5日15:52:14(3[▓▓] 晚安Ubuntu 环境下的代理配置 在公司有代理的情况下上网,很多时候需要给一些命令单独设置代理。# 注:这里假设 10.111.10.18:80 为你的上网代理ip设置基本代理 1、打开Settings -> Network -> Network Proxy 设置为…

Linux--Configure Proxy

ProxyChains遵循GNU协议的一款适用于linux系统的网络代理设置工具。强制由任一程序发起的TCP连接请求必须通过诸如TOR 或 SOCKS4, SOCKS5 或HTTP(S) 代理。支持的认证方式包括:SOCKS4/5的用户/密码认证,HTTP的基本认证。允许TCP和DNS通过代理隧道&#x…

proxy(代理)用法

1、什么是Proxy? Proxy 也就是代理,可以帮助我们完成很多事情,例如对数据的处理,对构造函数的处理,对数据的验证,说白了,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必…

什么是 Proxy ?

一、写在前面 Proxy的意思是代理,我们可以把它理解为一个拦截器,就是当我们操作对象时,它都会对对象的操作进行拦截,从而进行监测和改写。 为什么要存在Proxy? 因为在ES6之前,我们使用Object.defineProperty()来设置监…

DataTable的AcceptChanges()方法和DataRow的RowState属性

这个属性是一个只读属性的枚举类型,一共有五个值,Detached,Unchanged,Added,Deleteed,Modified, 属性名值备注Detached1已创建该行,但是该行不属于该表,要么刚刚创建该行…

AcceptChanges()和RejectChanges()原理

AcceptChanges()和RejectChanges()原理 今天我遇到一个题目,是关于AcceptChanges()和RejectChanges()方法的,考虑到可能很多人不清楚这些概念。 所以拿出来讲讲。由这个问题我们也深入了解一下这两个方法。 为了不在显示略文时显示出代码来,我…

AcceptChanges()和RejectChanges基础题,你能做吗?(转)

今天我遇到一个题目,是关于AcceptChanges()和RejectChanges()方法的,考虑到可能很多人不清楚这些概念。 所以拿出来讲讲。由这个问题我们也深入了解一下这两个方法。 为了不在显示略文时显示出代码来,我就在刚开始多打一点字了。呵。。。 题目…