[C#.NET] Browser url achterhalen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 24-09 20:24
Aangezien ik in september ga beginnen met afstuderen, zijn mijn werkgever en ik nu bezig om een opdrachtomschrijving op te stellen.

Hij wil graag een Windows applicatie ontwikkeld zien, die communiceert met een webserver en databaseserver. Kan verder allemaal prima (voor zover ik weet).

Daarnaast wil hij ook bij bepaalde sites een soort van popup / notification (zo'n ballonetje rechtsonderin) tonen.

Nu is mijn vraag: is dit mogelijk? Is het mogelijk om met een C#.NET applicatie te kunnen kijken op welke URL de gebruiker zit? Dus de URL van bijv. IE of FF opvragen.

Ik heb al op google gezocht, maar daar vond ik vooral dingen over hoe een URL te openen met de default browser etc.

Ik zoek geen code voorbeelden (yet :p) maar enkel een antwoord op de vraag of het kan.
Mocht het niet kunnen dan hoeven we dat ook niet vast te leggen en kunnen we naar andere oplossingen gaan zoeken.

Alvast bedankt :)

Acties:
  • 0 Henk 'm!

  • Razr
  • Registratie: September 2005
  • Niet online
Ik denk dat je dan ergens wat meer 'low-level' achtig door het HTTP verkeer heen moet gaan 'sniffen'. Hier is dan wel af te vangen welke request eruit gaan (en binnenkomen). Misschien dat je ook kan kijken naar welk programma/proces deze request gaan zodat je kan kijken of het een browser betreft?

Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 24-09 20:24
Razr schreef op donderdag 10 juli 2008 @ 21:53:
Ik denk dat je dan ergens wat meer 'low-level' achtig door het HTTP verkeer heen moet gaan 'sniffen'. Hier is dan wel af te vangen welke request eruit gaan (en binnenkomen). Misschien dat je ook kan kijken naar welk programma/proces deze request gaan zodat je kan kijken of het een browser betreft?
Zoiets is wel mogelijk? Dat low-level sniffing?

Het is de bedoeling dat de applicatie door anderen gebruikt gaat worden (dus niet intern), dus het moet eigenlijk werken, zonder dat een virusscanner / firewall o.i.d. gaat lopen mekkeren :)

Mijn C#.NET kennis is niet zó uitgebreid, dus ik weet niet wat er allemaal wel en niet mogelijk is voordat er een virusscanner / firewall zich ermee gaat bemoeien :)

Acties:
  • 0 Henk 'm!

  • kunnen
  • Registratie: Februari 2004
  • Niet online

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Waarom zou je in hemelsnaam gaan zitten sniffen? Met een sendMessage (WM_GETTEXT of anders ergens in die categorie van windowmessages) moet je volgens mij prima de huidige URL kunnen uitlezen uit de adresbalk. Maar je kunt ook proberen het browserobject zelf te benaderen.

Gaat het overigens over een willekeurige combinatie van browsers, tabs etc? Of target je (bijv) specifiek IE? Je kunt bijvoorbeeld ook eens kijken naar BHO's ofzo.

[ Voor 66% gewijzigd door RobIII op 10-07-2008 23:22 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Het antwoord is denk ik "ja", het kan zelfs op meerdere manieren, enkel dit zal niet zomaar met managed code kunnen.

Ik vraag me af wat hier de bedoeling is. De applicatie kijkt eens in de zoveel tijd naar alle openstaande urls in alle browsers, als er "tweakers.net" in voorkomt dan verschijnt er een ballonnetje "Je dient te werken en niet op tweakers.net je tijd te verspillen!" ofzo? Vervolgens wordt dit ook nog even naar de web- en databaseserver gelogd? :)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • Mr_Dark
  • Registratie: Januari 2003
  • Laatst online: 22-09 17:40

Mr_Dark

Gotta catch 'em all

na 2 minuten google kwam ik hier:

Internet Explorer Activity Monitor
http://www.codeproject.co...9256&exp=0&select=1340098

Dus; Ja het is mogelijk.

Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 24-09 20:24
pedorus schreef op donderdag 10 juli 2008 @ 23:15:
Het antwoord is denk ik "ja", het kan zelfs op meerdere manieren, enkel dit zal niet zomaar met managed code kunnen.

