---
title: "Kolla paket på port 80"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/68171-kolla-paket-på-port-80"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "ironhead"
published: "2003-02-13T15:07:44.000Z"
updated: "2003-02-17T16:29:12.000Z"
replies: 9
views: 360
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/68171-kolla-paket-på-port-80"
---

# Kolla paket på port 80

## #1 — ironhead, 2003-02-13T15:07Z

Kan man i VB kolla upp paket som skickas från en viss applikation via port 80?

ex:
Om nån skickar ett icq-meddelande till mig, kan jag då via port 80 fånga upp det och bara konstatera att det verkligen kommer från icq?

Ska man använda winsock då? Hur gör man?

Permalänk: https://www.webforum.nu/p/68171

## #2 — Engine^, 2003-02-13T15:20Z

Inget litet svar på den frågan... ;)

Men jag kan väl rekommendera att du börjar [här](http://www.vbip.com/winsock-api/default.asp)

Permalänk: https://www.webforum.nu/p/950224

## #3 — niko, 2003-02-13T18:22Z

Varför inte bara ladda ner en färdig sniffer?

<http://www.webattack.com/get/axpacketmon.shtml>

<http://www.ethereal.com/>

Känns som *väldigt* mycket överkurs att skriva en egen i VB ..

Permalänk: https://www.webforum.nu/p/950373

## #4 — niko, 2003-02-13T22:59Z

Hittade förresten källkoden till en (promisquous) nätverkssniffer helt skriven i VB:

<http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=42170&lngWId=1>

När behövs egentligen C++? :OO

Permalänk: https://www.webforum.nu/p/950571

## #5 — ironhead, 2003-02-17T07:59Z

Såhär ser det ut när jag får ett webbaserat meddelande från icq (<http://go.icq.com>) i promisquous:

  45 00 00 5D 01 61 40 00 26 06 2F 0F CD BC D5 F9 E..\].a@.&./.Í¼Õù
  A3 B7 DC BD 00 50 04 E5 14 AE FC 9C 6A 8F 50 59 £·Ü½.P.å.®üœjPY
  50 18 40 00 73 EA 00 00 2A 02 4F 01 00 2F 49 4D P.@.sê..\*.O../IM
  5F 49 4E 5F 45 4E 43 32 3A 31 32 34 36 34 39 39 \_IN_ENC2:1246499
  33 3A 46 3A 46 3A 46 3A 20 49 2C 3A 46 3A 41 3A 3:F:F:F: I,:F:A:
  78 2D 62 61 64 3A 4D 55 55 55 55 48 21          x-bad:MUUUUH!
  

...nu vet jag hur det ser ut när det skickas till mig...men hur fångar jag upp det så jag kan göra nåt när jag får detta meddelande?

typ:

if sStr="icq meddelande" Then
' exekvera kod
end if

Permalänk: https://www.webforum.nu/p/952568

## #6 — niko, 2003-02-17T11:04Z

Nu vet inte så mycket om webbaserat ICQ, men jag inbillar mig att den funkar precis som en webläsare? Eller är det nån applet inblandad?

Nästa sak som jag inte riktigt förstår: Du letar väl inte exakt bokstavligen efter paket som ser ut som det du kopierade in? Finns det några nyckelord som avgör om ett paket signalerar ett ICQ-meddelande?

Men i grova drag kan jag ge dig ett förslag:

1\. Det finns en funktion i koden som heter *display2* som alla paket hamnar i. Här kan du börja med att filtrera bort alla paket du garanterat *inte* är intresserad av.

Typ:

```
if ip_header.ip_protocol <> 6 then exit sub 'Fel protokoll, inte TCP.

if ntohs(tcp_header.src_portno)<>80 then exit sub ' Fel port.

if getascip(ip_header.ip_srcaddr)<>"XXX.XXX.XXX" then exit sub ' Det kom från fel IP.

' osv ..
```

2\. Nästa grej är att kolla vad som finns inne i de enskilda bytesen i paketet:

```
for i=0 to 1493
	if Asc(readbuffer(i))="M" and Asc(readbuffer(i+1))="U" ' osv ..
		' Vi hittade "MUUUUH!" exekvera kod!
		exit for
	end if
next
```

3\. Eftersom du loopar igenom alla paket över port 80 så kommer det här att suga processor. Du bör alltså peta bort all kod du inte behöver, vad gäller presentation i listvyer osv.

När allt sen funkar bör du ändra projektinställningarna och ta bort bound- och overflow-checkningar vid kompileringen för att få upp farten.

Som sagt bara ett förslag. Finns kanske mycket bättre lösningar i ditt fall.

Permalänk: https://www.webforum.nu/p/952695

## #7 — ironhead, 2003-02-17T12:36Z

bra tips, tackarr!

ne, grejen är såhär:
på mitt företag har man spärrat användamdet av icq....men den webbaserade går ju att köra...men meddelandet ploppar upp på skärmen när man vill eller inte vill...eller så finns det en inställning som gör att meddelandet inte alls visas utan man måste kolla förstret lite nu och då om man fått nåt meddelande.

Det enda jag vill göra är en applikation som visar en ikon vid klockan som blinkar så fort man får ett meddelande, precis som vanliga icq.

Permalänk: https://www.webforum.nu/p/952766

## #8 — niko, 2003-02-17T12:48Z

> på mitt företag

Du sitter alltså på ett företags-LAN?

Den här koden sätter ditt kort i sk "promisquous" mode vilket innebär att du har möjlighet att snappa upp *all* port-80-trafik. Om det finns IT-kunniga människor på företaget så kan de ev. se att ditt kort är ställt i detta mode och du kan råka illa ut. Stor varning alltså!

För ditt eget samvetes skull bör du isåf lägga till:

```
if getascip(ip_header.ip_dstaddr)<>"dinip" then exit sub 'Oops! Det var inte till mig.
```

Permalänk: https://www.webforum.nu/p/952771

## #9 — ironhead, 2003-02-17T15:59Z

\*hehe\* ok!  :)

Permalänk: https://www.webforum.nu/p/952867

## #10 — niko, 2003-02-17T16:29Z

Är lite osäker, men jag tror du också bör(?) ta bort den här koden från *ConnectSock*:

```
ret = WSAIoctl(s, SIO_RCVALL, lngInBuffer, Len(lngInBuffer), _
lngOutBuffer, Len(lngOutBuffer), lngBytesReturned, ByVal 0, ByVal 0)
If ret <> 0 Then
    If s > 0 Then Dummy = closesocket(s)
    MsgBox "WSAIoctl failed"
    Exit Function
End If
```

Du kommer ändå inte att lyckas sätta kortet i P-mode om du inte är påloggad som administrator.

Permalänk: https://www.webforum.nu/p/952891

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/68171-kolla-paket-på-port-80
