Как сохранить заголовки POST & GET веб-страницы с помощью «Wireshark»?

1646
brilliant

Я пытался найти код Python, который будет входить в мой почтовый ящик на yahoo.com из "Google App Engine". Мне дали этот код:

import urllib, urllib2, cookielib  url = "https://login.yahoo.com/config/login?" form_data = {'login' : 'my-login-here', 'passwd' : 'my-password-here'}  jar = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar)) form_data = urllib.urlencode(form_data) # data returned from this pages contains redirection resp = opener.open(url, form_data) # yahoo redirects to http://my.yahoo.com, so lets go there instead resp = opener.open('http://mail.yahoo.com') print resp.read() 

Автор этого скрипта изучил HTML-скрипт формы входа в Yahoo и придумал этот скрипт.

Эта форма входа в систему содержит два поля, одно для пользователей Yahoo! ID и еще один для пароля пользователя.

Однако, когда я опробовал этот код (заменив мой реальный логин Yahoo на «my-login-here», а мой реальный пароль на «my-password-here»), он просто вернул мне форму входа, что означает что-то не работает правильно

Другой сторонник предложил мне отправить MD5-хэш моего пароля, а не простой пароль.

Он также отметил, что в этой форме входа в систему есть много других скрытых полей, кроме полей логина и пароля (он назвал их «Защита CSRF»), с которыми мне также придется иметь дело:

<input type="hidden" name=".tries" value="1">  <input type="hidden" name=".src" value="ym">  <input type="hidden" name=".md5" value="">  <input type="hidden" name=".hash" value="">  <input type="hidden" name=".js" value="">  <input type="hidden" name=".last" value="">  <input type="hidden" name="promo" value="">  <input type="hidden" name=".intl" value="us">  <input type="hidden" name=".bypass" value="">  <input type="hidden" name=".partner" value="">  <input type="hidden" name=".u" value="bd5tdpd5rf2pg">  <input type="hidden" name=".v" value="0">  <input type="hidden" name=".challenge" value="5qUiIPGVFzRZ2BHhvtdGXoehfiOj">  <input type="hidden" name=".yplus" value="">  <input type="hidden" name=".emailCode" value="">  <input type="hidden" name="pkg" value="">  <input type="hidden" name="stepid" value="">  <input type="hidden" name=".ev" value="">  <input type="hidden" name="hasMsgr" value="0">  <input type="hidden" name=".chkP" value="Y">  <input type="hidden" name=".done" value="http://mail.yahoo.com">  

Он сказал, что я должен сделать следующее:

  1. Имитация обычного входа в систему и сохранение страницы входа, которую я получаю;
  2. Сохраняйте заголовки POST & GET с помощью «Wireshark»;
  3. Сравните страницу входа с этими заголовками и посмотрите, какие поля мне нужно включить в мой запрос;

Я действительно не знаю, как выполнить первые два из этих трех шагов. Я только что скачал "Wireshark" и попытался захватить некоторые пакеты там. Однако я не знаю, как «симулировать нормальный вход в систему и сохранить страницу входа». Также я не умею сохранять заголовки POST $ GET с помощью «Wireshark». Может ли кто-нибудь, пожалуйста, провести меня через эти два шага в «Wireshark»? Или хотя бы скажите, с чего мне начать. Благодарю вас.

0
Прекратите репостить этот вопрос каждые два часа. random 14 лет назад 0
Случайно, обратите внимание, что все вопросы, которые я опубликовал до сих пор, разные. Например, в SO я задал вопрос о том, что такое заголовок, и этот настоящий вопрос о том, как использовать «Wireshark» для получения заголовков POST и GET. Этот я случайно переиздал только один раз и хотел удалить близнеца, как только обнаружил, но, увы, модераторы увидели его раньше меня и удалили. Что заставляет Вас думать, что я пересылаю этот вопрос "через час"? brilliant 14 лет назад 0

2 ответа на вопрос

2
Ignacio Vazquez-Abrams

Вам не нужен Wireshark для этого. Firebug прекрасно способен разбивать запросы и ответы прямо из Firefox.

@ Игнасио Васкес-Абрамс: Привет, Игнасио !!!! Я попробовал firebug, и у меня был тот же список «типов ввода», который вы можете видеть в моем вопросе (вторая вертикальная синяя линия слева). Но, выделив их, я до сих пор не представляю, как мне включить их в свой запрос и где их правильные значения. (Я думал, что «Wireshark» даст мне понять) У вас есть идеи? brilliant 14 лет назад 0
Попробуйте панель Net. Ignacio Vazquez-Abrams 14 лет назад 0
Это часть программного обеспечения, которую я должен загрузить? Где я могу получить это? brilliant 14 лет назад 0
Да. Это называется Firebug. Я уже дал ссылку на это. Ignacio Vazquez-Abrams 14 лет назад 0
По электронной почте Ой! Я прошу прощения!! Я не заметил этого там. :( Я использовал "осмотреть" панель там. brilliant 14 лет назад 0
Итак, я только что включил панель Net, но там ничего не отображается. brilliant 14 лет назад 0
Игнасио, извините, но я думаю, что есть что-то в «Wireshark», которого нет у «Firebug» - с «Firebug» я не вижу никаких заголовков Post & Get. Итак, я задам этот вопрос. brilliant 14 лет назад 0
1
Sathya

Когда вас попросили

смоделировать обычный вход в систему и сохранить страницу входа

это был запрос для вас, чтобы войти в свою учетную запись Yahoo, как вы обычно делаете из веб-браузера и сохранить страницу.

Что касается HTTP POST / GET переменных и их сохранения, у меня нет опыта, но вам, вероятно, стоит взглянуть на этот SO-ответ


Кажется, ты ОП для Q в SO -.-

@ Сатья: Я вижу, Сатья, спасибо за этот вклад. brilliant 14 лет назад 0
Да, Сатья, это я там - я делаю все возможное, чтобы понять этот вопрос. В любом случае, спасибо, что объяснили мне, что этот сторонник имел в виду под «симуляцией». Как не говорящий по-английски, мне было трудно понять его значение за этим словом. brilliant 14 лет назад 0