如何从运行提琴帽捕获的机器获取 Fiddler 中的客户端 IP



我已经搜索并找到了许多不同的资源,这些资源描述了如何在fiddler中获取client IP地址。

public static BindUIColumn("ClientIP")
function CalcMethodColClientIP(oS: Session){
    if (null != oS.oRequest) return oS.oFlags["X-ClientIP"]; else return String.Empty; 
}

我相信oSession.clientIP也应该奏效。首先,给我的只是 127.0.0.1。它没有告诉我机器的IP地址,只是本地主机loopback IP地址。我正在寻找机器的实际 IP 地址。

我的主要目标是在另一个人的计算机上运行的fiddlercap捕获中获取客户端 IP 地址。这个人把拨弄机原木发给我,我和小提琴手一起看。我想用小提琴手检索他机器的 IP 地址。我怎样才能做到这一点?

任何帮助将不胜感激。谢谢。

不幸的是,默认情况下,FiddlerCap 日志不会提供此信息。我曾考虑添加一个按钮来自动捕获计算机信息(例如,从 MSInfo32 中捕获(作为捕获中的会话,但这从未实现。

X-ClientIP字段仅保存客户端用于与代理通信的 IP 地址;在几乎所有情况下,这都是127.0.0.1

Well, if it SharePoint Server you can get on the server, run
Get-SpServer | Select ID

然后在 fiddler 中使用以下代码查看 SharePoint Server 响应的内容。 只需将以下代码添加到 Main(( 函数入口点即可。您将在 CRTL F>规则>自定义规则中找到此信息,以查找要添加此代码的 Main(( 函数。一个你做到了。您将有一个 EncodedServerId 列,您将看到唯一标识您的 SharePoint Server 的 get-spserver ID 的后半部分。您将获得服务器场中每台服务器的 ID,并且无论哪个负载平衡器发送了响应,您都将知道哪个服务器发送了响应。

 public static BindUIColumn("EncodedServerId",65,1)
    function CalcMachineId(oSession: Session){
        if (null != oSession.oResponse && oSession.oResponse.headers!= null) { 
            if (oSession.oResponse.headers.Exists("SPRequestGuid") || oSession.oResponse.headers.Exists("request-id")){
                if(oSession.oResponse.headers.Exists("SPRequestGuid")){
                    var requestGuid = Guid.Parse(oSession.oResponse.headers["SPRequestGuid"]);
                }
                else{
                    var requestGuid = Guid.Parse(oSession.oResponse.headers["request-id"]);
                }
                var bytes = requestGuid.ToByteArray();
                var partOne = parseInt(bytes[8]) << 12;
                var partTwo = parseInt(bytes[9]) << 4;
                var partThree = parseInt(bytes[10]) >> 4;
                var id = partOne + partTwo + partThree;
                return String.Format("{0}",id);
            }
            return String.Empty;
            }         return "None";   
    }

最新更新