Avatar billede segato Nybegynder
28. februar 2006 - 12:52 Der er 20 kommentarer og
2 løsninger

HTTP sniffer

Gode forslag til hvordan man komme ri gang med en http sniffer. Vil se alle udgånede http requests. Regner med det må være noget sockets osv.
Avatar billede arne_v Ekspert
28. februar 2006 - 13:53 #1
ja - du lytter paa en port og naar du faar en connection saa connecter du til den
rigtige port og sender request til den og returnerer respons

hvis du bare skal bruge det saa er Apacje Axis TCPMON et fint tool (bare i Java)
Avatar billede driis Nybegynder
28. februar 2006 - 17:58 #2
Arne: Hvis han vil se indholdet af alle requests, der initieres fra den maskine programmet kører på; kan det vel ikke gøres ved at lytte på en port ? Programmet er vel nødt til at agere som proxy mellem browser og remote server ?

Det er f.eks. denne metode, der bruges af Fiddler:
http://www.fiddlertool.com/fiddler/
Avatar billede arne_v Ekspert
28. februar 2006 - 18:32 #3
nej - det forudsaetter at det er trafik mellem PC og en bestemt server paa en
bestemt port

det er normalt det man har behov for i.f.m. troubleshooting
Avatar billede bufferzone Praktikant
28. februar 2006 - 20:50 #4
Ethereal eren helt almindelig netværkssniffer, der selvfølgelig kan filtrere. Du kan fleks. konfigurere den til kun at sniffe port 80 trafik, og hermed bliver den jo til en http sniffer.

Dfordelen ved Ethereal er at du kan sniffe til en fil, altså gemme resultatet, og derefter sniffe med yderligere filtrering og dermed behandle dine snifninger lige så fint du ønsker
Avatar billede segato Nybegynder
28. februar 2006 - 22:58 #5
Jeg er ikke interessret i et ande tprogram vil gerne selv prøve at kode det. Men det lyder ik som om i er helt enige så er en anelse forvirret. Kunne man bare lytte på lokal port 80 med en socket TcpListener eller?
Avatar billede arne_v Ekspert
28. februar 2006 - 23:25 #6
hvis det er trafikken fra client til en bestemt server saa er TcpListener paa 80
vejen frem
Avatar billede segato Nybegynder
01. marts 2006 - 12:07 #7
Ok smid et svar begge to. Arne jeg har stilt dig et spg i en asp.net (HttpWebrequest og Posts) tråd som du tidligere har svaret på, tjek lige også den ud:D
Avatar billede arne_v Ekspert
01. marts 2006 - 14:04 #8
ok
Avatar billede segato Nybegynder
03. marts 2006 - 10:36 #9
Har lige testet det med følgende:

    System.Net.Sockets.TcpListener listener = new System.Net.Sockets.TcpListener(81);
            listener.Start();
            listener.AcceptTcpClient();


Denne fanger intet så det virkede ikke helt. Men requests der sendes ud går vel heller ikke igennem en port på klienten?
Avatar billede arne_v Ekspert
03. marts 2006 - 15:09 #10
det skal virke

din sniffer lytter paa localhost port 81 og connecter til  localhost port 80

du vil sniffe URL http://localhost/foobar.asp

saa i browseren taster du http://localhost:81/foobar.asp

din sniffer faar en connection

og connecter til web serveren paa port 80
Avatar billede segato Nybegynder
03. marts 2006 - 18:32 #11
TcpListener l = new TcpListener(81);
            l.Start();
            l.AcceptSocket();
            MessageBox.Show("Yes");

Hvis det skulle virke burde der poppe en msgbox op når jeg åbner en browser og requester en hjemmeside. Dette gør der desværre ikke hvad gør jeg forkert?
Avatar billede arne_v Ekspert
03. marts 2006 - 18:41 #12
og du bruger en URL af formen http://localhost:81/... uanset den rigtige URL ?
Avatar billede segato Nybegynder
03. marts 2006 - 19:29 #13
Uanset url. Men den skal jo virke ved alle urls, jeg tror måske man skal over i noget IE api og fange requests der. jeg har også forsøgt med HttpListener som er nyt fra .NET 2.0 men den virker heller ik, den er mere baseeret til hvis man vil lave en webserver selv.
Avatar billede segato Nybegynder
03. marts 2006 - 19:30 #14
Har på fornemmelsen man skal over og kigge på SHDocVw.dll, men den virker garanteret kun for IE.
Avatar billede arne_v Ekspert
03. marts 2006 - 19:32 #15
du vil f.eks. sniffe en GET af http://www.eksperten.dk/spm/691531

du lader din sniffer forwarded til www.eksperten.dk port 80

du angiver URL http://localgost:81/spm/691531 i browseren

din browser connecter til din sniffer og beder om /spm/691531

din sniffer connecter til www.eksperten.dk og hente data
Avatar billede segato Nybegynder
03. marts 2006 - 20:15 #16
Jeg tror jeg lige tabte tråden der.

TcpListener l = new TcpListener(81);
            l.Start();
            l.AcceptSocket();
            MessageBox.Show("Yes");

Det her med 80, eller 81, med port angivelse 80/81 i url giver ingem messagebox hos mig. Gør jeg noget forkert i hendhold til det du skriver?

Mvh

Thomas
Avatar billede arne_v Ekspert
05. marts 2006 - 02:50 #17
nej

proxy server ?
Avatar billede segato Nybegynder
05. marts 2006 - 10:09 #18
Nope, får du en messagebox op med det kode der?
Avatar billede segato Nybegynder
05. marts 2006 - 10:12 #19
Det er vel fordi jeg ingen IIS har kørende? http://localhost giver vel ik meget mening hvis man ingen IIS har kørende?
Avatar billede arne_v Ekspert
09. marts 2006 - 04:09 #20
using System;
using System.Net;
using System.Net.Sockets;
using System.Windows.Forms;

namespace E
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            TcpListener tl = new TcpListener(IPAddress.Any, 81);
            tl.Start();
            tl.AcceptTcpClient();
            MessageBox.Show("Det virker !");
        }
    }
}

og

http://localhost:81/

giver en fin message box hos mig !
Avatar billede segato Nybegynder
09. marts 2006 - 08:12 #21
Ja det er den any attributte du har smidt på. Virker også her, smid et svar og mange tak for hjælpen.
Avatar billede arne_v Ekspert
09. marts 2006 - 13:34 #22
Jeg fik point for lang tid siden.

Jeg mener at IPAddress.Any gør at den lytter på alle IP adresser.

(en maskine kan godt have flre IP adresser omend det ikke er normalt for PC'ere)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester