Skip to main content

Mac'te Netstat Komutu Nasıl Kullanılır

The Complete Linux Course: Beginner to Power User! (Nisan 2024)

The Complete Linux Course: Beginner to Power User! (Nisan 2024)
Anonim

MacOS'taki netstat komutu, Mac'inizin ağ iletişimleri hakkında ayrıntılı bilgileri görüntülemek için kullanılan bir Terminal komutudur. Ağ iletişimi, Mac'inizin dış dünyayla, tüm bağlantı noktalarında ve tüm uygulamalarda konuştuğu tüm yolları içerir. Netstat'a hakim olduktan sonra, Mac kullanıcıları bilgisayarlarının neden ve nasıl bir bağlantı kurduğunu hızlı bir şekilde anlayabilirler.

Netstat Koşu

Netstat komutu, varsayılan olarak Mac'lerde kullanılabilir. İndirilmesine veya yüklenmesine gerek yoktur.

Netstat'ı çalıştırmak için bir Terminal penceresi açın. Terminal’e aşina değilseniz, /Applications/Utilities/Terminal.app adresinde bulunur. tip netstat komutu çalıştırmak için Enter tuşuna basın.

Ekranınızda kayan büyük miktarda şifreli metnin farkına varacaksınız. Bu normal ve bekleniyor. Ek seçenekler olmadan, netstat Mac'inizdeki tüm aktif ağ bağlantılarını rapor edecektir. Modern bir ağ cihazının gerçekleştirdiği fonksiyonların sayısı göz önüne alındığında, listenin uzun olmasını bekleyebilirsiniz. Standart bir netstat raporu 1000'den fazla hat üzerinde çalışabilir.

Netstat'ın çıktısını filtrelemek, Mac etkin bağlantı noktalarınızda neler olup bittiğini anlamak için çok önemlidir. Netstat'ın çıktısını yerleşik bayraklarla filtreleyebilirsiniz. Bu bayraklar, netstat'ın kapsamını ve çıktılarını sınırlayan seçenekleri ayarlamanıza izin verir.

Netstat Bayrakları ve Seçenekleri

Tüm netstat'ın mevcut seçeneklerini görmek için komut isteminde man netstat yazın. Bu netstat'ın adam sayfasını ortaya çıkaracak. Ayrıca netstat man sayfasının çevrimiçi versiyonunu da görüntüleyebilirsiniz.

netstat -AabdgiLlmnqrRsSvWx -c kuyruk -f address_family -BEN arayüzey -p protokol -w Bekleyin

MacOS'ta Netstat, Windows'ta netstat veya Linux'taki netstat ile aynı şekilde çalışmaz. Netstat'ın uygulamalarından bayrak veya sözdizimi kullanmak, beklenen davranışa neden olmayabilir.

Bahşiş: Yukarıdaki kısa el yazısı tamamen anlaşılmaz görünüyorsa, komut sözdizimini nasıl okuyacağınızı öğrenin.

-r Paketlerin ağ çevresinde nasıl yönlendirildiğini gösteren yönlendirme tablosunu görüntüler.

-p protokol Belirli bir ağ protokolüyle ilişkili trafiği listeler. Protokollerin tam listesi / etc / protokollerinde bulunabilirken, daha önemli olanlar udp ve tcp'dir.

-v Her açık bağlantı noktasıyla ilişkili işlem kimliğini (PID) gösteren bir sütun ekleyerek özellikle boşluğu artırır.

-BEN arayüzey Belirtilen arayüz için paket veri sağlar. Tüm mevcut arayüzler -i bayrağı ile görüntülenebilir, ancak en0 tipik olarak varsayılan giden ağ arabirimidir. Küçük harfe dikkat edin.

-g çok noktaya yayın bağlantıları ile ilişkili bilgileri görüntüler.

-s Etkin olup olmadıklarına bakılmaksızın tüm protokollerin ağ istatistiklerini gösterir.

-n Uzak adreslerin etiketli isimlerini bastırır. Bu sadece sınırlı bilgiyi feda ederken netstat'ın çıkışını önemli ölçüde hızlandırır.

