我怎么知道我正在使用什么代理服务器?


184

我需要知道代理服务器的地址是什么,以便可以配置另一个程序来使用它。如果我进入IE,Internet属性,LAN设置,那么我看到的只是一个自动配置脚本,而不是实际的代理地址。我怎么能得到这个?

我正在使用Windows XP。


这个问题也可能是有用的:serverfault.com/questions/696020/...
雨果Ideler

Answers:


192

自动代理检测系统通过wpad.dat从主机下载称为的文件来工作wpad。首先从命令提示符确认此主机存在:

ping wpad

如果不存在,则可能必须放置正确的DNS后缀。在同一命令提示符下,键入

ipconfig /all

您应该看到Primary DNS SuffixDNS Suffix Search List

尝试为每个附加一个。至wpad

ping wpad.<primary dns suffix>

如果上述任何一项有效,请在浏览器中输入http://wpad.<suffix>/wpad.dat。这将下载可以在notepad.exe中打开的代理自动配置文件。

在此文件的底部,您应该看到一行显示

PROXY <host:port>;

如果您有多个代理,则可能会重复进行。主机和端口是您所需要的。

如果此文件不存在,则说明没有代理服务器,或者dhcp正在提供代理服务器(请注意,这仅适用于IE,因此如果firefox可以上网,则不会使用此方法)。如果您无权访问dhcp服务器以查看其发送的内容,最简单的方法是在ie中打开一个站点,然后转到命令提示符。类型

netstat -ban

这将提供使用每个进程的进程ID建立的连接的列表。转到任务管理器,然后选择View/Select Columns并启用PID(进程标识符)。在返回的列表中查找iexplore.exe的PID。netstat -ban 这将显示代理IP和端口。


3
要下载自动配置脚本,我发现将脚本的链接复制并粘贴到地址栏(YMMV)中比较容易……
mousio 2011年

1
是的,这是域策略阻止了更改,IE禁用了URL框。它不会让您复制它或看到全部内容,呵呵。
Mike Christensen

1
我的代理配置显然不是使用wpad.dat,而是使用了显示在LAN设置的“使用自动配置脚本”部分中的“ proxy.pac”文件。这是一个脚本,用于确定要使用的代理服务器。

1
@Ben嗨,本,是的,此答案侧重于自动检测,而不是自动配置。欢迎您提高答案。
Paul

1
在Windows 10上对我不起作用
Janac Meena

81

它不适用于新版本的Chrome。请停止使用它。

我有一种更简单的方法来找到它。安装chrome并转到下面的URL以查看代理详细信息

 chrome://net-internals/#proxy

您将能够看到所有详细信息


1
这有很多信息!感谢分享。
Shiyaz

1
当您使用VPN但想知道您的网络代理协议类型IP和端口时,此方法非常有用。
zionpi

如此简单且如此强大:)
DerVO '17

9
不幸的是,这不再起作用。Google似乎已删除了该功能。(我使用的是Chrome版本73,但我不知道何时删除了它-这不是我每天都使用的东西。)
David

3
对我来说,Chrome中的该屏幕几乎完全空白。
DaveInCaz

58

在cmd中尝试以下命令:

reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | find /i "proxyserver"

希望有所帮助


13
就我而言,我必须找到“ AutoConfigURL”而不是“ proxyserver”。这导致我找到一个* .pac文件,我可以通读它以找到脚本返回的默认代理。

对我来说,这是唯一显示我实际代理地址的答案。其他人则倾向于向我展示在哪里可以找到脚本,我必须手工解析该脚本才能了解适用于我的规则。
Duncan Jones

25

以下命令似乎也有效。另外,它避免与很多可能运行或可能无法运行的DNS服务器联系,并且避免了查询注册表,因此即使在相当锁定的环境中,它也可以正常运行:

Windows Vista或更高版本:

netsh winhttp show proxy

Windows XP或更早版本:

netsh diag connect ieproxy

需要一些额外的工作来从输出中提取代理地址,因此如果您知道它将可用,则注册表方法会更简单。

更新:

我发现在Windows 7上,netsh有时会根据我的调用方式返回不同的结果。如果我在提示符下手动运行上述命令,则会显示“直接访问-无代理”。但是,netsh从SAS 调用会导致列出实际代理!


4
sais:直接访问<无代理服务器>。但是我绝对在代理后面..仅显示WinHTTP代理
philx_x 2015年

5
我也看到了“直接访问”行。“呼叫netsh rom SAS”是什么意思?

1
netsh winhttp show proxy显示系统代理设置(默认用户)。用户可能具有不同的设置。
xmedeko 2015年

6
我绝对在代理后面,当我调用netsh命令时,我得到:“直接访问(没有代理服务器)”。什么是SAS?
iaforek '16

1
您所说的“ SAS”是什么意思?
德鲁·查平

19

您还可以通过运行以下命令从注册表中获取自动配置文件的URL:

reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad" /s | find /i "WpadDetectedURL"



3

我创建了一个简单的WinProxyViewer.exe以显示Windows代理设置。目的是使普通用户能够运行它并将输出发送给管理员(技术支持等)。


2

要了解有关当前互联网连接和设置的大量信息,包括您当前正在使用的代理服务器,请访问Chrome中的以下地址:

chrome:// net-internals /

您会在页面左侧看到一列,该列为您提供了您可以请求的不同类型信息的列表,其中包括“代理”。

注意:完全有可能在Windows中添加“ chrome:” URI方案,以便您可以从任何浏览器(而不只是chrome)转到“ chrome:// net-internals /”来获取此信息。但是由于此URI方案的处理程序需要使用chrome,因此无论如何都需要安装chrome。因此,将URI方案“ chrome”添加到注册表中仅在使用其他浏览器并且希望避免首次启动chrome(然后转到chrome:// net-internals /)所需的单击/键入时才真正有用。


1
这与superuser.com/a/1163035/268750相同,但似乎不再起作用。
DaveInCaz

1

这不是一个完美的解决方案,但是在需要快速查找公司网络时对我有用。cmd中的NetStat列出当前连接。端口8080或9090的IP最有可能是代理。



0

将脚本路径放入ie窗口中,它将下载或打开wpad脚本-如果下载了该脚本,请使用记事本查看基于文本的内容。

WPAD是一个逻辑驱动的文件,用于将Internet请求发送到不同的代理或直接发送到Internet,具体取决于许多因素,例如源,目标,IP或url(甚至是dns名称的一部分)。在某些情况下,根据文件的复杂程度,可能很难阅读-我已经看到了一些漂亮之处,但它非常直观。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.