Ik vraag me af wat hier de bedoeling is. De applicatie kijkt eens in de zoveel tijd naar alle openstaande urls in alle browsers, als er "tweakers.net" in voorkomt dan verschijnt er een ballonnetje "Je dient te werken en niet op tweakers.net je tijd te verspillen!" ofzo? Vervolgens wordt dit ook nog even naar de web- en databaseserver gelogd? :)
Niet helemaal. Laten we het erop houden dat er bij bepaalde websites een popup o.i.d. getoond moet worden. Verder kan ik er niet op ingaan :)

Ik zal morgen (ben nu moe) de Url's even bekijken.. maar als ik het zo hoor moet het "geen probleem" zijn (oftewel: het is mogelijk).

Bedankt alvast voor de voorgedragen tips en urls, ga ze morgen even bestuderen :)

Acties:
  • 0 Henk 'm!

  • ? ?
  • Registratie: Mei 2007
  • Niet online

? ?

..

[ Voor 100% gewijzigd door ? ? op 25-01-2013 09:51 ]


Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

era.zer schreef op vrijdag 11 juli 2008 @ 08:45:
En je weet dat dat ivm privacy niet zo legaal is?
Op je werk heb je wat betreft ICT geen privacy. Een werknemer mag gewoon je email/post controleren, telefoon gesprekken mogen worden opgenomen en afgeluisterd. Ook mag een werkgegever nagaan welke websites je bezoekt en daar eventueel actie tegen ondernemen.

Dit is enkele jaren geleden al veranderd. Alle door de werkgever ter beschikking gestelde communicatie middelen, mag de werkgever ook controleren.

Als jij je privemail via pop3/imap ophaalt en op het werk bekijkt, dan mag dat volgens de wet gewoon bekeken worden. Wil je niet dat je baas (chef, etc) je mail leest, dan moet je het gewoon thuis lezen c.q. houden.

Dan wat betreft het scannen van de url's: Wat dacht je wat als die internet security suites dan deden? Zolang het programma niet deze gegevens verzameld en vervolgens naar de ontwerpen stuurt is er geen privacy issue.

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
era.zer schreef op vrijdag 11 juli 2008 @ 08:45:
En je weet dat dat ivm privacy niet zo legaal is?
Hoe kan jij met deze informatie nou zeggen of dat legaal is? Er is niks illigaals aan om een programma op bepaalde events te laten triggeren. Heeft ook niet zoveel met privacy te maken zolang je niks anders met de gegevens doet.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Face_-_LeSS
  • Registratie: September 2004
  • Niet online
era.zer schreef op vrijdag 11 juli 2008 @ 08:45:
En je weet dat dat ivm privacy niet zo legaal is?
Ja, is dat illegaal? Ik ken meerdere (grote) bedrijven die zo'n sniffer-apparaat hebben om het netwerkverkeer te monitoren. Tot op gebruikers en computer niveau kan daarmee achterhaald worden wat voor verkeer er over het lijntje gaat.... Waarschijnlijk zal het wel mogen alleen moet het vermeld worden.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
era.zer schreef op vrijdag 11 juli 2008 @ 08:45:
En je weet dat dat ivm privacy niet zo legaal is?
Dan schenden alle ISP's op grote schaal alle privacy ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • beany
  • Registratie: Juni 2001
  • Laatst online: 13:29

beany

Meeheheheheh

Een werkgever maar niet zomaar alle communicatie aftappen. Email is nog altijd prive. Een werkgever mag alleen de subjects lezen, maar niet de inhoud! Tenzij het zeker is dat de email zakelijk is(aan de hand van de subject of geadresseerde/afzender).

Dagelijkse stats bronnen: https://x.com/GeneralStaffUA en https://www.facebook.com/GeneralStaff.ua


Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 24-09 20:24
Sorry voor de late reply, maar het is mij inmiddels gelukt.

Ik heb een aantal Win32 API functies geïmplementeerd en m.b.v. Spy++ en AccExplorer kon ik de verschillende elementen in de browsers (IE en FF tot nu toe) benaderen en zodoende de url opvragen.

Ik dank jullie voor de inbreng :)

