Как получить IP-адрес клиента в Fiddler с компьютера, на котором выполнялся захват fiddlercap

Я искал и нашел ряд различных ресурсов, которые описывают, как получить client IP адрес в fiddler,

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 захват, который был запущен на машине другого человека. Этот человек прислал мне журнал Fiddercap, который я просматриваю с помощью Fiddler. Я хочу получить IP-адрес его машины с помощью Fiddler. Как я могу сделать это?

Любая помощь будет оценена. Спасибо.

2 ответа

К сожалению, журнал 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, в котором вы увидите последнюю половину вашего идентификатора get-spserver, который уникально идентифицирует ваш SharePoint Server. Вы получаете идентификатор каждого сервера в ферме и независимо от балансировщика нагрузки будете знать, какой сервер отправил ответ.

       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";   
    }
Другие вопросы по тегам