我需要通过在服务器本身上运行的程序或者最好通过在其中一个DHCP客户端上运行的程序来获取存储在DHCP服务器上的MAC到IP的映射.
我知道netsh实用程序可用于获取转储但是我没有取得多大成功.
有任何工作实例或提示吗?
我有DHCP服务器的管理员权限
编辑
我不想使用arp缓存,因为这需要我广播ping(在Windows上不允许)或ping所有可能的子网IP地址(这需要很多时间).
我确信DHCP服务器存储MAC到IP的映射,我如何使用该信息,将MAC映射到IP地址?
我注意到,当我们通过 来创建防火墙规则时netsh advfirewall firewall
,它可以运行多次,从而创建多个相同的防火墙规则。
在尝试创建新规则之前,有没有办法检查防火墙规则是否存在?
ServiceHost.Open()
抛出这个错误:
HTTP无法注册URL http:// +:8001 /.您的进程没有此命名空间的访问权限(有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=70353).
所以我使用netsh添加网址.但事件虽然被添加,但我仍然得到错误.这是我使用的命令:
netsh http add urlacl url=http://+:8001/ user=djerryy
djerryy
是我的计算机名.当我运行netsh http show urlacl时,我看到它被添加了.
我究竟做错了什么?
提前致谢.
使用以下命令获取Windows-Winsock-AFD的信息级别跟踪非常容易:netsh trace start provider = Microsoft-Windows-Winsock-AFD TraceFile = my_ winsock_log3_trace.etl
生成的文件似乎不包括详细级别事件,例如"选择/投票已发布".我也尝试过:"netsh trace start provider = Microsoft-Windows-Winsock-AFD TraceFile = my_winsock_log3_trace.etl level = 5"没有帮助(同级事件)
有没有人能够以详细的方式启动winsock跟踪?
谢谢
我的Web应用程序项目包含在单个IIS Express站点的保护下提供的多个Web站点.我成功地遵循了Scott Hanselman的优秀博客文章,并且IIS Express成功地从同一个Web应用程序根目录提供了http://foo.local和http://bar.local.
但是,我需要两个站点都支持SSL.根据Hanselman的建议,我可以创建一个SSL证书并将其"附加"到一个IP端口组合.
makecert -r -pe -n "CN=foo.local" -b 01/01/2000 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12
netsh http add sslcert ipport=0.0.0.0:443 appid='{214124cd-d05b-4309-9af9-9caa44b2b74b}' certhash=284475d4a4eb5c4d3ab7da4fdefa928186482376
Run Code Online (Sandbox Code Playgroud)
这成功了,但我无法重复第二个站点的过程.显然,只有一个SSL证书可以应用于单个IP端口组合.
如何制作涵盖https://foo.local和https://bar.local的SSL证书,或以其他方式为每个站点"附加"一个?
是否可以以编程方式将wifi配置文件添加到Windows操作系统(最低版本的Windows 7)?
我尝试使用添加配置文件和连接 netsh ,但它对我不起作用.是否有任何powershell命令执行此操作?
我想自动为许多客户端设置一个特殊ssid的wifi密码.
我希望有人有这个想法,或者可以给我一个包含这个样本信息的命令:
谢谢
我有一个Windows应用程序,需要使用端口50005
,50006
但是被阻止了。
运行时,我看到以下内容netsh int ip show excludedportrange protocol=tcp
:
Protocol tcp Port Exclusion Ranges
Start Port End Port
---------- --------
5357 5357
49709 49808
49809 49908
49909 50008
50009 50108
50109 50208
50280 50379
* - Administered port exclusions.
Run Code Online (Sandbox Code Playgroud)
所以,我的机器上的东西是预留的端口49909
来50008
,这大概是什么原因造成我的应用程序失败。我尝试excludedportrange
使用以下命令删除它:
netsh int ip delete excludedportrange protocol=tcp numberofports=100 startport=49909
Run Code Online (Sandbox Code Playgroud)
但是我看到一个错误Access is denied.
,这使我认为保留该端口的任何内容都在积极运行,但是我不知道这可能是什么。
同样奇怪的是,即使我看到一个错误,在运行该命令后,如果重新启动,情况excludedportrange
也会有所不同。
作为健全性检查,我还运行resmon.exe
并确认端口50005
和上没有任何运行50006
。
我如何知道添加了excludedportrange
什么?
编辑:我已经缩小到Hyper-V。如果禁用Hyper-V,则不会排除这些端口。
如何列出所有已配对或当前靠近我的蓝牙设备以及特定的 MAC 地址?我想要相当于命令:
netsh wlan show network mode=bssid
Run Code Online (Sandbox Code Playgroud)
我可以使用以下命令列出所有蓝牙设备和特征,但不能列出 MAC 地址:
Get-PnpDevice | Where-Object {$_.Class -eq "Bluetooth"}
foreach ($device in $devices) { echo $device.InstanceId }
Run Code Online (Sandbox Code Playgroud)
请注意,如果我需要手动缩小结果并且列表的布局不完美,这不是问题。
如何实现与使用C#的应用程序中的netsh设置clientcertnegotiation = enable相同(不执行命令行).
netsh http add sslcert ipport=0.0.0.0:8000 certhash=2064a43f429fe97746ce0c1c9adcd4ea93415f6d appid={4dc3e181-e14b-4a21-b022-59fc669b0914} clientcertnegotiation=enable
Run Code Online (Sandbox Code Playgroud)
以下代码成功添加了证书
using (var manager = new ServerManager())
{
var siteBindings = from s1 in manager.Sites
from b1 in s1.Bindings
where b1.Protocol.Equals("https")
select new {SiteName = s1.Name, Binding = b1};
foreach (var siteBinding in siteBindings)
{
siteBinding.Binding.CertificateHash = cert.GetCertHash();
}
// This is correctly setting the values on the Ssl Cert configuration section in IIS
var config = manager.GetApplicationHostConfiguration();
var accessSection = config.GetSection("system.webServer/security/access", "WebActivationService");
accessSection["sslFlags"] = @"Ssl, SslRequireCert";
manager.CommitChanges();
} …
Run Code Online (Sandbox Code Playgroud) 我有一个在端口127.0.0.1:8888上运行的HTTP代理服务器.我需要将HTTP客户端绑定重定向到127.0.0.1:8080以转发到127.0.0.1:8888.
我尝试在Windows中使用netsh.exe实用程序.我在Windows 7中运行DHCP客户端服务.
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=127.0.0.1 connectport=8888 connectaddress=127.0.0.1
Run Code Online (Sandbox Code Playgroud)
该命令已成功执行.但是,代理服务器从不接收任何请求.是不是可以转发本地端口?或者我的理解是错误的.
netsh ×10
windows ×7
c# ×2
port ×2
powershell ×2
ssl ×2
bluetooth ×1
certificate ×1
cmd ×1
dhcp ×1
dhcpobjs ×1
etw ×1
firewall ×1
https ×1
idempotent ×1
iis ×1
iis-express ×1
makecert ×1
networking ×1
proxy ×1
rules ×1
service ×1
servicehost ×1
tcp ×1
wcf ×1
wifi ×1
winsock2 ×1