Bagaimana cara menentukan apa yang menggunakan semua port TCP fana?

3

Kotak Windows saya baru-baru ini mulai berperilaku aneh.

Setelah bangun selama sekitar 3-4 hari, saya tidak dapat membuat koneksi TCP keluar. Sebagian besar aplikasi tanpa penanganan kesalahan khusus hanya akan mengatakan "koneksi gagal". Beberapa penyelidikan menunjukkan bahwa kesalahannya adalah "Tidak ada ruang buffer yang tersedia."

Entri Log Peristiwa menceritakan lebih banyak tentang kisah ini:

TCP / IP gagal membuat koneksi keluar karena titik akhir lokal yang dipilih baru-baru ini digunakan untuk menghubungkan ke titik akhir jarak jauh yang sama. Kesalahan ini biasanya terjadi ketika koneksi keluar dibuka dan ditutup pada tingkat tinggi, menyebabkan semua port lokal yang tersedia digunakan dan memaksa TCP / IP untuk menggunakan kembali port lokal untuk koneksi keluar. Untuk meminimalkan risiko korupsi data, standar TCP / IP memerlukan periode waktu minimum untuk berlalu antara koneksi berturut-turut dari titik akhir lokal yang diberikan ke titik akhir jarak jauh yang diberikan.

Saya berlari netstat -qno di prompt perintah admin dan melihat yang berikut:

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       972
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:3389           0.0.0.0:0              LISTENING       592
  TCP    0.0.0.0:5357           0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:6160           0.0.0.0:0              LISTENING       2808
  ... some more random TCP connections ...
  TCP    0.0.0.0:49152          0.0.0.0:0              BOUND           4
  TCP    0.0.0.0:49153          0.0.0.0:0              BOUND           4
  TCP    0.0.0.0:49154          0.0.0.0:0              BOUND           4
  TCP    0.0.0.0:49155          0.0.0.0:0              BOUND           4
  TCP    0.0.0.0:49156          0.0.0.0:0              BOUND           4
  TCP    0.0.0.0:49157          0.0.0.0:0              BOUND           4
  TCP    0.0.0.0:49158          0.0.0.0:0              BOUND           4
  TCP    0.0.0.0:49159          0.0.0.0:0              BOUND           4
  TCP    0.0.0.0:49160          0.0.0.0:0              BOUND           4
  TCP    0.0.0.0:49161          0.0.0.0:0              BOUND           4
  ... 16,383 entries, all the way up to ...
  TCP    0.0.0.0:65531          0.0.0.0:0              BOUND           4
  TCP    0.0.0.0:65532          0.0.0.0:0              BOUND           4
  TCP    0.0.0.0:65533          0.0.0.0:0              BOUND           4
  TCP    0.0.0.0:65534          0.0.0.0:0              BOUND           4
  TCP    0.0.0.0:65535          0.0.0.0:0              BOUND           4
  ... some UDP stuff, nothing out of the ordinary ...

Seperti yang Anda lihat, memang benar bahwa setiap port keluar TCP tunggal ada di BOUND negara, dan PID yang dimilikinya adalah 4, yang mewakili System proses. (Proses yang sama adalah mendengarkan pada mis. Port 445 untuk koneksi SMB.)

TCPView tidak menunjukkan semua ini BOUND koneksi, hanya koneksi aktif yang terbuka sebelum masalah dimulai.

Pemindaian malware penuh dengan laporan Pembela tidak ada masalah.

Saya sudah mencoba menghentikan layanan yang tidak perlu dan menutup aplikasi yang tidak digunakan. Bahkan logout dan kembali tidak menyelesaikan masalah. Satu-satunya resolusi adalah untuk reboot sistem, dan bahkan kemudian, itu hanya menyelesaikan masalah selama beberapa hari lagi.

Saya perhatikan bahwa ketika aplikasi pengguna biasa (mis. Chrome) menggunakan port TCP keluar, mereka muncul di Internet BOUND nyatakan tetapi mereka memiliki PID yang benar terkait dengan mereka di Netstat. Ini sepertinya mengindikasikan beberapa malware serius atau semacam bug utama di Windows.

Windows 10 1607.

Apa langkah saya selanjutnya dalam memecahkan masalah ini?

fdmillion
sumber
Saya melihat Anda bahwa Anda menemukan masalah Anda, tetapi untuk menjawab "Apa yang akan menjadi langkah saya berikutnya dalam mengatasi masalah masalah ini" Anda bisa melakukan beberapa kombinasi dari pengambilan paket (mis. WireShark) dan pemantauan proses (mis. SysInternals Process Monitor) untuk membantu mempersempit itu ke bawah.
BrianC

Jawaban:

3

Saya percaya saya telah menemukan pelakunya.

Saya telah melakukan beberapa percobaan dengan inisiator iSCSI beberapa waktu lalu (menghubungkannya ke instance NAS4Free). Saya perhatikan bahwa inisiator iSCSI masih mencoba untuk terhubung - setiap beberapa menit - ke server iSCSI yang saya jalankan. Saya menghapus alamat IP server saya (dinonaktifkan) dan sejauh ini, tampaknya telah menghentikan banjir port yang terikat.

Ini masuk akal karena inisiator iSCSI adalah layanan tingkat sistem. Mungkin ada bug di layanan ini?

fdmillion
sumber
0

Ada pembaruan windows yang menyebabkan masalah ini terjadi dengan koneksi iSCSI.

9 Mei 2017 — KB4019215 https://support.microsoft.com/en-us/help/4019215/windows-8-update-kb4019215

Anda dapat menghapus pembaruan ini atau menerapkan yang terbaru untuk menghindari masalah ini ketika koneksi baru dibuat untuk menghapus target iSCSI sampai semua porta fana habis.

General Mills
sumber