lsof ve dinleme portları


50

Mac OS X'te bir ağ bağlantısı için dinleme tüm işlemleri almaya çalışıyorum netstatyok -pseçeneği ve ben lsof ile çalışıyorum

lsof -i -sTCP:LISTEN

Bana hepsi için değil, dinleme süreçlerinin adil bir listesini verir. Örneğin bağlantı 10080'e bağlantı kurabilirim, burada bağlantıyı dinleyen bir işlemim var ancak bu çıkışta gösterilmiyor lsof. Neyi kaçırıyorum?

$ telnet localhost 10080
Trying ::1...
Connected to localhost.
Escape character is '^]'.
^]
telnet> Connection closed.

fakat

$ sudo lsof -n -i | grep 10080
$

3
Lsof'un çıktısı amanda10080 yerine mi diyor ?
— Jon Lin,

3
@JonLin -nYalnızca bağlantı noktalarını değil adresleri etkilediğini fark etmedim . Bağlantı noktası numaralarını almak için de kullanmam gerekiyor -P. Teşekkürler
— Matteo,

3
@JonLin: ama mesajınız var lsof -i -sTCP:LISTEN, ve olmadan ve 10080'i -nde ortaya koymadı. Yani kullanmak zorundasın -P.
— Hanan N.

Yanıtlar:


75
sudo lsof -iTCP -sTCP:LISTEN
sudo lsof -iTCP -sTCP:LISTEN -P
sudo lsof -iTCP -sTCP:LISTEN -P -n
sudo lsof -iTCP -sTCP:LISTEN -n

Hepsi ... | wc -lbenim yoğun kullanılan Lion MBP'mde aynı 32 girişi ( ) döndürüyor.

-P -nlsofad çözümlemesi yapmayı engeller ve engellemez. Bunlardan herhangi birini özlüyorum, çok yavaş olabilir.

UDP için: sudo lsof -iUDP -P -n | egrep -v '(127|::1)'. Olmadan -nve -Puzun zaman alır.

Hatırlatma: Bu, güvenlik duvarı ayarlarını içermez.


3
Evet sorun eksikti -P. Yanlışlıkla -nsadece IP'lere değil, port numaralarına da uygulandığını varsaydım .
— Matteo,

-1
  1. Öncelikle, gerekli portu işgal eden İşlem Kimliğini (pid) öğrenin (örn. 5434):

    ps aux | grep 5434
    
  2. Öldürün bu işlemi:

    kill -9 <pid>
    

5
ps auxbir işlemin kullanıldığı portları listelemiyor
— Matteo,

Matteo ile aynı fikirdeyim; netstat -anp gibi bir şey yapmadığınızdan emin misiniz? grep 5434 (5434'te dinleyenlerin bir listesini döndürür, ilk veya ikinci sütun ise pid olur mu?)
— Foon

6
Bu nedenle, yalnızca işlem dizisinde açıkça verilen bağlantı noktası numarasıyla bir işlemin çağrıldığı ve dizenin bu kısmının grep ile eşleneceği bir durumda çalışabilir.
— Techraf

1
kill -9Bir süreçten kurtulmak için ilk seçenek olarak kullanmak aşırı bir seçimdir. Ayrıca, bu aslında bir şeyi öldürmekle ilgili değil, neyin kaçtığını bulmakla ilgili soruya cevap vermiyor.
— Lindes
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.