Checkout
July 10th, 2002, 01:22 PM
I would imagine (but don't know for certain) that what we observe as ports are merely addresses in a host's memory - an array of 64k such addresses. I further imagine that there's a callable function in the Operating System which uses these addresses to exchange incoming and outgoing buffers between applications and the Internet. Probably there's more sophistication here, such as buffer chaining and parameter blocks. Somebody please tell me if I'm blowin' smoke or swiggin' vodka here. :)
The question is (and I'm simply posting more totally unfounded assumptions here for correction) how do ports work internally to the host? Here's my uneducated proposition:
. A browser will want to use port 80 because that's the standard port for HTML
. If a browser is set to use a proxy on (say) port 8080, it will bind to 8080 instead of 80
. The browser will call the OS function to claim (bind to) port 8080
. The OS function will set the address array element 8080 to point to a buffer and parm block supplied by the browser
. The browser, if sending, will make another function call to transmit the filled buffer
. The browser, if listening, will wait for a wake-up call from the OS (return instruction in an asynchronous browser task)
By now many of you will realise I'm building a house of cards on quicksand foundations...
Thus the browser is talking to the proxy on port 8080, and the proxy is talking to the Internet on port 80 - or is it? What if I'm using The Proxomitron (port 8080) with an external proxy set to JAP (port 4001)?
Questions arise:
1) Can the Internet 'see' ports 8080 and 4001?
2) Does JAP send and receive on port 4001, or does it really use port 80 under the hood?
3) If HTML uses port 80 by convention, how can a browser and an email client use it simultaneously, which they empirically and obviously can?
Secondary (but important) Other questions:
1) How can I force applications which don't intrinsically have a 'use proxy' setting to use a proxy? (Example: VisualZone listens on port 3731. Why it has to listen, I don't know - but I'd like to know.)
At this point, I think I need to paint a picture - so here's my TCPView Pro snapshot (offline):
Process:PID***Protocol***Local Address***RemoteAddress***Sent***Received***ExtraDNS.dll:1588***TCP***0.0.0.0:53***LISTENING*********
ExtraDNS.dll:1588***UDP***0.0.0.0:53****:****29/5848***29/1122***
spyblocker.exe:1228***TCP***0.0.0.0:80***LISTENING*********
svchost.exe:580***TCP***0.0.0.0:135***LISTENING*********
System:4***TCP***0.0.0.0:445***LISTENING*********
System:4***UDP***0.0.0.0:445****:**********
ExtraDNS.dll:1588***UDP***0.0.0.0:1027****:****92/3733***69/14455***
VisualZone.exe:1720***UDP***0.0.0.0:3731****:**********
javaw.exe:1132***TCP***127.0.0.1:4001***LISTENING*********
Proxomitron.exe:1136***TCP***127.0.0.1:8080***LISTENING*********
I know there are a lot of questions here, but I need answers to all of them else my understanding will remain incomplete (and I'm certain others will benefit too). I thank all contributors in advance, and very sincerely. A Karma Cookie to everyone who doesn't reply, "Huh?" but manages to enlighten me in at least one aspect.
Apologies in advance to all those whose primary language isn't English - it's hard for me, in this case, not to use 'engineering English' for the sake of brevity.
I would also appreciate book recommendations, orientated to Windows, if you please.
And finally...
Over at the SpyBlocker forum, SpyBlocker (doubtless Paul Kurland himself) intimated that there's a program available for chaining pacfiles, but he couldn't recall it. Does this ring any bells for people here? I suspect it's some kind of port redirector.
Dammit, more questions!
1) SpyBlocker is set to port 80, which cannot be changed. It works even with JAP running, so I guess port 80 is always involved, thus port 4001 (JAP) is only a conduit to port 80
2) Oh, I forget, and I'm growing tired
3) Anyone got a job for me? I'm out of work in two days
The question is (and I'm simply posting more totally unfounded assumptions here for correction) how do ports work internally to the host? Here's my uneducated proposition:
. A browser will want to use port 80 because that's the standard port for HTML
. If a browser is set to use a proxy on (say) port 8080, it will bind to 8080 instead of 80
. The browser will call the OS function to claim (bind to) port 8080
. The OS function will set the address array element 8080 to point to a buffer and parm block supplied by the browser
. The browser, if sending, will make another function call to transmit the filled buffer
. The browser, if listening, will wait for a wake-up call from the OS (return instruction in an asynchronous browser task)
By now many of you will realise I'm building a house of cards on quicksand foundations...
Thus the browser is talking to the proxy on port 8080, and the proxy is talking to the Internet on port 80 - or is it? What if I'm using The Proxomitron (port 8080) with an external proxy set to JAP (port 4001)?
Questions arise:
1) Can the Internet 'see' ports 8080 and 4001?
2) Does JAP send and receive on port 4001, or does it really use port 80 under the hood?
3) If HTML uses port 80 by convention, how can a browser and an email client use it simultaneously, which they empirically and obviously can?
Secondary (but important) Other questions:
1) How can I force applications which don't intrinsically have a 'use proxy' setting to use a proxy? (Example: VisualZone listens on port 3731. Why it has to listen, I don't know - but I'd like to know.)
At this point, I think I need to paint a picture - so here's my TCPView Pro snapshot (offline):
Process:PID***Protocol***Local Address***RemoteAddress***Sent***Received***ExtraDNS.dll:1588***TCP***0.0.0.0:53***LISTENING*********
ExtraDNS.dll:1588***UDP***0.0.0.0:53****:****29/5848***29/1122***
spyblocker.exe:1228***TCP***0.0.0.0:80***LISTENING*********
svchost.exe:580***TCP***0.0.0.0:135***LISTENING*********
System:4***TCP***0.0.0.0:445***LISTENING*********
System:4***UDP***0.0.0.0:445****:**********
ExtraDNS.dll:1588***UDP***0.0.0.0:1027****:****92/3733***69/14455***
VisualZone.exe:1720***UDP***0.0.0.0:3731****:**********
javaw.exe:1132***TCP***127.0.0.1:4001***LISTENING*********
Proxomitron.exe:1136***TCP***127.0.0.1:8080***LISTENING*********
I know there are a lot of questions here, but I need answers to all of them else my understanding will remain incomplete (and I'm certain others will benefit too). I thank all contributors in advance, and very sincerely. A Karma Cookie to everyone who doesn't reply, "Huh?" but manages to enlighten me in at least one aspect.
Apologies in advance to all those whose primary language isn't English - it's hard for me, in this case, not to use 'engineering English' for the sake of brevity.
I would also appreciate book recommendations, orientated to Windows, if you please.
And finally...
Over at the SpyBlocker forum, SpyBlocker (doubtless Paul Kurland himself) intimated that there's a program available for chaining pacfiles, but he couldn't recall it. Does this ring any bells for people here? I suspect it's some kind of port redirector.
Dammit, more questions!
1) SpyBlocker is set to port 80, which cannot be changed. It works even with JAP running, so I guess port 80 is always involved, thus port 4001 (JAP) is only a conduit to port 80
2) Oh, I forget, and I'm growing tired
3) Anyone got a job for me? I'm out of work in two days