2000与XP网络登录差异对比

提到Windows系统的网络登录,一般我们首先想到的是3389登录,也就是通过终端连接服务器登录目标机器。但是,你可能还不是十分清楚,Windows系统之间的网络登录其实大部分是通过139端口进行的。这是由SMB/CIFS协议所规定的,客户端通过139建立连接,发送用户名和密码到服务器端,服务器端在139端口监听,接受到客户端的请求后,检查接收到的用户名和口令,如果错误,则拒绝连接,如果正确,则给予客户端相应的权限,这就是Windows最基本网络登录过程。

  上面的说法你可能会觉得很抽象,实质上,这个登录过程我们可以形象的把它看作目标机器建立IPC连接。你执行的net use命令跟机器建立IPC连接,就是通过139发出请求,如果你的net命令里所使用的用户是Administrators组的,则建立成功后目标机器会给你的IPC连接Administrators权限,如果是Guest的权限,当然,如果是用空连接,那得到的权限是微不足道的了。

  关于IPC的小知识:IPC是Internet Process Connection的缩写,也就是远程网络连接。它是Windows NT/2000/XP特有的一项功能,就是在两个计算机进程之间建立通信连接。然后,一些网络通信程序的通信可以建立在IPC上面。打个比方,IPC连接就像是挖好的地道,然后我们用程序通过地道访问远程主机。默认情况下,IPC是共享的,也就是说微软已经为我们挖好了这个地道(IPC)。建立IPC连接需要什么条件呢?首先自己的系统应该是WinNT以上的,Windows 98不可以,因为Win98网络管理这方面的功能很少,Windows 98没有IPC,IPC是Windows NT和Windows 2K/XP/2003才有的。

  OK,理解了IPC连接,我们再深入一步,其实IPC也是一种共享资源,只不过比较特殊罢了,我们用net use建立IPC连接的时候,说白了,就是用我们所掌握的用户名和口令申请对方的IPC共享资源。同样的,我们用net use命令映射对方磁盘的时候,也是用我们掌握的用户名和口令申请对方磁盘共享资源。所以,net use这个命令不管你申请IPC资源还是磁盘资源,都通过139端口先进行网络登录,然后进行的。

  网络登录过程基本上就这样了,我们继续深入,看一下网络登录获得的权限问题。首先要说一下,在这权限问题上,Windows 2000系统和Windows XP系统的处理是不同的。

  先来看Windows 2000。Windws 2000系统做得比较实在(呵呵,怎么这么说呢?),Windows 2000系统完全是按照你提供的用户名和口令赋予登录权限的,也就是你用超级用户登录(就是建立连接了),那你就可以得到超级用户的连接权限,你用Guest登录,你得到Guest的连接权限,而你用空连接的话,那得到的权限就象前面说的,微不足道。
  再来看Windows XP,这就跟Windows 2k系统不同了。默认的Windows XP系统不是根据你提供的用户名和口令来赋予登录权限的。这点你可以在Windows XP系统的帮助里面找到,如图所示(如图)。Windows XP的网络登录有两种模式可用:“典型”和“仅来宾”,详细的解释如下:  

  

Windows XP系统的帮助

  如果将登录模式设置为“典型”则登录过程中使用客户提供的用户进行登录,登录成功后具有这个用户的权限。如果设置为“仅来宾”,则登录过程中不论是用什么用户登录,如果登录成功,则自动映射到“来宾”帐户,也就是只有Guest用户的权限,简单的说,Windows XP网络登录所获得的权限取决于系统的设置,如果为“典型”,那么你可以获得你所拥有用户的相应权限,如果你有超级用户,那么取得的权限就是超级用户权限,而如果为“仅来宾”,那么无论你用什么用户权限,即使是超级用户,建立连接后得到的只能是Guest权限,很不幸的是,Windows XP系统默认设置是“仅来宾”。

  网络登录的权限问题搞清楚了,下面我们扩展一下,当我们去请求目标机器的资源的时候都需要什么权限,IPC$很简单,在目标系统默认设置下,无论Guest用户,Administrator用户,甚至NULL,都可以进行登录,而磁盘资源则不同,默认设置下,只能用Administrators组的用户登录,也就是只能超级用户权限映射磁盘。

  现在网络登录已经讲的差不多了,下面看一下一个具体的问题,以下是一个朋友在论坛上发的帖子:局域网中,对方使用XP,打开了139端口,我用对方机器上的超级用户IPC连接(密码和用户名都肯定正确),提示成功,想用net use z:ipd$这个命令映射对方的D盘,却老是提示用户名和密码不正确,就算我把正确的用户名和密码输进去,还是不行。这是为什么啊??

  有了前面我所介绍的基础,现在我们完全可以来回答这个问题了,对方是Windows XP系统,有了正确的超级用户的口令,用这个口令建立IPC连接成功,可是映射磁盘不成功,原因就出在Windows XP的“仅来宾”的默认设置上,不管你用什么口令登录,都是Guest权限,而映射磁盘必须是Administrator权限,所以,磁盘根本无法映射成功,IPC可以连接成功,是因为建立IPC连接不需要什么特别的权限,任何用户口令甚至为NULL都可以。

  下面我们来总结一下,默认设置下,Windows 2000系统只要你有超级用户的权限,就可以获取目标的任何共享资源,Windows XP系统则不同了,因为默认设置是“仅来宾”,所以,无论你用什么用户登录,即使你有超级用户的口令,但登录后得到的权限仅仅是Guest。

