我正在编写一个C程序来搜索本地网络上的smb共享并装载它们。
为了获得找到的smb服务器的主机名,我向服务器发送了一个udp-nbns数据包。
数据包是正确的,服务器会回复。
我正在使用wireshark来检查这个。
我将我发送的数据包与nbstat发送的数据集进行了比较,还比较了服务器返回的数据包。
id和校验和的例外情况它们是相同的。
当我使用nbstat进行请求时,回复数据包会被正确接收,但对我自己数据包的回复可能会被防火墙阻止。
在接收到来自服务器的回复后,客户端机器向服务器发送一条icmp“Destination unareachable(Port unareachabled)”消息。
我怀疑是我的防火墙发送的。
这是wireshark的输出
编号时间源目的地协议长度信息
12 29.870065 192.168.1.245 192.168.1.21 NBNS 92名称查询NBSTAT*<00>&书信电报;00.......
13 29.870494 192.168.1.21 192.168.1.245 NBNS 253名称查询响应NBSTAT
14 29.870559 192.168.1.245 192.168.1.21 ICMP 281目标不可达(端口不可达)
我应该怎么做才能让答复通过?