CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : Un initié de python pour m'aiguiller ?

DébutPage précedente
1
Page suivantePage suivante
Salut-les-khey2 Salut-les-khey2
MP
Niveau 7
31 juillet 2021 à 15:02:47

Je cherche à lister les requêtes http (get, post ... ) qui sont envoyez par le serveurs, lorsque je lui envoi mes requêtes. Y'a t'il une fonction qui permet de le faire ?

https://www.noelshack.com/2021-30-6-1627736565-capture.jpg

Message édité le 31 juillet 2021 à 15:05:00 par Salut-les-khey2
godrik godrik
MP
Niveau 22
31 juillet 2021 à 16:45:29

Les requetes HTTP sont envoye par le client, pas par le serveur. L'outil que tu montres donne les requete HTTP du client.

Salut-les-khey2 Salut-les-khey2
MP
Niveau 7
31 juillet 2021 à 18:24:41

Le 31 juillet 2021 à 16:45:29 :
Les requetes HTTP sont envoye par le client, pas par le serveur. L'outil que tu montres donne les requete HTTP du client.

A ouais d'accord et tu sais comment les récupérer en python ?

godrik godrik
MP
Niveau 22
31 juillet 2021 à 18:37:03

Je ne sais pas si il y a un paquet python qui fasse ca. Selenium a peut etre quelquechose pour faire ca si selenium conduit la session: https://selenium-python.readthedocs.io/index.html Mais en regardant rapidement je n'ai rien vu de directe.

Sinon, c'est peut etre possible d'ecrire une extension pour ton navigateur qui va dumper ce qu'il te faut dans un fichier ou un pipe et le lire a partir d'une application python.

Inconito99 Inconito99
MP
Niveau 7
31 juillet 2021 à 19:12:37

Il y a l'outil Wireshark que tu peux lancer en ligne de commande pour qu'il enregistre ce qui se passe sur le réseau dans un fichier de log. Ensuite avec argparse en python il est possible de lire les fichier de log de ce type.
Sinon y a aussi socket, plus bas niveau, qui doit permettre de sniffer le réseau

godrik godrik
MP
Niveau 22
31 juillet 2021 à 19:33:48

Le 31 juillet 2021 à 19:12:37 :
Il y a l'outil Wireshark que tu peux lancer en ligne de commande pour qu'il enregistre ce qui se passe sur le réseau dans un fichier de log. Ensuite avec argparse en python il est possible de lire les fichier de log de ce type.
Sinon y a aussi socket, plus bas niveau, qui doit permettre de sniffer le réseau

Wireshark n'est pas utile ici. Tu perds beaucoup trop d'information dans wireshark. Les requetes sont en HTTPS. Donc tu n'auras pas le message clair.

Donc ca veut dire que la seule chose que tu va avoir est l'addresse IP de la machine avec laquelle tu cause. Ca ne te donnera pas l'url, ca ne te donnera pas les pametres, et ca ne te donnera pas les headers.

Inconito99 Inconito99
MP
Niveau 7
31 juillet 2021 à 19:42:10

Dans ce cas faut que le code s'exécute dans le navigateur idéalement en javascript.

Inconito99 Inconito99
MP
Niveau 7
31 juillet 2021 à 19:52:16

Après pour https ça dépend, si t'es propriétaire du serveur dont tu veux voir les connexions, tu peux toujours déchiffrer ce qui transite avec la clé privé, mais niveau sécurité c'est limite de stocker la clé privé comme ça sur un ordi autre que le serveur.

Salut-les-khey2 Salut-les-khey2
MP
Niveau 7
31 juillet 2021 à 20:14:28

Le 31 juillet 2021 à 19:52:16 :
Après pour https ça dépend, si t'es propriétaire du serveur dont tu veux voir les connexions, tu peux toujours déchiffrer ce qui transite avec la clé privé, mais niveau sécurité c'est limite de stocker la clé privé comme ça sur un ordi autre que le serveur.

Non c'est pas pour mon serveur, En fait, je suis partie sur python parce que je pensais que c'était un truc assez basique à faire, donc pas mal pour apprendre apprendre le langage en bossant sur un projet concret, mais vue que je souhaite récupérer ses requêtes sur un espace client qui nécessite une authentification ça va être encore plus costaud.

J'avais prévu de faire ça avec zenoposter, qui récupère bien les requêtes et qui permet de s'authentifier sans problème, mais les fonctionnalités native de zenoposter ne permettent d'enregistrer et d'exploiter les requêtes HTTP, juste de les visualiser, j'ai fait des recherches et c'est possible de le faire mais ça nécessite de coder en C#, j'ai essayé tant bien que mal de mettre en place le bout de code partager sur Internet, mais j'ai pas réussi.

Je mets le bout de code au cas où quelqu'un s'y connaîtrait en C# : https://help.zennolab.com/en/v7/zennoposter/7.1.4/topic621.html

Je souhaite juste récupérer et stocker toutes les requêtes dans une variable après je pourrais les trier simplement avec le logiciel.

