NetBIOS名称 Network Basic Input/Output System  (RFC-1001,1002)网络基本输入/输出系统协议

NetBIOS是一种高级网络接口,最初是在硬件中实 现的。NetBIOS应用程序要建立一种名为“网络控制块”( Network Control Block,NCB)的数据结构,然后发出一个 BIOS函数调用,以便将NCB的内容发送给网络适配器。 Windows Server 2003通过一个NetBIOS模拟程序来提供对 NetBIOS应用程序的支持。这个模拟程序捕捉BIOS调用,并将 其转换成网络函数调用。NetBIOS最先是由Sytec Inc.在1983 年为IBM公司开发的,后来成为了PC网络接口的一种事实性的 标准。与此同时,IBM和Microsoft又和3Com一起开发了网络 命令语言,它最终演变为SMB(Service Message Block,服 务消息块)。SMB应用程序的早期版本都将NetBIOS用作网络 接口,将NETBEUI(NetBIOS扩展用户接口)用作传输协议。目前主要用于对等网模式中 的资源访问。 NetBIOS是基于NETBEUI协议进行通信的,它只能用于 Windows操作系统,不能用于Linux、UNIX等系统。

NetBIOS提供了资源的网络标识名,如工作组名、计算机名 等,并可以用这些名称访问资源。 当我们使用网上邻居或UNC地址中的名字访问网络中的计算 机时,使用的就是NetBIOS。

NetBIOS不能路由,所以使用NetBIOS只能访问同一网段中的计算机。

NetBIOS名字 NetBIOS名字由16个字节组成,其中前15个字节由用户指 定,第16个字节作为名称后缀,指定一种服务。

NetBIOS名字中只能包含字母、数字和连线-,长度不能超 过15。 一台计算机可以有多个NetBIOS名字,可以用“nbtstat -n” 命令进行查看。

用NetBIOS名字访问网络时使用的是UNC地址,该地址的 格式是: \\NetBIOS名字\路径 其中NetBIOS名字也可直接用IP地址代替。

NetBIOS的名字解析 与域名一样,用NetBIOS名字不能直接访问计算机, 必须把它解析为IP地址才能访问。 解析方法主要有两种: 1、在网络中发送广播进行查询; 2、利用WINS服务器进行解析。 另外,在本地计算机中有NetBIOS缓存,可保存最近 查询过的结果。 用户还可以手工创建Lmhosts文件进行解析。

NetBIOS提供三种不同的服务:

名字服务:名字登记和解析
会话服务:可靠的基于连接的通信
数据包服务:不可靠的无连接通信
当NetBIOS是数据链路层协议时,可以通过5Ch中断访问其功能。传递给这些函数的消息使用NCB格式。
NetBIOS和NetBEUI被设计为仅仅用于局域网,因此不支持路由,并且最多只能处理72个节点或者设备。NetBIOS和NetBEUI经常使用广播实现,尤其是名字服务的相关操作。
NBT使用一个或多个NBNS(NetBIOS Name Server(s))将名字服务扩展到多个子网。NBNS是动态DNS的一种,Microsoft的NBNS实现称为WINS。另外,为了将虚拟的NetBIOS网络扩展到多个IP子网,WINS标准还引入了一个或者多个NBDD(NetBIOS Datagram Distribution) 服务器。不幸的是,微软的NBDD实现从来没有工作过。
wins
 Windows Internet命名服务(Windows Internet Name Service,WINS)为注册和查询网络上计算机和用户组 NetBIOS名称的动态映射提供分布式数据库。WINS将 NetBIOS名称映射为IP地址,并设计以解决路由环境的 NetBIOS名称解析中所出现的问题。WINS对于使用TCP/IP 上的NetBIOS 路由网络中的NetBIOS名称解析提供了最佳 选择。 ? WINS可以减少使用NetBIOS名称解析的本地IP广播,并允 许用户很容易地定位远程网络上的系统。因为WINS注册是 在每次客户启动并加入网络时自动执行,所以WINS数据库 在进行更改动态地址配置时会自动更新。例如,当DHCP服 务器将新的或已更改的IP地址发布到启用WINS的客户计算 机时,将更新客户端的WINS信息。这不需要用户或网络管 理员进行手动更改。 10.2.2.WINS的组成 典型的WINS系统由WINS服务器和WINS客户端两部分组成。WINS服务器 负责收集WINS客户端的注册信息,对WINS数据库进行维护和管理。WINS客户端在 启动时将自己的NetBIOS计算机名和IP地址注册到WINS服务器中。在网络系统中 ,还可能存在非WINS客户机,如Linux计算机等,如果WINS服务器和WINS客户机 处在不同的子网,那么,还需要配置WINS代理(WINS Proxy),类似第九章介绍 过的DHCP中继代理。如图所示。 10.2.3. WINS的工作过程 WINS在基于TCP/IP的网络中简化管理了NetBIOS的名称空间。WINS客户 端启动时,会向WINS服务器注册自己的计算机名称(注意:与第八章介绍的主机 名不同),即NetBIOS名称与对应的IP地址添加到数据库中,这是WINS服务器的注 册过程。WINS客户机在每次启动时都要在WINS服务器中注册一次,所以WINS服务 器中数据库总是能够保持最新。 WINS的工作过程 当WINS客户端之间需要进行通信时,它们首先需要 通过名称解析知道对方的IP地址,在WINS系统中解析工作由 WINS服务器完成。当WINS服务器收到WINS客户端的通信请求 后,会自动从本地数据库中查询对方计算机名和IP地址,并 将其提供给请求通信的WINS客户端,完成名称的解析。
LLMNR
 LLMNR为使用IPv4、IPv6或者同时使用这两种地址的设备提供了点对点名称解析服务,可以让同一子网中的IPv4和IPv6设备不需要WINS或DNS服务器就可以解析对方的名称,而这个功能是WINS和DNS都无法完全提供的。虽然WINS可以为IPv4提供客户端-服务器以及点对点名称解析服务,不过并不支持IPv6地址。至于DNS,虽然支持IPv4和IPv6地址,但必须通过专门的服务器才能提供名称解析服务。LLMNR通过在DNS名称解析服务不可用时提供解析服务,弥补了DNS的不足。

netbios wins dns LLMNR的更多相关文章

  1. NetBIOS名称欺骗和LLMNR欺骗

    目录 LLMNR和NetBios 攻击原理 Responder 攻击过程 LLMNR和NetBios 什么是LLMNR和NetBIOS名称服务器广播? 当DNS名称服务器请求失败时,Microsoft ...

  2. Windows server 2003 WINS的配置和使用详解

    NetBios名称概述 网络中的一台计算机可以使用NETBIOS和DNS两种命名方式为其命名,在NETBIOS标准中,使用长度不超 过16个字符的名称来惟一标识每个网络资源,用于标识资源或服务类型.在 ...

  3. DNS笔记 DNS区域集成到 Active Directory

    可以将 DNS 区域集成到 Active Directory 中以提供增强的容错功能和安全性.OpenDNS   Google Public DNS往返时间 (RTT) 远程访问服务 (RAS)域名与 ...

  4. jcifs windows 域账户单点登录(转)

    1.首先从http://jcifs.samba.org 这个站点下载 jcifs-1.3.2.jar包. 2.把这个包放到相应的lib文件下面. 3.对web.xml文件进行配置,添加如下内容 < ...

  5. 从浏览器输入URL到页面渲染的过程

    零.背景 一个web安全工程师在学习web安全和web渗透时候,非常有必要了解整个WEB工作过程. 一.输入URL 这里是最基本的知识:URL是URI的一种实际应用,URI统一资源表示符,URL统一资 ...

  6. samba实现跨平台文件共享

    前言:Linux/Unix主机之间实现文件共享我们可以使用NFS,那么,Linux/Unix和Windows主机之间共享文件怎么实现呢,samba就是解决这个问题的. Windows网上邻居依赖的协议 ...

  7. Microsoft Windows Server DHCP

    Microsoft Windows Server DHCP DHCP IP地址第一个来源是DHCP服务器,第二个来源是PPP点对点协议(ADSL为PPPOE);DHCP是Dynamic Host Co ...

  8. Network Stack

    Network Stack 目录 1 Overview 2 Code Layout 3 Anatomy of a Network Request (focused on HTTP) 3.1 URLRe ...

  9. BlackArch-Tools

    BlackArch-Tools 简介 安装在ArchLinux之上添加存储库从blackarch存储库安装工具替代安装方法BlackArch Linux Complete Tools List 简介 ...

随机推荐

  1. jsp get方式请求参数中包含中文乱码问题解决

    1. 自己接收到参数之后在后台进行转码处理 2: 修改tomcat的配置文件  server.xml <Connector port="8080" protocol=&quo ...

  2. iOS - Swift 面向对象语法

    1.面向对象 面向过程:面向过程编成将所要解决的问题按解决问题的步骤进行分析.如果是大问题,就分解成为多个不同的小问题,在程序里叫做划分成不同的模块.每一个解决的步骤可能是一行或者几行代码,也可能是一 ...

  3. Spring对hibernate的事物管理

    把Hibernate用到的数据源Datasource,Hibernate的SessionFactory实例,事务管理器HibernateTransactionManager,都交给Spring管理.一 ...

  4. HDU5807分段dp

    DAG图. [题意] n(50)个城市m(c(n,2))条单向边(x,y),保证x<y 对于三个点(x,y,z)如果abs(w[x]-w[y])<=K && abs(w[x ...

  5. nodejs学习笔记<一>安装及环境搭建

    零零散散学了几天nodejs,进度一直停滞不前,今天沉下心来好好看了下nodejs的介绍和代码.自己也试着玩了下,算是有点入门了. 这里来做个学习笔记. ——————————————————————— ...

  6. js call与apply的区别-Tom

    .apply和.call方法是在函数原型中定义的两个方法(因此所有的函数都可以访问它)允许去手动设置函数调用的this值,他们用接受 的第一个参数作为this值,this 在调用的作用域中使用.这两个 ...

  7. 2014 Multi-University Training Contest 4

    1006 hdu4902 #include <iostream> #include<stdio.h> #include<vector> #include<qu ...

  8. windows 环境变量 %SystemDrive% 和 %SystemRoot%

    %SYSTEMROOT% == c:\windows (or the root windows directory) %SYSTEMDRIVE% == the drive windows is ins ...

  9. return

    return作为返回关键字,有以下两种意义的返回格式: 1,返回把握与函数成果:停止函数执行,返回调用函数,并且把函数的值作为返回成果. turn只能退出当前函数,如果多个函数嵌套就不行了,要想整个退 ...

  10. iOS--获取输入字符的第一个字母(汉字则获取拼音的第一个字母)

    - (NSString *)firstCharactor:(NSString *)aString { //转成了可变字符串 NSMutableString *str = [NSMutableStrin ...