(0)

相关推荐

  • 2000与XP网络登录差异对比

    提到Windows系统的网络登录,一般我们首先想到的是3389登录,也就是通过终端连接服务器登录目标机器.但是,你可能还不是十分清楚,Windows系统之间的网络登录其实大部分是通过139端口进行的.这是由SMB/CIFS协议所规定的,客户端通过139建立连接,发送用户名和密码到服务器端,服务器端在139端口监听,接受到客户端的请求后,检查接收到的用户名和口令,如果错误,则拒绝连接,如果正确,则给予客户端相应的权限,这就是Windows最基本网络登录过程. 上面的说法你可能会觉得很抽象,实质上,

  • Windows 2000、XP、2003登录密码恢复攻略

    一.删除SAM文件,清除Administrator账号密码 二.从SAM文件中查找密码        1.L0phtCrack (LC)        2.LCP        3.SamInside pro 三.用Net User命令恢复系统登陆用户密码 四.用密码重设盘设新密码 五.修改屏保文件法 六.使用软件修改密码 Windows XP 2000 NT Password Recovery Key CleanPwd Offline NT Password & Registry Editor

  • Windows XP网络故障修复的步骤

    What actions occur when I click Repair on a network connection in Windows XP and later? A.If you right-click a network connection and select Status, Windows displays information about the connection's speed, duration of connection, and packet activit

  • js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)

    复制代码 代码如下: //获得客户端操作系统(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008) function GetOSInfo(){ var _pf = navigator.platform; var appVer = navigator.userAgent; if(_pf == "Win32" || _pf == "Windows") { if(appVer.indexOf("WOW64")>

  • Python自动化运维_文件内容差异对比分析

    模块:difflib 安装:Python版本大于等于2.3系统自带 功能:对比文本之间的差异,而且支持输出可读性比较强的HTML文档,与Linux中的diff命令比较相似. 两个字符串的差异对比: #import difflib #text1=''' #hello world. #how are you. #nice to meet you. #''' #text1_lines=text1.splitlines() # 以行进行分割,便于进行对比 #text2=''' #Hello World.

  • Python3实现配置文件差异对比脚本

    应用场景:配置文件由于升级改动了,我们想看看升级后的配置文件相对于之前的改动了哪些配置项 注意:这个脚本只能检测的配置文件是键值对的形式,就是key=value的形式 我在网上找了好久没找到这一块的案例,大部分都是用一些difflib库做的可视化对比,所以自己尝试写了一个 # 该脚本实现两个配置文件中,新文件相对于旧文件的增删改的配置项输出功能 # 配置文件必须是key = value的形式 import re import sys def data2list(file_stream): "&q

  • LyScript实现内存交换与差异对比的方法详解

    目录 内存区域交换 内存区域对比 内存与磁盘机器码比较 内存ASCII码解析 内存特征码匹配 LyScript 针对内存读写函数的封装功能并不多,只提供了内存读取和内存写入函数的封装,本篇文章将继续对API进行封装,实现一些在软件逆向分析中非常实用的功能,例如内存交换,内存区域对比,磁盘与内存镜像比较,特征码检索等功能. LyScript项目地址:https://github.com/lyshark/LyScript 内存区域交换 实现被加载程序内特定一块内存区域的交换,该方法实现原理就是两个变

  • 巧改注册表 实现Windows XP自动登录

    每次进入Windows XP桌面前,总会出现一个用户登录的画面,要求输入用户名和密码.这样做的好处是在多人使用一部电脑的环境中安全性有保障.不过,如果电脑只是你一个人使用,每次都必须输入密码,实在是令人讨厌.要取消这个登录步骤,可以通过修改注册表文件中的Winlogon项目来实现.但在修改之前有必要提醒大家,这样做的后果是你的密码会以纯文本的形式存放于注册表文件中.换句话说,只要有人能够打开你的注册表文件,那他就会知道你的登录密码.了解这些情况后,如果仍想改动的话,可按以下步骤操作: 第1步:运

  • SeaJS 与 RequireJS 的差异对比

    "历史不是过去,历史正在上演.随着 W3C 等规范.以及浏览器的飞速发展,前端的模块化开发会逐步成为基础设施.一切终究都会成为历史,未来会更好."--引用玉伯原文最后一段话,我个人也非常赞同.既然谈到了"未来",我个人认为:前端 js 模块如果继续发展,其模块格式很可能会成为未来 WEB 一种标准规范,产生多种实现方式.就好比 JSON 格式一样,最终成为标准.被浏览器原生实现. 谁更有能成为未来的异步模块标准?SeaJS 遵循 CMD 规范,RequireJS 遵

  • Js与Jq 获取页面元素值的方法和差异对比

    JS与Jquery 都能获取页面元素的宽度,高度和相对位移等数值,那他们之间能相互转换或替代吗,写法又有哪些差异呢?本文将详细为你介绍. 1.Js获取浏览器高度和宽度 document.documentElement.clientWidth ==> 浏览器可见区域宽度 document.documentElement.clientHeight ==> 浏览器可见区域高度 document.body.clientWidth ==> BODY对象宽度 document.body.client

随机推荐