Edit: Nu wil ik graag dat mijn functie('s) aangeroepen wordt, zodra de gebruiker een url intypt. Ik zal iets met een delegate moeten doen ofzo? Ik wil liever niet een oneindige while-lus.
Heeft iemand wellicht een tip / duwtje in de goeie richting?

Ik heb de les "delegates" gemist op school :p maar volgens mij zijn dat de events die afgevuurd worden en hier kan je ook je eigen 'delegate' aan vastkoppelen? (iets met " += ").

[ Voor 42% gewijzigd door aaajeetee op 02-09-2008 23:47 ]


Acties:
  • 0 Henk 'm!

  • Vinnienerd
  • Registratie: Juli 2000
  • Laatst online: 13:30
En die pipo's die denken dat ISPs heel makkelijk mensen af kunnen luisteren hebben het ook mis, dit gebeurt bijna nooit.

Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 24-09 20:24
Ik kom hier toch even op terug.

De hele ochtend ben ik al op Google aan het zoeken naar een manier om de ingevoerde URL te kunnen 'capturen'. Wat ik daarmee bedoel is dat mijn programma pas iets gaat doen, zodra hij een URL binnen krijgt.

Ik heb de volgende opties bedacht:
1. Een delegate / event koppelen aan de browser (geen idee hoe en of dat mogelijk is?);
2. De browser events / messages opvangen (met name de events / messages m.b.t. de adresbalk).
3. Een IE BHO / FF extensie;

Nou weet ik dat optie 3 sowieso mogelijk is, maar ik heb liever optie 1 of 2 (of iets soortgelijks).

Daarnaast is het 'opvangen' van events / messages (zoals WM_GETTEXT) alleen mogelijk als je een handle naar de betreffende window hebt (AFAIK).
Omdat ik wil dat mijn applicatie 'wacht' tot 'ie een URL binnenkrijgt, lijkt mij dat ook niet echt een optie?

Blijft dus in principe optie 1 over. Punt daarbij is dat je bij het starten van de applicatie de events moet koppelen. Wat als de browser dan nog niet gestart is?


Ik denk dat er voor mij alleen maar optie 3 over blijft.
Kan iemand me zeggen dat ik ongelijk heb en me misschien in een andere / de goede richting duwen?

Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Vinnienerd schreef op dinsdag 02 september 2008 @ 23:41:
En die pipo's die denken dat ISPs heel makkelijk mensen af kunnen luisteren hebben het ook mis, dit gebeurt bijna nooit.
Nou afluisteren zullen ze inderdaad niet zo snel doen, maar je mail wordt wel degelijk door je provider 'gelezen'. Tegenwoordig hebben alle providers spam- en antivirus filters op hun mailservers. Vrijwel alle providers monitoren ook het www-verkeer zodat de latency van de proxies wordt aangepast op basis van de populariteit van de bezoeker.

Wat betreft de werkgever. De werkgever heeft het recht alle communicatie welke jij voert (zelfs tijdens je pauze) te monitoren, analyseren en zelfs op te slaan. Wil je niet dat je werkgever je privemail kan zien? Dan moet je je prive mail echt thuis gaan lezen..

Het (digitaal) afluisteren van mensen is zeer eenvoudig. De meeste werkgevers en providers zijn daarin terughoudend vanwege de publieke opinie. Niet omdat ze het niet mogen.

Heb je er trouwens wel eens over nagedacht hoe bijv. UPC weet dat jij een kinderporno website van de zwarte lijst bezoekt?

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • Zeebonk
  • Registratie: Augustus 2005
  • Laatst online: 30-07 20:50
Nou ben ik hier ook niet een ster in. Ik weet niet precies wat er allemaal mogelijk is. Maar eigelijk zou je programma dus moeten werken als er een browser de actieve window is, en er getypt wordt. Deze variabelen zijn volgens mij goed te controleren.

Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 24-09 20:24
Zeebonk schreef op dinsdag 06 januari 2009 @ 13:45:
Nou ben ik hier ook niet een ster in. Ik weet niet precies wat er allemaal mogelijk is. Maar eigelijk zou je programma dus moeten werken als er een browser de actieve window is, en er getypt wordt. Deze variabelen zijn volgens mij goed te controleren.
Daar komt het heel kort door de bocht op neer. Alleen moet ik in mijn applicatie dan in een thread / lus lopen wachten totdat er een browser het actieve venster is.

Ik wou het meer de andere kant op hebben: de browser roept mijn programma aan. Enige manier waarop dit kan is door een toolbar / extension lijkt mij.

Vind het een beetje zonde van die thread / lus.

Acties:
  • 0 Henk 'm!

  • CMG
  • Registratie: Februari 2002
  • Laatst online: 10-12-2024

CMG

Niemand_Anders schreef op vrijdag 11 juli 2008 @ 09:12:
[...]

Op je werk heb je wat betreft ICT geen privacy. Een werknemer mag gewoon je email/post controleren, telefoon gesprekken mogen worden opgenomen en afgeluisterd. Ook mag een werkgegever nagaan welke websites je bezoekt en daar eventueel actie tegen ondernemen.

Als jij je privemail via pop3/imap ophaalt en op het werk bekijkt, dan mag dat volgens de wet gewoon bekeken worden. Wil je niet dat je baas (chef, etc) je mail leest, dan moet je het gewoon thuis lezen c.q. houden.
Dit klopt niet. Sinds 1 of 2 jaar (weet de datum niet meer precies) valt e-mail onder het briefgeheim en mag een werkgever jou mail niet lezen, geen uitzonderingen.

On-Topic:

Het uitlezen van welke url er momenteel open staat is niet zo moeilijk (voor IE iig), maar zal wel per browser geimplementeerd moeten worden aangezien je met de Win32 api aan de slag moet.

Ff Google gebruikt en tada: http://www.omegacoder.com/?p=63

Dit is nog makkelijker dan de oplossing die ik zelf een paar jaar terug heb geschreven.

[ Voor 18% gewijzigd door CMG op 06-01-2009 18:45 . Reden: typo ]

NKCSS - Projects - YouTube


Acties:
  • 0 Henk 'm!

  • jos707
  • Registratie: December 2000
  • Laatst online: 24-09 11:55
aaajeetee schreef op dinsdag 06 januari 2009 @ 11:20:
Ik kom hier toch even op terug.

De hele ochtend ben ik al op Google aan het zoeken naar een manier om de ingevoerde URL te kunnen 'capturen'. Wat ik daarmee bedoel is dat mijn programma pas iets gaat doen, zodra hij een URL binnen krijgt.

Ik heb de volgende opties bedacht:
1. Een delegate / event koppelen aan de browser (geen idee hoe en of dat mogelijk is?);
2. De browser events / messages opvangen (met name de events / messages m.b.t. de adresbalk).
3. Een IE BHO / FF extensie;
Browser events messages opvangen is alleen mogelijk als je met global hooks aan de slag. Je zult je global hook aan het IE/FF proces moeten hangen. Op deze manier kan je de windowmessages opvangen die aangeven dat er een nieuwe URL is ingegeven in de adresbalk. Nu is dit bij mijn weten alleen mogelijk als op een unmanaged manier te werk gaat. Dus om dit met C# voor elkaar te krijgen lijkt me alsnog niet mogelijk.

Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 24-09 20:24
Dank jullie wel.

Blijft dus over het lussen / threaden (pollen) en een extension / dll te maken en die door de browser te laten includen.

Zoals ik het zie is het pollen een dure en niet efficiente manier. Hoeveel procent van de tijd staat je browser open én typ je een nieuwe url in? Dan lijkt mij de andere oplossing toch de meest efficiente.

Ik dank jullie voor de antwoorden en het meedenken; ik ga dus voor het maken van een DLL + extension (IE en FF).

Acties:
  • 0 Henk 'm!

  • CMG
  • Registratie: Februari 2002
  • Laatst online: 10-12-2024

CMG

aaajeetee schreef op woensdag 07 januari 2009 @ 09:05:
Dank jullie wel.

Blijft dus over het lussen / threaden (pollen) en een extension / dll te maken en die door de browser te laten includen.

Zoals ik het zie is het pollen een dure en niet efficiente manier. Hoeveel procent van de tijd staat je browser open én typ je een nieuwe url in? Dan lijkt mij de andere oplossing toch de meest efficiente.

Ik dank jullie voor de antwoorden en het meedenken; ik ga dus voor het maken van een DLL + extension (IE en FF).
Wat je zou kunnen doen is het volgende: Global hooks instellen op Window messages.

WM_ACTIVATE = Activeren van een scherm. Dit pak je als trigger om een keysniffer te starten. Luister dan op WM_KEYDOWN / WM_KEYUP om te zien of er een enter getikt wordt (zou navigate kunnen zijn) en WM_MOUSEUP om te zien op welke Y as binnen het scherm geklikt wordt (navigate button). Samen met de X & window width zou je kunnen bepalen of de button geklikt is.

Mijn tip is om even met Spy++ (zit standaard bij Visual Studio) aan de gang te gaan om te zien welke window messages je allemaal kan gebruiken om te bepalen of een gebruiker naar een andere website navigeerd.

Dit zou dan samen een alternatief vormen voor het pollen. Let wel op dat je programma dan waarschijnlijk opgepikt wordt door anti-virus applicaties, een whitelisting zal dan nodig zijn.

NKCSS - Projects - YouTube

Pagina: 1