An application may be binding multiple sockets to a specific port,how can I get those sockets command line?

link|improve this question

75% accept rate
feedback

3 Answers

up vote 11 down vote accepted

lsof will also provide you with information about open sockets:

$ lsof -i TCP:17500        
COMMAND PID    USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
Dropbox 244 username  19u  IPv4 0x05584748      0t0  TCP *:17500 (LISTEN)
link|improve this answer
what does 19u mean? – kernel Jun 20 '11 at 10:36
@kernel, is the File Descriptor number of the file. "u" means r+w access. man lsof :) – Fran Jun 20 '11 at 10:48
feedback

Netstat can provide you this information :

petrus@srv:~$ sudo netstat -taunp
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        PID/Program name
tcp        0      0 127.0.0.1:4949          0.0.0.0:*               LISTEN      7837/munin-node 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6399/sshd       
udp        0      0 0.0.0.0:56317           0.0.0.0:*                           9639/rpc.statd  
udp        0      0 0.0.0.0:911             0.0.0.0:*                           9639/rpc.statd  

Output shortened for clarity.

link|improve this answer
I swear, I've never seen a Unix system speaking FRENCH before! – Massimo Jun 20 '11 at 6:46
@Massimo: well, mine does :) – petrus Jun 20 '11 at 8:35
feedback

If you are using *bsd system (I don't know if it exist for linux and other *nix), there is this socksat command, which does what you are looking for.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.