分类 Windows 下的文章

最近研究了下 Windows 的共享设置,目的是在同一局域网下共享文件夹给其他设备读写。下面从原理和实际操作上介绍下共享过程。

SMB

Windows 共享使用 Server Message Block (SMB) 协议,它可以让应用程序访问本机网络下的其他设备的文件及服务。

SMB 是 IBM 在 1980 年代创造的协议,目前已经有了很多的升级及分支。

SMB 协议允许应用程序访问远程主机的文件和资源如打印机等,也可以同远程主机上设置了接收 SMB 协议的应用程序通信。它运行在网络的 layer 7 层,也就是 application 应用层,使用 TCP/IP 的 445 端口传输数据。

从 Windows 95 开始,微软将引入了 SMB 协议的支持。Linux 端,samba 作为一个开源软件提供 SMB 的支持。

阅读全文


Microsoft store 里都是 UWP 应用,运行在被称为 App Container 的虚拟沙箱环境中,其安全性及纯净度远胜于传统的 EXE 应用。但 App Container 机制同时也阻止了网络流量发送到本机(即 loopback), 使大部分网络抓包调试工具无法对 UWP 应用进行流量分析。该机制也阻止了 UWP 应用访问 localhost,如果你的代理地址在本地地址,UWP 就无法访问。

有两种方法来解除某个 UWP 应用的沙盒隔离,一种是使用系统自带的工具 CheckNetIsolation,一种是使用第三方工具 fiddler

CheckNetIsolation

Windows 10 自带了一个 CheckNetIsolation 工具,可以解除 UWP 应用的网络隔离,使之可以正常访问本地地址在终端执行以下指令即可:

CheckNetIsolation.exe loopbackexempt -a -p=SID

SID(security identifier) 是每个 UWP 应用独有的识别码,可以从注册表中获得应用的 SID 码。

阅读全文


今天安装了 Ubuntu 虚拟机用来做 node.js 开发,在选择网络模式时我选择了 NAT 模式,因为这样可以在主机处于不同网络环境下使虚拟机都有着同一个 IP 地址,方便管理。

但是在此时中发现,虚拟机可以正常访问主机及外网,但是主机无法通过分配的 NAT 地址来 ssh 访问虚拟机。查询后发现这是正常现象。可以通过设置端口转发来将虚拟机端口映射到主机端口来实现对虚拟机的访问。

阅读全文