Как получить 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";
}