-a netstat'ın çıkışında bulunan ve varsayılan çıktıda bulunmayan sunucu portlarını içerir.

Netstat Örnekleri

Anlayışımızı uygulamaya koymak için, bazı netstat örneklerine bakalım.

netstat -apv TCP

Bu komut sadece açık bağlantı noktaları ve etkin bağlantı noktaları dahil olmak üzere Mac'inizdeki TCP bağlantılarını döndürecektir. Ayrıca, her bağlantıyla ilişkili PID'leri listeleyen ayrıntılı çıktıyı da kullanacaktır.

netstat -a | grep -i "dinle"

Netstat ve grep'in bu kombinasyonu Mac'inizdeki açık portları ortaya çıkaracak. Açık bağlantı noktaları, bir mesajı dinleyen bağlantı noktalarıdır. Sözdizimine aşina değilseniz, boru karakteri | bir komutun çıktısını başka bir komuta göndermek için kullanılır. "Dinle" anahtar kelimesi için arama yapmamıza ve sonuçlarımızı bulmamıza izin vererek, netstat'ın çıktısını grep'e aktarıyoruz.

Network Utility ile netstat'a erişme

Terminal komut satırı arabirimi aracılığıyla tam özellikli kullanıma ek olarak, netstat'ın bazı işlevlerine Network Utility uygulaması aracılığıyla da erişilebilir. Bu yerleşik macOS uygulaması / Applications / Utilities / Network Utility.app adresinde bulunabilir. Uygulamayı aç ve netstat netstat için grafik arabirime erişmek için sekme.

Ağ Yardımcı Programındaki seçenekler, komut satırında bulunanlardan açıkça daha sınırlıdır. Dört radyo düğmesi seçimi, önceden ayarlanmış bir netstat komutunu çalıştırır ve aşağıdaki ekranda çıkışı görüntüler.

Her radyo düğmesi için netstat komutları aşağıdaki gibidir:

  • Yönlendirme tablosu bilgilerini görüntüle netstat -r çalıştırır
  • Her protokol için kapsamlı ağ istatistiklerini görüntüle netstat -s çalışır
  • Çok noktaya yayın bilgilerini görüntüle netstat -g çalışır
  • Tüm mevcut soket bağlantılarının durumunu görüntüleme netstat çalışır

Netstat'ın lsof ile takviyesi

Gerçek şu ki, netstat'ın macOS uygulaması, kullanıcıların beklediği ve ihtiyaç duyduğu işlevselliklerin çoğunu içermez. Kullanımları olmasına rağmen, netstat Windows'da olduğu gibi macOS'taki kadar kullanışlı değildir. Farklı bir komut, eğer eksik işlevlerin çoğunu değiştirebilir.

lsof, herhangi bir uygulama tarafından şu anda açık olan dosyaları gösterir. Bu, uygulamalarla ilişkili açık bağlantı noktalarını denetlemek için de kullanılabilir. Lsof -i'yi çalıştırın ve internet üzerinden iletişim kuran tüm uygulamaların bir listesini görürsünüz. Bu genellikle Windows makinelerinde netstat kullanıldığında hedeftir. Ancak, bu görevi macOS'ta gerçekleştirmenin tek anlamlı yolu netstat ile değil, lsof ile.

Her bir açık dosya veya internet bağlantısının görüntülenmesi, çoğu kez ezici bir şekilde ayrılmaz.Bu yüzden, lsof sonuçları belirli kriterler ile kısıtlamak için bir dizi bayrakla geliyor. Komutun yardımcı programını genişleten birçok yararlı bayrak var. En önemlileri aşağıda. Daha fazla bayrak ve her bir bayrak uygulamasının teknik açıklamaları dahil olmak üzere ek okuma için lsof'un man sayfasını kontrol edin veya çalıştırın adam lsof bir Terminal isteminde.

lsof bayrakları ve seçenekleri

