Belirli bir bağlantı noktasına bakmak için komut satırı


263

Windows komut satırından belirli bir bağlantı noktasının durumunu incelemenin bir yolu var mı? Tüm portları incelemek için netstat kullanabileceğimi biliyorum ama netstat yavaş ve belirli bir porta bakmak muhtemelen değil.


6
netstatyalnızca -nanahtarı kullanmazsanız yavaştır , yani çok sayıda DNS araması yapmak zorundadır.
Lorne Marquis

Yanıtlar:


282

İşte liman bulmanın kolay çözümü ...

Cmd cinsinden:

netstat -na | find "8080"

Bash'da:

netstat -na | grep "8080"

PowerShell'de:

netstat -na | Select-String "8080"

3
Bu komut nasıl kullanılır? Bu bağlantı noktası numarasının çalışıp çalışmadığını bilmek istiyorum: - [bağlantı] (https: //.localhost: 9043 / ibm / console / login.do)
Mayur Ingle

8
Ayrıca bağlantı noktasını kullanarak işlemin PID'sini eklemek için -obayraktan (yani -naoburada) bahsetmeye değer .
Steve Chambers

104

Sen kullanabilirsiniz netstatile kombine -npetmek bayraklar ve bir boru findveya findstrkomutlar.

Temel Kullanım şöyledir:

netstat -np <protocol> | find "port #"

Örneğin, TCP'de 80 numaralı bağlantı noktasını denetlemek için şunları yapabilirsiniz: netstat -np TCP | find "80" Bu, aşağıdaki tür çıktılar verir:

TCP    192.168.0.105:50466    64.34.119.101:80       ESTABLISHED
TCP    192.168.0.105:50496    64.34.119.101:80       ESTABLISHED

Gördüğünüz gibi, bu yalnızca TCP protokolü için 80 numaralı bağlantı noktasındaki bağlantıları gösterir.


73

Kullanırım:

netstat –aon | find "<port number>"

burada o süreç kimliğini temsil eder. şimdi işlem kimliğiyle her şeyi yapabilirsiniz. Süreci sonlandırmak için, örneğin şunu kullanın:

taskkill /F /pid <process ID>

basit ve net cevap, Teşekkürler
Mohit Singh

69

WAMP apache ile sorunum olduğunda, hangi kodu bağlantı noktası 80 kullandığını bulmak için bu kodu kullanın.

netstat -o -n -a | findstr 0.0:80

resim açıklamasını buraya girin

3068 PID, bu yüzden görev yöneticisinden bulabilir ve bu işlemi durdurabilirim.


Çok hoş, çok teşekkürler! Özellikle TCP için aşağıdakileri kullanıyorum: netstat -o -nap TCP | findstr 0.0: 80
denyoha

20

Başka bir yerde belirtildiği gibi: netstat'ı uygun anahtarlarla kullanın ve sonuçları find [str] ile filtreleyin

En temel:

netstat -an | find ":N"

veya

netstat -a -n | find ":N"

Yabancı bir liman bulmak için şunları kullanabilirsiniz:

netstat -an | findstr ":N[^:]*$"

Yerel bir bağlantı noktası bulmak için şunları kullanabilirsiniz:

netstat -an | findstr ":N.*:[^:]*$"

Nerede N ilgilendiğiniz noktası numarasıdır.

-n tüm bağlantı noktalarının sayısal olmasını, yani hizmet adlarına çevrilmiş olarak döndürülmemesini sağlar.

-a tüm bağlantıları aramanızı sağlar (TCP, UDP, dinleme ...)

Gelen finddize Eğer liman ön eleme olarak, aksi numara ya yerli ya da yabancı adresleri eşleşebilir, iki nokta üst üste içermelidir.

Gerekirse diğer netstat anahtarlarını kullanarak aramayı daha da daraltabilirsiniz ...

İlave okumalar (^ 0 ^)

netstat /?

find /?

findstr /?

9
netstat -a -n | find /c "10.240.199.9:8080"

size belirli bir IP ve bağlantı noktasında etkin olan soket sayısı verecektir (Sunucu bağlantı noktası numarası)


3
Bu, Windows 2012 R2'deki windows güç kabuğu için çalışmıyor ve sonuç olarak alındıFIND: Parameter format not correct
Chaminda Bandara

6

Windows 8 Kullanıcısı için: Komut İstemi'ni açın, netstat -an | "port numaranızı" bulun , girin.

Yanıt LISTENING gibi geliyorsa , bağlantı noktası kullanımdadır, aksi takdirde ücretsizdir.


2

@ EndUzr yanıtını iyileştirmek için :

Yabancı bir bağlantı noktası (IPv4 veya IPv6) bulmak için şunları kullanabilirsiniz:

netstat -an | findstr /r /c:":N [^:]*$"

Yerel bir bağlantı noktası (IPv4 veya IPv6) bulmak için şunları kullanabilirsiniz:

netstat -an | findstr /r /c:":N *[^ ]*:[^ ]* "

N, ilgilendiğiniz bağlantı noktası numarasıdır. "/ R" anahtarı ona regexp olarak işlemesini söyler. "/ C" anahtarı findstr komutunun, bir boşluğu arama dizesi sınırlayıcısı olarak ele almak yerine, arama dizelerine boşluk eklemesine olanak tanır. Bu ek alan daha uzun portlara kötü muamele yapılmasını önler - örneğin, ": 80" vs ": 8080" ve diğer port munging sorunları.

Yerel RDP sunucusuna uzak bağlantıları listelemek için, örneğin:

netstat -an | findstr /r /c:":3389 *[^ ]*:[^ ]*"

Veya DNS'inize kimin dokunduğunu görmek için:

netstat -an | findstr /r /c:":53 *[^ ]*:[^ ]*"

Yalnızca yerel bağlantı noktalarını hariç tutmak istiyorsanız, "/ v" ile bir dizi istisna kullanabilir ve ters eğik çizgiyle karakterlerden kaçabilirsiniz:

netstat -an | findstr /v "0.0.0.0 127.0.0.1 \[::\] \[::1\] \*\:\*" | findstr /r /c:":80 *[^ ]*:[^ ]*"

1

80 numaralı bağlantı noktası için komut şöyle olur: netstat -an | find "80" n bağlantı noktası için komut şu olurdu: netstat -an | "n" bul

Burada, netstat makinenize talimattır

-a: Tüm bağlantıları ve dinleme bağlantı noktalarını görüntüler -n: Tüm adresleri ve yönergeleri sayısal biçimde görüntüler (-a'dan gelen çıktı makine adları içerebileceğinden bu gereklidir)

Ardından, önceki komutun çıktısını "Pattern Match" için bir find komutu.


0

Bu sana yardım edecek

netstat -atn | grep <port no>          # For tcp
netstat -aun | grep <port no>           # For udp
netstat -atun | grep <port no>          # For both

0

RHEL 7'de, LISTEN Durumunda birkaç bağlantı noktasını filtrelemek için bu komutu kullanıyorum:

sudo netstat -tulpn | grep LISTEN | egrep '(8080 |8082 |8083 | etc )'

-1

Bu komut tüm bağlantı noktalarını ve hedef adreslerini gösterir:

netstat -f 

1
İstek, belirli bir bağlantı noktasının kullanılıp kullanılmadığını öğrenmekti.
Ro Yo Mi

-5

"Lsof -i tcp: port #" lsof komutunu kullanın, işte bir örnek.

$ lsof -i tcp:1555 
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
java    27330 john  121u  IPv4 36028819      0t0  TCP 10.10.10.1:58615->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  201u  IPv4 36018833      0t0  TCP 10.10.10.1:58586->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  264u  IPv4 36020018      0t0  TCP 10.10.10.1:58598->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  312u  IPv4 36058194      0t0  TCP 10.10.10.1:58826->10.10.10.10:livelan (ESTABLISHED)

4
Eksi nokta çünkü bu bir windows komutu değil. Pencerelerde mevcutsa, nasıl elde edileceği hakkında bir tartışma yoktur.
Ro Yo Mi

1
OP'nin sorusuna cevap vermez. -1.
FractalSpace
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.