aimo’daki bir sohbete paket yakalama dosyası ekleyip onunla ilgili sade bir dille soru sorabilirsiniz: “bu indirme neden yavaş?”, “hangi bağlantılar sıfırlandı?”, “DNS çalışmıyor mu?”. Model dosyayı kendisi okumaz. Dosyayı bir araç sunucusu aracılığıyla Wireshark’a verir ve yanıtını Wireshark’ın kendi sayımlarına dayandırır.
Bu makale tek bir yakalama dosyasını yüklemeden yanıta kadar izler; böylece yönetici dosyayı neyin koruduğunu, kullanıcı da ne bekleyeceğini görebilir. Paket yakalama sunucusunun 0.2.1 sürümünü anlatır ve 5 Ekim 2026’da çalışan ürün üzerinde doğrulanmıştır.
Kim ne yapar
| Ne | Kim | Nerede |
|---|---|---|
| Kişilerin (veya API anahtarlarının) yakalama araçlarını kullanmasına izin vermek | Yönetici | Konsol, /mcp → paket yakalama sunucusu → Access |
| Sunucuyu bu kişilere aimo’da göstermek | Yönetici | Aynı düzenleyici, Show in aimo, ardından Sync aimo now |
| Yakalama eklemek ve hakkında soru sormak | Herkes kendisi | aimo sohbeti |
| Sohbette yakalama araçlarını açmak | Herkes kendisi | Sohbetin Entegrasyonlar menüsü → Araçlar |
Ne ekleyebilirsiniz
.pcap, .pcapng veya .cap ile biten dosyalar ve bu üçünün .gz ile sıkıştırılmış hâlleri.
Yakalama dosyası içinde metin bulunmayan ikili bir dosyadır; bu yüzden aimo’nun belge
okuyucusu onu işleyemez. Bir yakalama eklediğinizde dosya biçimi hakkında bir uyarı
bildirimi çıkar. Bu beklenen bir durumdur ve yüklemenin başarısız olduğu anlamına gelmez.
aimo araçlara yükleme başına en fazla 12 MiB verir. Daha büyük bir dosyayı önce
Wireshark’ın editcap -c komutuyla bölün; bu komut yakalamayı belirtilen sayıda paket
içeren parçalara ayırır.
İstek, adım adım
- Yakalamayı eklersiniz. aimo dosyayı saklar. Belge okuyucusu dosyayı işleyemez; yukarıdaki bildirim bu yüzden çıkar.
- Bir filtre sohbeti hazırlar. Packet Capture Uploads adlı genel bir filtre,
yakalamayı belge arama yolundan çıkarır; böylece ikili bir dosya için boşuna arama
sorgusu yapılmaz. Modele, dosyayı
aimo-file:<id>olarak adlandıran ve çağrılacak araçları sıralayan tek bir not ekler; listenin başındaanalyze_capinfosveanalyze_expert_infogelir. Yakalama araçları sohbette açık değilse not, modelden bunu söylemesini ister; model de tahminde bulunmak yerine Araçlar menüsünden Packet capture analysis (mcpcap) seçeneğini açmanızı söyler. - Model, bu kimlikle bir araç çağırır. Baytları hiç almaz, yalnızca kimliği alır. Örneğin
analyze_tcp_retransmissionsaracınıpcap_file = "aimo-file:<id>"ile çağırır. - Platform çağrıyı denetler. Çağrı, platformun yönetişimli aktarıcısından geçer. Aktarıcı, çağıran kişinin (veya API anahtarının) bir izne sahip olup olmadığını kontrol eder, argümanları politika kurallarına göre tarar, bir denetim kaydı yazar ve çağıranın kim olduğunu söyleyen kısa ömürlü, imzalı bir beyan ekler. İzni olmayan bir çağırana, var olmayan bir sunucunun vereceği “bulunamadı” yanıtının aynısı verilir; böylece kimse sunucuyu yoklayarak keşfedemez.
- Sunucu dosyanızı getirir, yalnızca sizinkini. Paket yakalama sunucusu imzalı beyanı doğrular, ardından yüklemeyi platformdan ister. Dosyayı yalnızca yükleyenin e-posta adresi doğrulanmış çağıranınkiyle aynıysa açar. Başkasının dosyası, olmayan bir dosya gibi görünür ve daha hiçbir şey saklanmadan reddedilir.
- Wireshark analiz eder. Sunucu
tsharkvecapinfoskomutlarını kısıtlanmış bir korumalı alanda (sandbox) çalıştırır. Sonuç aynı yoldan döner ve model yanıtını ondan yazar.
Sayımı neden Wireshark yapıyor
Önceki bir sürüm, açık kaynaklı mcpcap projesinin analiz kodunu kullanıyordu. Yavaş bir indirmenin istemci tarafında alınmış gerçek bir yakalamasında sıfır yeniden iletim (retransmission) bildirdi. Eşik sıfıra ayarlanıp yeniden sorulduğunda model sıfırı doğruladı. Wireshark aynı dosyada 153 yeniden iletilmiş veya sıra dışı (out-of-order) segment, 911 yinelenen ACK (duplicate ACK) ve istemcinin yedi zero-window duyurusunun tamamını içeren 32,66 saniyelik bir duraklama sayıyor; yani istemci okumayı bırakmıştı.
Nedeni bir kuraldı: bir segment, yalnızca daha önce yakalanmış baytlarla çakıştığında yeniden iletilmiş sayılıyordu. Kayıp yakalama noktasından önce yaşandığında (istemcide yakalama yaparken olağan durum budur) özgün paket hiç görünmez; bu yüzden her yeniden iletim bir boşluğu doldurur ve hiçbiri çakışmaz. Araç en yaygın durumda tam bir güvenle yanıt verdi ve yanıldı.
0.2.0 sürümünden beri her TCP kararı Wireshark’ın kendi tcp.analysis.* bayrağıdır ve
olduğu gibi okunur. 150.000 paketlik bir yakalama da bir iki dakika yerine yaklaşık 11 saniye
sürer.
Kendi Wireshark’ınızla karşılaştırırken bilmeniz gereken bir şey var. Farklı Wireshark sürümleri aynı segmentleri retransmission (yeniden iletim) ve out-of-order (sıra dışı) arasında farklı bölüştürür: sunucunun çalıştırdığı 4.4.19 sürümü o yakalamada 88 ve 65, 4.6.9 ise 79 ve 74 bildirir. Toplam, yani 153, ikisinde de aynıdır. Bu yüzden sonuçlar toplamı ve hangi Wireshark sürümünden geldiklerini belirtir.
Sunucunun erişemedikleri
Paket yakalama sunucusu platforma ve DNS’e ulaşabilir, başka hiçbir şeye ulaşamaz: internete,
yerel ağa ve diğer hizmetlere erişimi yoktur. Dosya yolu veya web adresi kabul etmez; yalnızca
bir aimo-file: kimliği ya da istekte gömülü bir yakalama alır. Özel dosyaları okuyan ve
internete de erişebilen bir sunucu, kötü niyetli tek bir yakalamayla bu dosyaları sızdırabilir;
bu yüzden ikinci yarı burada hiç yoktur.
Her analiz ad çözümlemesi kapalıyken çalışır; böylece yakalamadaki adresler asla DNS sorgusuna dönüşmez. Her analize kendi boş yapılandırması, bir bellek sınırı, 80 saniyelik bir süre sınırı ve 500.000 paketlik bir okuma sınırı verilir; kötü bir yakalama hizmeti değil, yalnızca tek bir çağrıyı başarısız kılar. Yakalamanın içinde yazan her şeyi, örneğin ana bilgisayar adlarını veya HTTP başlıklarını, paketleri gönderen kişi yazmıştır. Her sonuç bu metinleri güvenilmez olarak listeler ve modele bunlara göre davranmaması söylenir.
Kimler kullanabilir
Sunucu kapalı başlar: bir yönetici /mcp → Access sayfasında kişi ekleyene kadar kimse onu çağıramaz. Bir izin ya bir kişiye ya da bir API anahtarına verilir; ikisinden biri yeterlidir.
| Çağıran | İstekte gömülü yakalama | aimo yüklemesi |
|---|---|---|
| aimo’da izinli bir kişi | Evet | Evet, yalnızca kendi yüklemeleri |
| Arkasında kişi olmayan izinli bir API anahtarı | Evet | Hayır |
| İkisi de değil | Reddedilir, sunucu yokmuş gibi | Reddedilir |
Arkasında kişi olmayan bir anahtar bir aimo yüklemesini açamaz; çünkü sahiplik denetimi karşılaştırma yapmak için bir kişiye ihtiyaç duyar.
Yöneticiler için iki uyarı. Paylaşılan bir anahtara izin vermek arkasındaki herkese izin verir; bu yüzden düzenleyici aimo’nun kendi servis anahtarını her aimo kullanıcısına izin veren anahtar olarak işaretler: aimo kullanıcılarına kişi olarak izin verin. Ayrıca Open WebUI yöneticileri listedeki her araç bağlantısını görür, ancak platform izinleri yoksa çağrılarını yine reddeder.
Neler deneyebilirsiniz
Araçlar açıkken bir yakalama ekleyin ve sorun:
- “Bu yakalamaya genel bir bakış ver ve Wireshark’ın hatalı olarak işaretlediği her şeyi söyle.”
- “TCP yeniden iletimleri veya zero-window olayları var mı, ne zaman başlıyorlar?”
- “Hangi ana bilgisayarlar en çok konuşuyor ve hangi protokolleri kullanıyor?”
- “Başarısız olan bir DNS sorgusu var mı? Adları göster.”
- “203.0.113.5 ile 203.0.113.9 arasında 443 portundaki paketleri göster.”
Sonuncusu, her Wireshark görüntüleme filtresini kabul eden query_packets aracını kullanır.
Model var olmayan bir alan belirtirse sunucu, gerçekten var olan en yakın alanların adlarıyla yanıt verir; böylece model
değerin kullanılamadığını söylemek yerine kendini düzeltebilir.
Sınırlar
- aimo üzerinden yükleme başına 12 MiB.
- TLS veya TLS üzerinden SIP gibi şifreli yükler, anahtar olmadan Wireshark’ın gösterdiği kadar görünür. Anahtar günlüğü (key log) sağlamanın bir yolu yoktur.
- Erişim izni yeni verilmiş ve henüz aimo’da oturum açmamış bir kişi, aracın erişim listesinde bir sonraki eşitlemeden sonra, ilk oturum açışından sonraki yaklaşık 15 dakika içinde görünür.
- Modelin özeti, istediği araç sonuçları kadar iyidir. Bir sayı önemliyse modele onu hangi aracın ve hangi filtrenin ürettiğini sorun.
Çalışırken görüldü
4 Ekim 2026’da, içine kasıtlı hatalar konmuş 94 paketlik bir yakalama, sıradan bir kullanıcı tarafından yeni bir sohbete eklendi. Model dokuz araç çağırdı. Dokuzu da denetim kaydında izinli olarak göründü ve her biri 1,3 ile 2,0 saniye sürdü. Bir porta yapılan altı bağlantı denemesinin altısının da sunucu tarafından sıfırlandığını, tek bir HTTPS bağlantısında dört yeniden iletim (segmentlerinin yüzde 5,0’ı), başarısız bir ad sorgusu ve ulaşılamaz bildirilen bir ana bilgisayar olduğunu bildirdi. Kasıtlı konan hatalar bunlardı.