交个朋友,长个技能🥎🤸🏼‍♂️

centos

windows下进行网络虚拟机开发一个重要文件是什么来着? 用于进行设置网络

在Windows下进行网络虚拟机开发时,一个重要文件是 虚拟网络编辑器配置文件,具体来说是:

主要配置文件:

  1. vmnetcfg.exe 或 虚拟网络编辑器(VMware)
    • 位置:C:\Program Files (x86)\VMware\VMware Workstation\vmnetcfg.exe
    • 用于配置VMnet0(桥接)、VMnet1(仅主机)、VMnet8(NAT)
  2. Virtual Network Editor(图形界面工具)

其他重要文件:

VMware 相关:

  • vmnetdhcp.conf – DHCP服务器配置文件
    • 位置:C:\ProgramData\VMware\vmnetdhcp.conf
  • nat.conf – NAT配置文件
    • 位置:C:\ProgramData\VMware\vmnetnat.conf

VirtualBox 相关:

  • VirtualBox.xml – 主配置文件
    • 位置:C:\Users\<用户名>\.VirtualBox\VirtualBox.xml
  • 网络设置通过GUI管理:File → Preferences → Network

Hyper-V 相关:

  • 虚拟交换机管理器
    • 通过Hyper-V管理器访问
  • PowerShell命令:powershellNew-VMSwitch -Name “网络名” -SwitchType Internal/External/Private

常用网络模式设置:

  • 桥接模式:虚拟机直接使用物理网络
  • NAT模式:虚拟机通过主机共享上网
  • 仅主机模式:虚拟机与主机组成独立网络

你使用的是哪种虚拟机软件?我可以提供更具体的配置指导。

我记得是个文本文件

你指的可能是 hosts 文件,这是Windows下一个非常重要的文本文件,用于网络设置和域名解析!

Windows hosts 文件

  • 位置C:\Windows\System32\drivers\etc\hosts
  • 作用:本地域名解析,优先级高于DNS

文件格式示例:

text

# 注释以 # 开头
127.0.0.1       localhost
::1             localhost

# 自定义域名映射
192.168.1.100   myserver.local
192.168.1.101   test.vm.local

在虚拟机开发中的用途:

  1. 本地开发环境映射text127.0.0.1 myapp.local 192.168.56.10 vm-nginx.local
  2. 测试域名解析
  3. 模拟不同域名访问
  4. 避免污染公共DNS

编辑方法(需要管理员权限):

cmd

# 方法1:记事本管理员打开
notepad C:\Windows\System32\drivers\etc\hosts

# 方法2:VSCode管理员打开
code C:\Windows\System32\drivers\etc\hosts

# 方法3:PowerShell
Add-Content -Path "$env:windir\System32\drivers\etc\hosts" -Value "`n192.168.1.100 myvm.local"

虚拟机网络开发相关文件:

还有这些文本文件也常用:

  • lmhosts:NetBIOS名称解析 (C:\Windows\System32\drivers\etc\lmhosts)
  • networks:网络名称映射
  • protocol:协议定义
  • services:端口服务定义

你说的应该是 hosts 文件吧?它在虚拟机开发中确实经常用来配置本地域名映射,方便访问虚拟机中的服务!

为什么有些网站我看着好像往我这个文件里边添加了数据?

你说得很对!确实有很多软件会悄悄修改你的hosts文件,这是很常见的现象。我来详细解释一下:

为什么软件会修改hosts文件?

1. 屏蔽广告或恶意网站

  • 安全软件(如360、火绒)
  • 广告屏蔽工具(如AdGuard)
  • 会添加类似这样的内容:text127.0.0.1 ad.doubleclick.net 127.0.0.1 tracking.analytics.com

2. 开发工具自动配置

  • 本地开发服务器(如XAMPP、WAMP)
  • 虚拟主机管理工具
  • Docker Desktop
  • 会添加:text127.0.0.1 localhost 127.0.0.1 myproject.test

3. 破解软件或游戏

  • 一些破解版软件会屏蔽验证服务器:text0.0.0.0 activation.adobe.com 0.0.0.0 license.microsoft.com

4. 系统优化工具

  • 号称能“加速访问”、“优化网络”
  • 实际上可能只是屏蔽了某些域名

5. 恶意软件/病毒

  • 重定向正常网站到恶意网站
  • 阻止你访问安全软件官网

如何检查和管理?

查看hosts文件内容:

powershell

# 查看完整内容
Get-Content C:\Windows\System32\drivers\etc\hosts

# 查看非本地主机条目
Select-String -Path "$env:windir\System32\drivers\etc\hosts" -Pattern "^(?!\s*#|127.0.0.1|::1)"

常见的可疑添加:

hosts

# 可疑的IP地址(非127.0.0.1或::1)
192.168.xxx.xxx   正常网站域名
10.xxx.xxx.xxx    常用网站

# 重定向搜索引擎
xxx.xxx.xxx.xxx   www.google.com
xxx.xxx.xxx.xxx   www.baidu.com

# 大量不认识的域名映射

安全建议:

  1. 定期检查hosts文件
  2. 使用可信的安全软件
  3. 注意安装软件时的选项(有些会问“是否修改hosts”)
  4. 备份原始hosts文件:powershellCopy-Item “$env:windir\System32\drivers\etc\hosts” “$env:windir\System32\drivers\etc\hosts.backup”

