Smarter by Design.Simpler for Business
sys-cmd curl
sys-cmd curl, WEB-CLI'de seçili route table'dan bir adrese HTTP ya da HTTPS isteği gönderir ve yanıtı gösterir. Yalnız başlıkları, yalnız durum kodunu ya da bağlantının TLS dahil bütün ayrıntılarını görmek mümkündür. Bir backend'in sağlık adresini, bir vService'in belirli bir host adına verdiği yanıtı ya da bir yönlendirme zincirini denetlemek için kullanılır.
Komut Özeti
# curl yazıp Tab: serbest parametre
admin@TR7LBWAF01> sys-cmd curl
<curl-parameter-1>
admin@TR7LBWAF01> sys-cmd curl <parametreler> <adres>
admin@TR7LBWAF01>
curl sözcüğünden sonra yazılan her şey araca olduğu gibi aktarılır. Zorunlu alan yoktur; adres parametrelerle birlikte aracın kendi sözdizimine göre yazılır.
Nasıl Çalışır
| Konu | Davranış |
|---|---|
| Bağlam | İstek seçili v-device ve route table içinden gönderilir; yalıtılmış bir route table'daki backend için önce route-table set çalıştırılır. |
| Tırnak | Boşluklu başlıklar tırnak içine alınır. & içeren adresler ve $ içeren değerler tek tırnakla yazılır; tırnaksız yazılan & satırın Invalid command hatasıyla reddedilmesine yol açar. |
| Dosya | -o ile yazılan dosya geçici dosya alanına düşmez; yanıt gövdesi saklanacaksa | to-file <ad> kullanılır. |
| Süre | Yanıt tamamlanınca kapanır; yanıt vermeyen hedefte --max-time ile sınır konur ya da Ctrl+C ile durdurulur. |
| Kayıt | Her çalıştırma kullanıcı loglarına yazılır. |
Sık Kullanılan Parametreler
| Parametre | Ne yapar | Arkasına ne yazılır |
|---|---|---|
-I | Yalnız yanıt başlıklarını ister | — |
-i | Gövdeyle birlikte yanıt başlıklarını da yazar | — |
-v | Bağlantı, TLS el sıkışması, istek ve yanıt başlıklarının ayrıntısını yazar | — |
-k | Sertifika doğrulamasını atlar; kendinden imzalı sertifikalı backend'lerde | — |
-L | Yönlendirmeleri izler | — |
-H | İsteğe başlık ekler | "Başlık: değer" (ör. "Host: shop.example.com") |
-X | HTTP yöntemini değiştirir | GET · POST · PUT · DELETE · HEAD |
-d | İstek gövdesi gönderir | Gövde metni, tek tırnak içinde |
--resolve | Bir adın hangi IP adresine gideceğini DNS'e sormadan belirler | ad:port:ip (ör. shop.example.com:443:10.0.7.20) |
-s | İlerleme çubuğunu ve hata dışı iletileri gizler | — |
-o · -w | -o /dev/null gövdeyi atar; -w yanıt bilgisini istenen biçimde yazar | '%{http_code}' gibi biçim dizgisi |
--max-time | İsteğin toplam süresini sınırlar | Saniye |
--connect-timeout | Bağlantı kurma süresini sınırlar | Saniye |
Tablo sık kullanılan parametreleri özetler; tam liste ve davranış, aracın cihazdaki sürümüne bağlıdır.
Örnekler
admin@TR7LBWAF01> sys-cmd curl -s -o /dev/null -w '%{http_code}' http://10.20.0.30/health
admin@TR7LBWAF01>
admin@TR7LBWAF01> sys-cmd curl -I -H "Host: shop.example.com" http://10.0.7.20/
admin@TR7LBWAF01>
admin@TR7LBWAF01> sys-cmd curl -v --resolve shop.example.com:443:10.0.7.20 https://shop.example.com/
admin@TR7LBWAF01>
admin@TR7LBWAF01> sys-cmd curl -k --max-time 5 https://10.20.0.30:8443/health
admin@TR7LBWAF01>
admin@TR7LBWAF01> sys-cmd curl -sIL 'http://10.0.7.20/login?next=/app&lang=tr'
admin@TR7LBWAF01>
admin@TR7LBWAF01> sys-cmd curl -sI http://10.0.7.20/ | grep Server
admin@TR7LBWAF01>
Bilinmesi Gerekenler
Connection refusedile zaman aşımı farkı.Connection refusedhedefe ulaşıldığını ama portta servis olmadığını; uzun bekleyip zaman aşımı ise yolda ya da hedefte bir engeli gösterir. Yol içintraceroute, port içinnmapkullanılır.- Yanlış sertifika ya da yanlış site. Aynı IP adresinde birden çok alan adı sunuluyorsa istek IP adresiyle değil
--resolveile adla gönderilir; böylece hem sunucu adı hemHostbaşlığı doğru gider. - WAF engeli. vService'te WAF açıksa test isteği engellenebilir; bu durumda yanıt WAF engelleme sayfası olur ve WAF loglarında görünür.
- TLS sürümleri ve şifre takımlarının tamamı için
sslscankullanılır.
