if you REALLY would like a detail look at whats opening ports.. do this:
 
start > run > cmd.exe <enter> 
now type in the black dos window: 
netstat -a -b -v  
now it should look like this:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp. 
C:\Documents and Settings\*your account*>netstat -a -b -v 
  Proto  Local Address          Foreign Address        State           PID
  TCP    NETWORK-93BA05E:http   NETWORK-93BA05E:0      LISTENING       2000
  [Apache.exe] 
  TCP    NETWORK-93BA05E:epmap  NETWORK-93BA05E:0      LISTENING       1100
  c:\windows\system32\WS2_32.dll
  C:\WINDOWS\system32\RPCRT4.dll
  c:\windows\system32\rpcss.dll
  C:\WINDOWS\system32\svchost.exe
  -- unknown component(s) --
  [svchost.exe] 
  TCP    NETWORK-93BA05E:microsoft-ds  NETWORK-93BA05E:0      LISTENING
...etc 
if you dont want it to resolve hosts, or use names of ports, just use the -n option, this forces the numerical option which makes everything has a name back into its number form:  
C:\Documents and Settings\*your account*>netstat -a -b -v -n
Active Connections 
  Proto  Local Address          Foreign Address        State           PID
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       2000
  [Apache.exe]  
this will give you LOTS of stats on what programs and services have activated a port. 
if you want to know what is being sent over these ports, download ethereal and its required winpcap ethernet library at 
http://ethereal.com/ 
you can learn some interesting things about networks by just sniffing 