Message édité le 31 juillet 2021 à 20:17:40 par Salut-les-khey2
godrik godrik
MP
Niveau 22
31 juillet 2021 à 20:16:47

Le 31 juillet 2021 à 19:52:16 :
Après pour https ça dépend, si t'es propriétaire du serveur dont tu veux voir les connexions, tu peux toujours déchiffrer ce qui transite avec la clé privé, mais niveau sécurité c'est limite de stocker la clé privé comme ça sur un ordi autre que le serveur.

Tu as vu sa screenshot? C'est youtube qu'il cherche.

Salut-les-khey2 Salut-les-khey2
MP
Niveau 7
31 juillet 2021 à 20:18:36

Le 31 juillet 2021 à 20:16:47 :

Le 31 juillet 2021 à 19:52:16 :
Après pour https ça dépend, si t'es propriétaire du serveur dont tu veux voir les connexions, tu peux toujours déchiffrer ce qui transite avec la clé privé, mais niveau sécurité c'est limite de stocker la clé privé comme ça sur un ordi autre que le serveur.

Tu as vu sa screenshot? C'est youtube qu'il cherche.

Non c'est pas youtube, c'était juste pour l'exemple :ok:

Azerban Azerban
MP
Niveau 15
31 juillet 2021 à 23:06:55

Tu ne peux pas connaître les requêtes faites par le serveur (sauf hacking, ou serveur mal protégé, ou ce genre de choses). Mais tu peux connaître les requêtes faites par ton navigateur. En python tu peux faire ça facilement avec le package playwright et l'objet request.

Remplace firefox par chromium (chrome, chromium, edge) ou webkit (safari) si tu préfères. Tu peux aussi mettre headless à True pour ne pas affiche le navigateur.

from pprint import pprint
from typing import Dict, List

from playwright.sync_api import sync_playwright


def get_requests_from_url(url: str) -> List[Dict]:
    with sync_playwright() as playwright:
        browser = playwright.firefox.launch(headless=False)
        page = browser.new_page()

        requests = []
        page.on("request", lambda request: requests.append({
            "method": request.method,
            "url": request.url,
            "frame": request.frame,  # frame est un objet que l'on peut explorer -> https://playwright.dev/python/docs/api/class-frame#frame-name
            "headers": request.headers,
            "timing": request.timing,
            "post_data": request.post_data,
            "resource_type": request.resource_type,
            
        }))
        page.goto(url)
        browser.close()
    
    return requests


if __name__  == "__main__":

    URL = "https://www.jeuxvideo.com/forums/42-47-67289259-1-0-1-0-un-initie-de-python-pour-m-aiguiller.htm"

    for request in get_requests_from_url(URL):
        pprint(request)
        print('-' * 150)
Azerban Azerban
MP
Niveau 15
31 juillet 2021 à 23:33:02

D'ailleurs j'ai mal nommé ma fonction, ça devrait plutôt être get_requests_to_url :oui:

godrik godrik
MP
Niveau 22
01 août 2021 à 01:15:45

nice,
ca m'etonait qu'un des wrapper autour des navigateurs ne sachent pas faire ca.

Salut-les-khey2 Salut-les-khey2
MP
Niveau 7
01 août 2021 à 11:37:55

Le 31 juillet 2021 à 23:06:55 :
Tu ne peux pas connaître les requêtes faites par le serveur (sauf hacking, ou serveur mal protégé, ou ce genre de choses). Mais tu peux connaître les requêtes faites par ton navigateur. En python tu peux faire ça facilement avec le package playwright et l'objet request.

Remplace firefox par chromium (chrome, chromium, edge) ou webkit (safari) si tu préfères. Tu peux aussi mettre headless à True pour ne pas affiche le navigateur.

from pprint import pprint
from typing import Dict, List

from playwright.sync_api import sync_playwright


def get_requests_from_url(url: str) -> List[Dict]:
    with sync_playwright() as playwright:
        browser = playwright.firefox.launch(headless=False)
        page = browser.new_page()

        requests = []
        page.on("request", lambda request: requests.append({
            "method": request.method,
            "url": request.url,
            "frame": request.frame,  # frame est un objet que l'on peut explorer -> https://playwright.dev/python/docs/api/class-frame#frame-name
            "headers": request.headers,
            "timing": request.timing,
            "post_data": request.post_data,
            "resource_type": request.resource_type,
            
        }))
        page.goto(url)
        browser.close()
    
    return requests


if __name__  == "__main__":

    URL = "https://www.jeuxvideo.com/forums/42-47-67289259-1-0-1-0-un-initie-de-python-pour-m-aiguiller.htm"

    for request in get_requests_from_url(URL):
        pprint(request)
        print('-' * 150)

Super, je vais essayer ça merci !

KJRebou KJRebou
MP
Niveau 7
01 août 2021 à 16:03:20

Burp Suite :ok:

Azerban Azerban
MP
Niveau 15
12 septembre 2021 à 13:45:47

Apparemment on peut faire ça aussi avec selenium-wire : https://pypi.org/project/selenium-wire/ :ok:

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : godrik, LGV
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment