Dalam nada yang sama dengan pertanyaan "Useful Command-line" (untuk Windows , Linux , dan Mac ), saya pikir akan lebih mudah untuk memiliki "cara yang berguna untuk menggunakan pertanyaan utilitas x". Halaman manual memberi tahu Anda parameter apa yang dilakukan, tetapi belum tentu mengapa Anda akan menggunakannya, apa artinya hasilnya, hal-hal berguna apa yang dilakukan perintah yang tidak akan pernah Anda ketahui tanpa eksperimen yang luas, atau bagaimana mendapatkan jawaban yang benar-benar Anda inginkan.
Saya ingin tahu tentang netstat . Tampaknya saya harus dapat mengetahui proses mana yang menggunakan bandwidth, dan, memang, seberapa cepat sistem menggunakan bandwidth. Ini juga terlihat berguna untuk mendeteksi koneksi yang tidak diinginkan (kemungkinan virii), dan memberikan semua jenis informasi routing (yang saya hanya harus mainkan ketika mencoba membuat PDA Zaurus Sharp menggunakan TCP / IP melalui USB.) Dengan kata lain, itu Kedengarannya seperti tambang emas, dan saya berharap beberapa dari Anda akan berbagi nugget informasi yang Anda temukan.
Harap sertakan versi netstat dan OS Anda dalam balasan Anda. Akan menyenangkan untuk melihat beberapa contoh output dan tahu artinya. Saya telah menandai pertanyaan ini sebagai komunitas wiki, dan saya harap Anda akan melakukan hal yang sama dalam jawaban Anda, sehingga orang lain, yang mengetahui OS yang berbeda, dapat meletakkan perintah yang hampir sama jika mereka tahu, dalam jawaban yang sama, dan maka kita dapat memilih jawaban mana yang paling berguna.
Tabel routing Netstat
[Ini diuji pada Mac OS X 10.5.7. Saya menduga hasilnya hampir sama di semua platform, seperti yang ditunjukkan bekerja pada Solaris.]
akan memberi Anda tabel routing.
adalah sama, tetapi akan memberi Anda IP mentah alih-alih mencari nama mesin. Outputnya terlihat seperti ini (hanya lebih lama):
Kolom:
Tujuan dan Gateway: Tujuan adalah alamat (atau kisaran alamat) yang mungkin ingin kami kirimi informasinya. Semua data yang dikirim ke tujuan itu akan pergi ke gateway terkait. Gateway tahu ke mana harus mengirim data untuk 'hop' berikutnya dalam perjalanan. Jika kami ingin mengirim data ke tujuan yang tidak memiliki entri dalam tabel perutean, itu akan melalui gateway default.
Bendera: Halaman man / info mencantumkan semua bendera. Berikut adalah maksud pengaturan pada gateway default saya:
Itu aneh bahwa ia mengklaim ditambahkan secara manual, karena datang melalui DHCP.
Referensi: "Bidang refcnt memberikan jumlah saat ini menggunakan aktif rute. Protokol berorientasi koneksi biasanya berpegangan pada satu rute selama durasi koneksi sementara protokol tanpa koneksi mendapatkan rute saat mengirim ke tujuan yang sama." (Halaman manual)
Gunakan: "Bidang penggunaan menyediakan hitungan jumlah paket yang dikirim menggunakan rute itu."
Netif: "Entri antarmuka menunjukkan antarmuka jaringan yang digunakan untuk rute."
Di Mac saya,
Kedaluwarsa: Dari halaman manual untuk versi netstat yang berbeda: "Menampilkan waktu (dalam menit) tersisa sebelum rute berakhir."
sumber
Periksa Halaman Netstat CommandLineFu untuk beberapa cara yang berguna untuk menggunakan netstat di bash.
sumber
Di windows:
Menunjukkan jumlah koneksi TCP / IP. Berguna jika Anda memecahkan masalah sistem jaringan tinggi yang kehabisan port TCP dan perlu meningkatkan MaxUserPorts .
sumber
Tingkat Transmisi / Penerimaan
Di Mac [OS X 10.5.7]:
[Lihat jawaban chuck untuk catatan tentang penggunaan pada Solaris dan Linux.]
Outputnya terlihat seperti ini:
Ini menunjukkan berapa banyak paket dan byte yang ditransfer dalam interval waktu tertentu. (10 detik dalam contoh ini). Saya terkoneksi ke youtube dan mengunduh lebih dari 1 MB setiap interval, sampai saya menutup tab browser dan kecepatannya turun.
Ini terbukti bermanfaat jika Anda menunggu unggahan atau unduhan selesai. Pantau laju, dan ketika turun drastis, Anda tahu itu selesai.
Perhatikan bahwa perintah di atas menunjukkan semua throughput pada semua antarmuka. Untuk cakupan ke antarmuka tertentu (WiFi dalam contoh ini), gunakan
-I
bendera, seperti:sumber
Windows:
Menunjukkan koneksi TCP aktif, tetapi tidak ada aktivitas UDP.
Menunjukkan semua koneksi TCP aktif, serta mendengarkan koneksi TCP dan UDP. Tidak menunjukkan aktivitas UDP keluar di sini.
sumber
netstat -p tcp -n
, ataunetstat -p tcp -an
Windows
Tampilkan proses menggunakan koneksi
sumber
Windows 7 (mungkin sejak sebelumnya):
daftar sesi aktif dengan PID terkait
atau untuk menyimpan langkah
(dari prompt CMD tinggi) memberikan nama proses
sumber
Saya yakin saya menemukan kembali roda tetapi di sini adalah skrip Perl sederhana untuk menjalankan netstat dan mengurutkan output sehingga IP saat ini sebagian besar terhubung keluar di atas. Ini paling baik digunakan dengan program 'menonton' untuk pembaruan dalam interval 2 detik.
Pembaruan: tulis ulang yang signifikan 2013-02-11 untuk menyingkirkan banyak masalah dan menampilkan nama host
Output sampel:
sumber
Solaris:
sumber
Dari buku Wicked Cool Shell Scripts:
Script # 90.1 : Setiap menit, ambil nilai netstats (via crontab)
Script # 90.2 : Menganalisis log kinerja berjalan netstat, mengidentifikasi hasil penting dan tren.
(Suka buku ini - layak dibeli!)
sumber
Di Solaris, banyak orang terbiasa melakukan "netstat -i 1" untuk mendapatkan jumlah paket yang berjalan. Netstat Linux memiliki versi yang tidak berguna dari fitur ini, karena ia menunjukkan kepada Anda hitungan mentah dan bukan delta. Untuk mendapatkan hasil yang serupa, lakukan "sar -n DEV 1 0". Pertimbangkan sebenarnya "LANG = C sar -n DEV 1 0 | grep interfacename" (sar menempatkan waktu dengan AM dan PM di awal baris di lokasi tertentu, jadi sebaiknya biasakan selalu berlari "LANG = C sar "seandainya Anda akan menguraikannya).
sumber
Tentang Solaris,
Menampilkan ringkasan dari berbagai statistik. Berguna untuk memeriksa kesalahan dll.
sumber
Karena belum ada yang menyebutkannya:
menyediakan banyak statistik yang berguna berdasarkan protokol di linux.
sumber