web-dev-qa-db-fra.com

Quels processus utilisent quels ports sous Unix?

Je dois savoir quels ports sont associés à quels processus sur une machine Unix (HP Itanium). Malheureusement, lsof n'est pas installé et je n'ai aucun moyen de l'installer. 

Est-ce que quelqu'un connaît une méthode alternative? Une session assez longue sur Google n'a rien révélé.

34
gnuchu

En supposant qu'il s'agisse de HP-UX? Qu'en est-il des Ptools - les avez-vous installés? Si c'est le cas, vous pouvez utiliser "pfiles" pour trouver les ports utilisés par l'application: 

pfiles affiche des informations sur tous les descripteurs de fichier ouverts d'un processus . Si le descripteur de fichier correspond à un fichier, pfiles affiche fstat (2) et fcntl (2) informations.

Si le descripteur de fichier correspond à un socket, pfiles imprime socket informations connexes, telles que le type de socket, la famille de socket et la famille de protocoles.

Dans le cas des familles de sockets AF_INET et AF_INET6, informations sur l'hôte homologue est également imprimé.

pour f dans $ (ps -ex | awk '{print $ 1}'); echo $ f; pfiles $ f | grep PORTNUM; terminé

changez PORTNUM pour le numéro de port. :) peut être un pid enfant, mais vous rapproche suffisamment pour identifier l'application posant problème.

10
Jay

netstat -l (en supposant qu'il soit fourni avec cette version d'UNIX)

43
Quentin

Étant donné (presque) tout sur Unix est un fichier, et lsof liste les fichiers ouverts ...

Linux: netstat -putan or lsof | grep TCP

OSX: lsof | grep TCP

Autre Unixen: lsof way ...

28
lms
netstat -pln

EDIT: Linux uniquement, sur d'autres UNIX, netstat peut ne pas supporter toutes ces options.

13
Sergey Stolyarov
netstat -ln | awk '/^(tcp|udp)/ { split($4, a, /:/); print $1, a[2]}' | sort -u

vous donne les ports TCP/UDP actifs. Ensuite, vous pouvez utiliser les ports avec fuser -n tcp ou fuser -n udp en tant que root et en supposant que fuser soit GNU fuser ou possède des options similaires.

Si vous avez besoin de plus d'aide, faites le moi savoir.

5
tzot

Essayez pfiles PID pour afficher tous les fichiers ouverts d'un processus.

2
dogbane

Quel processus utilise le port sous unix;

1. netstat -Aan | port de grep

racine> netstat -Aan | grep 3872

sortie> f1000e000bb5c3b8 tcp 0 0 * .3872. ECOUTER

2. rmsock f1000e000bb5c3b8 tcpcb

sortie> Le socket 0xf1000e000bb5c008 est maintenu par le processus 13959354 (Java).

3. ps -ef | grep 13959354

1
Ahmet Mecid Kaya

J'utilise cette commande:

netstat -tulpn | grep LISTEN

Vous pouvez avoir une sortie propre qui affiche l’identité du processus et les ports en cours d’écoute.

0
Linden X. Quan