IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> UEFI网络调试(一) -> 正文阅读

[网络协议]UEFI网络调试(一)

UEFI网络调试根据你使用的虚拟环境和是否使用虚拟系统的不同可以有不同的方法。
如果使用VirtualBox或者QEMU的话要看具体虚拟的网卡设备,要加载相应的驱动。
如果是在另外的虚拟机系统里面搭建的环境,访问网卡需要使用桥接的方法。

由于我的目的只是为了研究一下UEFI 网络。所以选取了系统下NT32模拟器下面调试网络的方式。
这其中参考了luobing的文章。
https://blog.csdn.net/luobing4365/article/details/105036585?spm=1001.2014.3001.5501

  1. 下载并安装Winpcap。

Winpcap是一款用于网络抓包的专业软件,是一个免费、公共的网络访问系统。它能为win32应用程序提供访问网络底层的能力,在模拟器中,相当于网卡的驱动。下载地址为:

https://www.winpcap.org/default.htm。

  1. 下载SnpNt32Io源码并编译

代码可以从github上下载:https://github.com/tianocore/edk2-NetNt32Io。在C盘下建立文件夹NetNt32Io,并将源代码拷贝进去。

下载Winpcap的开发包WpdPack,下载地址:https://www.winpcap.org/devel.htm。下载后将WpdPack的压缩文件解压,复制到C:\NetNt32Io目录下。

打开Visual Studio的命令行(与编译UEFI代码的命令行相同),进入到源码目录,输入如下命令:

C:\NetNt32Io> nmake TARGET=RELEASE

NetNt32Io文件夹中会自动生成目录Release_IA32,将此目录下的SnpNt32Io.dll拷贝到UEFI模的根目录下。

C:\NetNt32Io>copy /y c:\NetNt32IoRelease_IA32\SnpNt32Io.dll
c:\MyWorkspace\Build\NT32IA32\DEBUG_VS2015x86\IA32\

  1. 启动Nt32模拟器。启动的方法很多,我比较习惯的是直接在目录下点击SecMain.exe执行文件,启动模拟器。

  2. 进入UEFI Shell,加载网络协议。

Shell> fs0:
FS0:> load SnpNt32Dxe.efi MnpDxe.efi ArpDxe.efi Ip4Dxe.efi VlanConfigDxe.efi Udp4Dxe.efi Dhcp4Dxe.efi Mtftp4Dxe.efi Tcp4Dxe.efi

  1. 配置网卡

我所工作的环境是通过dhcp动态分配IP地址的,使用ifconfig命令设置:

FS0:>ifconfig -s eth0 dhcp

也可通过以下命令设置为静态IP地址:

FS0:>ifconfig -s eth0 static 192.168.1.188 255.255.255.0 192.168.1.1

也即设置静态的IP地址,子网掩码和网关的IP地址。当然,读者也可根据自己的网络情况自由配置,包括dns地址在内都可以指定,具体的用法可通过命令“ifconfig -? -b”查找。 IP地址是否分配成功,可通过命令“ifconfig -l eth0”查看。
在这里插入图片描述

  1. 测试网络连接

通过ping命令可以测试网络连接情况,截图如下:
在这里插入图片描述
以上都是参考luobing的文章。
其中出现了几个问题。

1.测试过程中,发现如果不装winpcap,ifconfig命令,ping都无法执行。应该相当于没有设备的原因。
2.NetNt32Io无法编译。这个问题我暂时没有解决,只是请求luobing大神提供了一份之前编译好的。可能是编译匹配的问题。后续研究。
3.公司网络笔记本IP和wifi始终无法ping成功。用家庭的台式机+家庭网络可以正常ping。可能网络问题。暂时不清楚rootcause.
4.家庭网络也要注意关掉防火墙,否则也是无法ping成功的。

#另外注意的一个问题是,默认的UEFI环境会生成两个网卡,看MAC地址发现
本机MAC + 1 = NT32 MAC
配置IP的时候要对应。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-19 12:24:57  更:2021-08-19 12:25:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:34:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码