Bu konu, bir Linux ECS örneğinde TCP ve UDP bağlantı noktası erişilebilirliğinin nasıl test edileceğini açıklar.
TCP bağlantı noktası erişilebilirliğini test etme
Test etmek istediğiniz bağlantı noktasında bir dinleyici çalışıp çalışmadığına bağlı olarak aşağıdaki yöntemlerden birini seçin:
Bağlantı noktasında zaten bir dinleyici çalışıyorsa bkz. Yöntem 1: Telnet kullanarak mevcut bir dinleyiciyi test etme.
Bağlantı noktasında çalışan bir dinleyici yoksa bkz. Yöntem 2: Test için geçici bir dinleyici oluşturma.
Yöntem 1: Telnet ile mevcut dinleyicileri test etme
-
Linux örneğine bağlanın.
Daha fazla bilgi için bkz. Workbench kullanarak bir Linux örneğinde oturum açma.
-
Telnet kullanarak bağlantı noktası erişilebilirliğini test etmek için aşağıdaki komutu çalıştırın.
Örneğin,
121.11.XX.XXsunucusundaki1234bağlantı noktasını test etmek içinsudo telnet 121.11.XX.XX 1234komutunu çalıştırın.# Replace [$Host] with the IP address of the target server and [$Port] with the port number to test. sudo telnet [$Host] [$Port]Bağlantı başarılı olursa sistem aşağıdakine benzer bir çıktı döndürür.
Connected to ...mesajı başarıyı gösterir ancak tam çıktı Linux dağıtımlarına göre değişebilir.NotBağlantı noktası erişilebilirliği testi başarısız olursa hedef sunucunun güvenlik grubunun test edilen bağlantı noktasındaki gelen trafiğe izin verdiğinden emin olun. İzin vermiyorsa bir güvenlik grubu kuralı eklemeniz gerekir. Daha fazla bilgi için bkz. Güvenlik grubu kuralı ekleme.
Trying 121.11.XX.XX... Connected to 121.11.XX.XX. Escape character is '^]'.
Yöntem 2: Geçici bir dinleyici oluşturma
Bu yöntem, sunucudaki bağlantı noktası erişilebilirliğini doğrulamak için bir sunucu ve bir istemci olmak üzere iki örnek kullanır.
Sunucu: Geçici bir dinleyici oluşturduğunuz örnek.
İstemci: Erişilebilirliği doğrulamak için sunucu bağlantı noktasına bağlanan örnek.
-
Linux örneğine bağlanın.
Daha fazla bilgi için bkz. Workbench kullanarak bir Linux örneğinde oturum açma.
-
Sunucuda Python'un yüklü olup olmadığını kontrol etmek ve sürümünü görüntülemek için aşağıdaki komutu çalıştırın.
python -VBir Python sürümü döndürülürse Python yüklenmiştir.
Python yüklü değilse Python'u yüklemek için bkz. Python ortamı dağıtma.
-
Sunucuda Python'un yerleşik web sunucusunu kullanarak geçici bir dinleyici oluşturmak için aşağıdaki komutu çalıştırın.
Örneğin, Python 3.x kullanarak
1234bağlantı noktasında bir dinleyici oluşturmak içinsudo python3 -m http.server 1234komutunu çalıştırın.-
Python 2.x
# Replace [$Port] with the port number to test. sudo python -m SimpleHTTPServer [$Port] -
Python 3.x
# Replace [$Port] with the port number to test. sudo python3 -m http.server [$Port]
Sistem aşağıdakine benzer bir çıktı döndürür.
Serving HTTP on 0.0.0.0 port 1234 ...Notİstemcideki testi tamamladıktan sonra işlemi durdurmak için Ctrl+C tuşlarına basın.
-
-
İstemcide Telnet kullanarak sunucudaki yeni dinleyiciye erişilebilirliği test etmek için aşağıdaki komutu çalıştırın.
Örneğin,
121.11.XX.XXsunucusundaki1234bağlantı noktasını test etmek içinsudo telnet 121.11.XX.XX 1234komutunu çalıştırın.# Replace [$Host] with the IP address of the server and [$Port] with the port number to test. sudo telnet [$Host] [$Port]Bağlantı başarılı olursa sistem aşağıdakine benzer bir çıktı döndürür.
Connected to ...mesajı başarıyı gösterir ancak tam çıktı Linux dağıtımlarına göre değişebilir.NotBağlantı noktası erişilebilirliği testi başarısız olursa sunucunun güvenlik grubunun test edilen bağlantı noktasındaki gelen trafiğe izin verdiğinden emin olun. İzin vermiyorsa bir güvenlik grubu kuralı eklemeniz gerekir. Daha fazla bilgi için bkz. Güvenlik grubu kuralı ekleme.
Trying 121.11.XX.XX... Connected to 121.11.XX.XX. Escape character is '^]'.
UDP bağlantı noktası erişilebilirliğini test etme
Bu yöntem, sunucudaki bağlantı noktası erişilebilirliğini doğrulamak için bir sunucu ve bir istemci olmak üzere iki örnek kullanır.
Sunucu: UDP bağlantı noktasını dinleyen örnek.
İstemci: Erişilebilirliği doğrulamak için sunucu bağlantı noktasına veri gönderen örnek.
-
Linux örneğine bağlanın.
Daha fazla bilgi için bkz. Workbench kullanarak bir Linux örneğinde oturum açma.
-
Hem sunucu hem de istemci örneklerinde nc (netcat) programının yüklü olup olmadığını kontrol etmek için aşağıdaki komutu çalıştırın.
which ncSistem aşağıdakine benzer bir yanıt döndürürse nc programının yüklü olduğu anlamına gelir.
/usr/bin/ncNotnc (netcat) yüklü değilse işletim sisteminize bağlı olarak yum veya apt-get gibi bir paket yöneticisi kullanarak yükleyin. Örneğin,
sudo yum install -y nckomutunu çalıştırın. -
Sunucuda test etmek istediğiniz bağlantı noktasında bir dinleyici başlatmak için aşağıdaki komutu çalıştırın.
Örneğin,
3333bağlantı noktasının erişilebilirliğini test etmek içinsudo nc -uvlp 3333komutunu çalıştırın.# Replace [$Port] with the port number to test. sudo nc -uvlp [$Port]Dinleyici başlarsa sistem aşağıdakine benzer bir çıktı döndürür.
Ncat: Version 7.92 ( https://nmap.org/ncat ) Ncat: Listening on :::3333 Ncat: Listening on 0.0.0.0:3333 -
İstemcide sunucudaki test bağlantı noktasına bağlanmak için aşağıdaki komutu çalıştırın.
Örneğin,
111.22.XX.XXsunucusundaki3333bağlantı noktasına bağlanmak içinsudo nc -u 111.22.XX.XX 3333komutunu çalıştırın.# Replace [$Host] with the IP address of the server and [$Port] with the port number to test. sudo nc -u [$Host] [$Port] -
Bağlantı kurulduktan sonra istemcide
testgibi bir test dizesi yazın. Sunucu veriyi alırsa bağlantı noktası erişilebilirliği normaldir.NotBağlantı noktası erişilebilirliği testi başarısız olursa sunucunun güvenlik grubunun test edilen bağlantı noktasındaki gelen trafiğe izin verdiğinden emin olun. İzin vermiyorsa bir güvenlik grubu kuralı eklemeniz gerekir. Daha fazla bilgi için bkz. Güvenlik grubu kuralı ekleme.
[ecs-user@ixxx ~]$ sudo nc -u 1xxx 3333 test exampleSunucu, istemciden gelen
testveexamplemesajlarını alır. Bu, UDP bağlantı noktası 3333'teki erişilebilirliğin çalıştığını doğrular. Sunucudaki örnek çıktı:[ecs-user@ixxx ~]$ sudo nc -uvlp 3333 Ncat: Version 7.92 ( https://nmap.org/ncat ) Ncat: Listening on :::3333 Ncat: Listening on 0.0.0.0:3333 Ncat: Connection from 1xxx. test example