Yanıtlar:
TCP için (aynı yaklaşım SCTP 1 veya bağlantı yönelimli aktarım protokolü için de geçerli olsa da) dinlemek için olanları aramakla aynıdır:
lsof -nPi tcp:the-port
Bir TCP soketinin açık olduğu süreçleri bu portta rapor edecektir. Kaynak bağlantı noktasını biliyorsanız (sunucu uygulamanız bunu bilir ve günlüğe kaydeder), bunun yerine hileli istemciyi belirlemek için kullanabilirsiniz.
UDP veya RAW soketler için daha zor olurdu, sanırım sistem ya da dtrace gibi bir şeyin kullanışlı olabileceği bir yer. Muhtemelen de denetlenir.
1lsof
4.86 sürümünde SCTP desteği (yalnızca Linux'ta) eklenmiş olsa da, -i
açıkça SCTP soketleri istemek için kullanamazsınız . Burada lsof -nP | grep -w 'SCTP.*:the-port'
bunun yerine bir buluşsal olarak kullanabilirsiniz .
Veri göndermek için kurduğu bağlantı türüne bağlı olarak, bu yaklaşımlardan biri sizi bir yere götürür.
tcpdump port 1234
Bu porta gönderilen verileri almak için kullanın . Başka bir makinede analiz etmek için Wireshark gibi bir program kullanabilirsiniz (bu -w
seçeneği kullanarak bir dosyaya kaydedilir ). Alternatif olarak, doğrudan Wireshark kullanın.
Bir tcp / udp bağlantısı kurması ve açık tutması durumunda netstat
, bağlantının uzak IP'sini bulmak için kullanabilirsiniz .
Bir işlemin açık soketlerini @StephaneChazelas tarafından verilen cevaptaki gibi listeleyin.
sockstat
Yerel ana bilgisayarda servisinizle bağlantı başlatan işlemi bulmak için komutu kullanabilirsiniz .
DESCRIPTION
The sockstat command lists open Internet or UNIX domain sockets.
Hedefinizle tüm kaynak bağlantılarını eşleştirmeniz yeterli. Bu, TCP / UDP / UNIX yuvaları için iyi çalışır.
Solaris'te tüm işlemlerde çalışan pfiller hangi işlemlerin hangi bağlantıların açık olduğunu göstermelidir. Muhtemelen ggrep'in -A, -B seçeneklerini kullanan bir miktar doldurma gerektirecektir ...
Linux'ta, netstat -anp --inet
yüklü olmasa bile çalışacaktır. ( --inet
Unix etki alanı soketlerini almak için de bırakın )