如果你发现可疑修改:

  1. 恢复默认:删除所有非必要内容,只保留:text127.0.0.1 localhost ::1 localhost
  2. 使用杀毒软件全盘扫描
  3. 检查最近安装的软件

你是发现了什么具体问题吗?比如某些网站打不开,或者被重定向到奇怪的地方?

它的原理又是什么呢?你比方说屏蔽广告或恶意网站,为什么会要加上一个127.0.0.1吗?127.0.0.1不是本地网站吗?而0.0.0.0.0,它又是一个什么网址呢?为什么破解软件会屏蔽这个?那系统优化工具,就是号称能加速网络优化网络。就是为什么会通过这个会屏蔽了某些域名,就能够加速呢?那重定向的恶意软件,就是重定向正常网站到恶意网站,他又是怎么做到的呢?

问得非常好!这些都是核心技术原理问题,我来一一详细解释:

1. 为什么用 127.0.0.1 屏蔽网站?

原理:

hosts

127.0.0.1 ad.doubleclick.net

工作机制

text

用户访问 ad.doubleclick.net
    ↓
系统先查 hosts 文件
    ↓
发现映射到 127.0.0.1(本地环回地址)
    ↓
浏览器向 127.0.0.1:80 发送请求
    ↓
本地没有广告服务器在监听
    ↓
请求失败(连接被拒绝或超时)
    ↓
广告加载失败!

为什么有效?

  • 127.0.0.1 是本机地址,请求根本不会发到外网
  • 即使本机有Web服务器,也通常不会响应广告请求
  • 成本最低的屏蔽方法

2. 0.0.0.0 又是什么?

hosts

0.0.0.0 license.microsoft.com

区别对比:

IP地址含义行为
127.0.0.1环回地址尝试连接本机,会有TCP握手过程
0.0.0.0无效地址/通配符立即失败,不尝试连接

技术细节:

python

# 127.0.0.1 的处理过程
1. DNS解析:返回 127.0.0.1
2. TCP握手:SYN → 127.0.0.1:443
3. 等待响应:通常超时(无服务监听)
4. 最终:连接超时错误

# 0.0.0.0 的处理过程(更高效)
1. DNS解析:返回 0.0.0.0
2. 系统识别:这是无效地址
3. 立即失败:返回"无效地址"错误
4. 结果:更快失败,节省资源

3. 破解软件为什么屏蔽验证服务器?

典型例子(Adobe激活):

hosts

0.0.0.0 activate.adobe.com
0.0.0.0 practivate.adobe.com
0.0.0.0 lmlicenses.wip4.adobe.com

原理:

text

破解软件启动
    ↓
尝试连接激活服务器
    ↓
DNS解析到 0.0.0.0(无效地址)
    ↓
连接立即失败
    ↓
软件认为:"服务器不可用,使用离线模式"
    ↓
使用内置的破解许可文件

4. 为什么”优化网络”能加速?

骗局原理:

hosts

# 所谓的"DNS优化"
127.0.0.1 tracking-analytics.com
127.0.0.1 telemetry.microsoft.com
127.0.0.1 stats.wp.com

真相:

  1. 减少请求数量:屏蔽了统计、遥测域名
  2. 错觉上的加速
    • 页面不用加载第三方追踪脚本
    • 减少了HTTP请求数量
    • 但实际网络速度没变
  3. 可能适得其反
    • 某些网站依赖这些域名
    • 可能导致功能异常

5. 恶意软件如何重定向?

攻击手法:

hosts

# 恶意修改
185.xxx.xxx.xxx www.google.com      # 假谷歌
185.xxx.xxx.xxx www.baidu.com       # 假百度
185.xxx.xxx.xxx online-banking.com  # 钓鱼网站

技术流程:

text

受害者访问 www.google.com
    ↓
hosts文件指向黑客服务器 185.xxx.xxx.xxx
    ↓
浏览器连接到黑客的假谷歌
    ↓
黑客服务器:
    1. 记录所有搜索关键词(隐私窃取)
    2. 插入恶意广告
    3. 或在结果中插入恶意链接
    4. 甚至模仿登录页面窃取账号

更高级的攻击:

hosts

# DNS缓存投毒+hosts修改组合攻击
1. 先修改hosts指向恶意DNS
2. 恶意DNS返回更多恶意IP
3. 形成连锁攻击

6. 为什么hosts优先级这么高?

Windows解析顺序:

graph TD
    A[应用程序请求域名] --> B{检查DNS缓存}
    B -->|无缓存| C[检查hosts文件]
    C -->|有映射| D[使用hosts中的IP]
    C -->|无映射| E[查询DNS服务器]
    D --> F[连接目标IP]
    E --> F

关键点:

  • hosts优先级 > DNS
  • 即时生效(有些应用需要重启)
  • 没有TTL限制(永久生效直到修改)

防御措施:

powershell

# 1. 设置hosts文件为只读(但可能被恶意软件解除)
attrib +R C:\Windows\System32\drivers\etc\hosts

# 2. 监控文件变化
Get-FileHash C:\Windows\System32\drivers\etc\hosts

# 3. 使用安全软件保护

总结:hosts文件是系统级的域名”裁判”,谁控制了它,谁就控制了你的网络访问第一关!这也是为什么安全软件和恶意软件都爱修改它的原因。

发表评论