-ben tüm açık ağ bağlantılarını ve bağlantıyı kullanan işlemin adını görüntüler. 4 tane ekleniyor -i4sadece IPv4 bağlantılarını gösterecektir. Bunun yerine 6 tane ekleniyor (-i6) sadece IPv6 bağlantılarını gösterecektir.

-ben bayrak ayrıca daha fazla ayrıntı belirtmek için genişletilebilir. -iTCP veya -iUDP sadece TCP ve UDP bağlantılarını döndürecektir. -iTCP: 25 yalnızca bağlantı noktalarını 25 numaralı bağlantı noktasında döndürecektir. Bir bağlantı noktası aralığı, -iTCP: 25-50 gibi bir çizgi ile belirtilebilir.

-İ@1.2.3.4 kullanımı sadece IPv4 adresi 1.2.3.4'e olan bağlantıları döndürecektir. IPv6 adresleri aynı şekilde belirtilebilir. @ Habercisi aynı zamanda ana makine adlarını aynı şekilde belirtmek için de kullanılabilir, ancak hem uzak IP adresleri hem de ana bilgisayar adları eşzamanlı olarak kullanılamaz.

-s genellikle dosya boyutunu görüntülemek için lsof'u zorlar. Ancak, -ben bayrak, -s farklı çalışır. Bunun yerine, kullanıcının döndürme komutu için protokol ve durumunu belirtmesine izin verir.

-p lsof'u belirli bir işlem kimliğine (PID) kısıtlar. Çoklu PID'ler, -p 123,456,789 gibi müşterek araçlar kullanılarak ayarlanabilir. İşlem kimlikleri, PID 456'yı özel olarak hariç tutacak olan 123, ^ 456'daki gibi bir ^ ile de hariç tutulabilir.

-P port numaralarının port adlarına dönüştürülmesini, çıkış hızını hızlandırır.

-n ağ numaralarının ana bilgisayar adlarına dönüştürülmesini devre dışı bırakır. İle kullanıldığında -P yukarıda, lsof'un çıkışını önemli ölçüde hızlandırabilir.

-u kullanıcı yalnızca adlandırılmış kullanıcı tarafından sahip olunan komutları döndürür.

lsf örnekleri

Netstat gibi, lsof'un bazı örneklerini görmek bizim anlayışımızı geliştirmeye yardımcı olacaktır.

lsof -nP [email protected]: 513

Bu karmaşık görünümlü komut, tüm TCP bağlantılarını hostname ile listeleyecektir. lsof.itap ve liman 513. Ayrıca, IP adreslerine ve bağlantı noktalarına isim vermeden lsof komutunu çalıştırarak komutun fark edilir derecede daha hızlı çalışmasını sağlar.

lsof -iTCP -sTCP: DİNLENME

Bu, her TCP bağlantısını durumla birlikte döndürecektir DİNLE. Bu, Mac'inizdeki tüm açık TCP bağlantı noktalarını gösterir. Aynı zamanda bu açık bağlantı noktaları ile ilişkili işlemleri listeler. Bu, en çok PID'leri listeleyen netstat üzerinde önemli bir yükseltmedir.

sudo lsof -i -u ^ $ (whoami)

Tüm bağlantıları döndürür değil Şu anda oturum açmış olan kullanıcının sahip olduğu Bu komut diğerlerinden biraz farklıdır, bu yüzden onu ayrıntılı olarak çözeceğiz.

Karet ^, olumsuzlama için kullanılır. Yazıdan sonra metne uyan herhangi bir şey sonuçlardan kaldırılacaktır. Şu anda oturum açmış kullanıcının adını ben kimim lsof komutunun içinde $() lsof'un çıktı olarak metne erişmesine izin vermek. Sudo ile koşmak, kendinize ait olmayan görevleri görmenizi sağlar. Bu komutu sudo olmadan çalıştırmak boş bir liste döndürecektir.

Diğer Ağ Komutları

Ağınızı incelemede ilgi çekebilecek diğer Terminal ağ komutları arp, ping ve ipconfig'i içerir.