Toon posts:

[c++ win32] traffic afvangen / port forwarden?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil graag een progje maken dat verkeer op bepaalde porten opvangt en doorstuurt naar een ander ip. Zodat ik bijvoorbeeld programma's die iets met connecties of traffic doen (ftp apps, email, games, whatever) kan laten connecten naar localhost:12345, en dat mijn progje dat dan afvangt en doorstuurt naar een nader te bepalen adres en port.

Iemand enig idee hoe dat moet???
Ik zou het 't liefst puur met win32 api functies doen, MFC of .NET heb ik totaal geen ervaring mee.

Ben in principe alleen geïnteresseed in TCP, maar als UDP er op dezelfde manier bij kan is mooi meegenomen :)

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Simpel:
maak server socket
forever {
wacht op inkomende connectie
open client socket naar nader te bepalen adres/port
lees van server socket
zend alles naar client socket
}

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Verwijderd

Topicstarter
Uhm, klinkt goed... maar van die regels weet ik alleen hoe je "forever {" en "}" zou moeten implementeren :)

Ik heb geprobeerd hier wat documentatie of voorbeelden over te vinden, maar vind nergens iets simpels/duidelijks zonder dat er ellenlange verhalen aan te pas komen over troep die er volgens mij weinig mee te maken heeft. ;(

  • iets
  • Registratie: Maart 2002
  • Laatst online: 10-05 19:23
code:
1
while (true);

? :+

[ Voor 6% gewijzigd door iets op 04-03-2005 14:52 ]

tvw


  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

Euh, waarom gebruik je niet gewoon NAT of rinetd?

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 07-05 22:49

curry684

left part of the evil twins

Verwijderd schreef op vrijdag 04 maart 2005 @ 14:50:
Uhm, klinkt goed... maar van die regels weet ik alleen hoe je "forever {" en "}" zou moeten implementeren :)

Ik heb geprobeerd hier wat documentatie of voorbeelden over te vinden, maar vind nergens iets simpels/duidelijks zonder dat er ellenlange verhalen aan te pas komen over troep die er volgens mij weinig mee te maken heeft. ;(
Heb je al eens in MSDN Library Online gekeken of de online help van je ontwikkelomgeving?

Professionele website nodig?


  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 08-05 18:30
Radiant schreef op vrijdag 04 maart 2005 @ 15:05:
Euh, waarom gebruik je niet gewoon NAT of rinetd?
misschien heeft hij die optie gewoon niet, hij geeft toch aan dat die het zelf wilt schrijven |:(

  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

gideon82 schreef op vrijdag 04 maart 2005 @ 15:13:
[...]


misschien heeft hij die optie gewoon niet, hij geeft toch aan dat die het zelf wilt schrijven |:(
Waarom zou hij geen rinetd kunnen draaien als hij wel een zelfgeschreven progsel kan draaien? Het lijkt ook dat hij nog niet zoveel verstand heeft dan C++ dus het zou misschien beter zijn om eerst wat simpelere dingen te proberen.

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 08-05 18:30
Radiant schreef op vrijdag 04 maart 2005 @ 15:14:
[...]


Waarom zou hij geen rinetd kunnen draaien als hij wel een zelfgeschreven progsel kan draaien? Het lijkt ook dat hij nog niet zoveel verstand heeft dan C++ dus het zou misschien beter zijn om eerst wat simpelere dingen te proberen.
Volgens mij is de vraag niet.. Hoe kan ik dit voor elkaar krijgen ?, maar hoe SCHRIJF ( codeer ) ik zoiets.

  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

gideon82 schreef op vrijdag 04 maart 2005 @ 15:16:
[...]


Volgens mij is de vraag niet.. Hoe kan ik dit voor elkaar krijgen ?, maar hoe SCHRIJF ( codeer ) ik zoiets.
Ik zeg toch ook niet dat hij het niet zelf mag doen? Wellicht weet hij niet van die andere oplossingen en wil hij daarom zelf iets maken. Van mij mag hij het best zelf gaan proberen maar ik zeg alleen maar dat het misschien een beetje te hoog gegrepen is voor iemand die nog geen ervaring heeft met sockets. Zeker omdat je hier non-blocking zooi voor nodig hebt is het misschien wat lastig voor hem.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 07-05 22:49

curry684

left part of the evil twins

Radiant schreef op vrijdag 04 maart 2005 @ 15:25:
[...]

Ik zeg toch ook niet dat hij het niet zelf mag doen? Wellicht weet hij niet van die andere oplossingen en wil hij daarom zelf iets maken. Van mij mag hij het best zelf gaan proberen maar ik zeg alleen maar dat het misschien een beetje te hoog gegrepen is voor iemand die nog geen ervaring heeft met sockets. Zeker omdat je hier non-blocking zooi voor nodig hebt is het misschien wat lastig voor hem.
Waarom kan dit niet met een blocking socket? :?

Professionele website nodig?


  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

curry684 schreef op vrijdag 04 maart 2005 @ 15:29:
[...]

Waarom kan dit niet met een blocking socket? :?
Omdat je van 2 sockets tegelijk moet lezen en dat aan mekaar doorsturen (of meer als het ding multiclient moet zijn)? Of je moet threads gaan gebruiken maar dat is een beetje omslachtig.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 07-05 22:49

curry684

left part of the evil twins

Mjah 1 reader thread en 1 writer thread is imho minder omslachtig dan non-blocking sockets ;)

Professionele website nodig?

Pagina: 1