目录
这是 NetBIOS 名称服务协议实现的一个示例。
组件
硬件组件
项目描述
GitHub 链接 : WIZnet-PICO-C/examples/netbios at main · WIZnet-ioNIC/WIZnet-PICO-C · GitHub
NetBIOS简介
NetBIOS 是一种软件接口和相关协议,可促进网络上计算机之间的通信。它最初是为 LAN 环境设计的,提供文件共享、名称解析和会话管理等功能。NetBIOS 主要用于 Windows 网络,并通过称为 TCP/IP 上的 NetBIOS 的实现在 TCP/IP 上运行。
如何测试 NetBIOS 示例
设置板配置
在WIZnet-PICO-C/目录下的CMakeLists.txt中设置W55RP20_EVB_PICO的安装板:
# Set board #set(BOARD_NAME WIZnet_Ethernet_HAT) #set(BOARD_NAME W5100S_EVB_PICO) #set(BOARD_NAME W5500_EVB_PICO) set(BOARD_NAME W55RP20_EVB_PICO) #set(BOARD_NAME W5100S_EVB_PICO2) #set(BOARD_NAME W5500_EVB_PICO2)
设置网络设置
设置网络配置,例如“w5x00_netbios.c”中的 IP,这是“WIZnet-PICO--C/examples/netbios/”目录中的 NetBIOS 示例:
/* Network */ static wiz_NetInfo g_net_info = { .mac = {0x00, 0x08, 0xDC, 0x12, 0x34, 0x56}, // MAC address .ip = {192, 168, 11, 2}, // IP address .sn = {255, 255, 255, 0}, // Subnet Mask .gw = {192, 168, 11, 1}, // Gateway .dns = {8, 8, 8, 8}, // DNS server .dhcp = NETINFO_STATIC // DHCP enable/disable }; #define NETBIOS_BOARD_NAME "W55RP20" /*Define the NetBIOS name*/ #define NETBIOS_PORT 137 /*The default port for the NetBIOS name service*/
构建并运行
如果 NetBIOS 示例工作正常,您可以看到网络信息:
在 PC 中发送 search netbios 命令:
# Linux nmblookup -U 192.168.11.2 W55RP20
如果 Raspberry Pico、W5100S-EVB-Pico、W5500-EVB-Pico、W55RP20-EVB-Pico、W5100S-EVB-Pico2 或 W5500-EVB-Pico2 上的搜索命令名称和名称正确,您可以在终端上看到接收名称:
您可以在 wireshark 日志中看到 NBNS 数据包: