diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ea3adf..d0b9457 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,12 @@ The release notes on GitHub are taken from this file: the section whose heading is the version number. -## 0.2.0 +## 0.3.1 + +- Traffic details opens on servers only; tabs switch to clients, both ends + side by side, and services (13 languages). + +## 0.3.0 Findings - traffic66 now looks through the flows every 5 minutes and lists what diff --git a/README.md b/README.md index 45efd04..da1b22e 100644 --- a/README.md +++ b/README.md @@ -646,7 +646,7 @@ Pages: |---|---| | Overview | How much traffic now and compared with last week, by application; open findings; direction and protocol; top clients and services | | Top 66 | Opens on **Talkers**: traffic by service over time, and the top 30 clients and servers side by side with traffic, packets and flow records, above a row for all traffic. **Table** is one table of the top 66: by default conversations (client, server, service, country). Every column heading sorts; number columns (traffic, packets, average packet size, flows) rank all traffic in the range, so the smallest average packet size finds scanners and floods. **Group by** switches to applications, networks, segments, devices, encapsulation and VLAN | -| Traffic details | Clients, servers and services over time, in bits/s and in packets/s: the top 8 of each, and how many there were | +| Traffic details | Clients, servers and services over time, in bits/s and in packets/s: the top 8 of each, and how many there were. Opens on **Servers**; tabs switch to **Clients**, **Both ends** (side by side) and **Services** | | Findings | What needs attention: scans, password guessing, lateral movement, unusual uploads, floods and threat list traffic ([more](#findings)) | | Flow paths | Which host uses which application towards which country: the 8 busiest hosts, the rest as Other. **Client → server** shows client → service → server; **By network** shows networks instead of hosts | | Geo & networks | A world map of traffic by country; the networks (AS) traffic came from and went to, over time in bits/s and packets/s; traffic by country and by network | diff --git a/docs/README.ar.md b/docs/README.ar.md index 95b693b..69f74ed 100644 --- a/docs/README.ar.md +++ b/docs/README.ar.md @@ -657,7 +657,7 @@ curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamh |---|---| | نظرة عامة | حجم الحركة الآن ومقارنةً بالأسبوع الماضي حسب التطبيق؛ الاكتشافات المفتوحة؛ الاتجاه والبروتوكول؛ أبرز العملاء والخدمات | | أعلى 66 | تُفتح على **أكثر الأطراف نشاطًا**: الحركة حسب الخدمة عبر الزمن، وأعلى 30 عميلًا وخادمًا جنبًا إلى جنب مع الحركة والحزم وسجلات التدفق، فوق صف لكل الحركة. أما **جدول** فهو جدول واحد لأعلى 66: افتراضيًا المحادثات (العميل والخادم والخدمة والدولة). كل عنوان عمود يفرز؛ والأعمدة الرقمية (حركة المرور، الحزم، متوسط الحزمة، التدفقات) تعيد اختيار أعلى 66 من كل حركة المرور في الفترة، لذا يكشف أصغر متوسط حزمة عمليات المسح والإغراق. ويبدّل **التجميع حسب** إلى التطبيقات والشبكات والمقاطع والأجهزة وأنواع التغليف وشبكات VLAN | -| تفاصيل الحركة | العملاء والخوادم والخدمات عبر الزمن، بوحدة bits/s وpackets/s: أعلى 8 من كل منها، وكم كان عددها | +| تفاصيل الحركة | العملاء والخوادم والخدمات عبر الزمن، بوحدة bits/s وpackets/s: أعلى 8 من كل منها، وكم كان عددها. تُفتح على **الخوادم**، وتنتقل الألسنة إلى **العملاء** و**الطرفان** (جنباً إلى جنب) و**الخدمات** | | الاكتشافات | ما يستدعي الانتباه: عمليات المسح، وتخمين كلمات المرور، والتحرك الجانبي، وعمليات الرفع غير المعتادة، والإغراق، وحركة قوائم التهديدات ([المزيد](#findings)) | | مسارات الحركة | أي مضيف يستخدم أي تطبيق نحو أي دولة: أكثر 8 مضيفات نشاطًا، والباقي ضمن «أخرى». ويعرض **العميل ← الخادم** العميل ← الخدمة ← الخادم؛ ويعرض **حسب المقطع** الشبكات بدل المضيفات | | الجغرافيا والشبكات | خريطة العالم للحركة حسب الدولة؛ الشبكات (AS) التي جاءت منها الحركة وذهبت إليها، عبر الزمن بوحدة bits/s وpackets/s؛ والحركة حسب الدولة وحسب الشبكة | diff --git a/docs/README.bn.md b/docs/README.bn.md index d229316..5961b96 100644 --- a/docs/README.bn.md +++ b/docs/README.bn.md @@ -664,7 +664,7 @@ application, দেশ, ডিভাইস — ক্লিক করা যা |---|---| | সারসংক্ষেপ | এখন কত ট্রাফিক আর গত সপ্তাহের তুলনায় কত, application অনুযায়ী; খোলা সন্দেহজনক কার্যকলাপ; দিক ও protocol; শীর্ষ client ও service | | শীর্ষ 66 | **সবচেয়ে সক্রিয় হোস্ট**-এ খোলে: সময়ের সাথে service অনুযায়ী ট্রাফিক, আর শীর্ষ 30টি client ও server পাশাপাশি, ট্রাফিক, প্যাকেট ও flow record সহ, সব ট্রাফিকের একটি row-এর ওপরে। **সারণি** হলো শীর্ষ 66-এর একটি table: ডিফল্টভাবে conversation (client, server, service, দেশ)। যেকোনো column heading-এ sort হয়; সংখ্যার column (ট্রাফিক, প্যাকেট, গড় প্যাকেট, flow) সময়সীমার সব ট্রাফিক থেকে শীর্ষ 66 আবার বাছে, তাই সবচেয়ে ছোট গড় প্যাকেট দিয়ে scan ও flood ধরা পড়ে। **গ্রুপের ভিত্তি**-তে application, নেটওয়ার্ক, segment, ডিভাইস, encapsulation ও VLAN-এ যাওয়া যায় | -| ট্রাফিকের বিস্তারিত | সময়ের সাথে client, server ও service, bits/s ও packets/s-এ: প্রতিটির শীর্ষ 8টি, আর মোট কতগুলো ছিল | +| ট্রাফিকের বিস্তারিত | সময়ের সাথে client, server ও service, bits/s ও packets/s-এ: প্রতিটির শীর্ষ 8টি, আর মোট কতগুলো ছিল। শুরুতে **সার্ভার** দেখায়; ট্যাব দিয়ে **ক্লায়েন্ট**, **দুই প্রান্ত** (পাশাপাশি) ও **সেবা**-এ যান | | সন্দেহজনক কার্যকলাপ | কীসে নজর দিতে হবে: scan, পাসওয়ার্ড অনুমান, lateral movement, অস্বাভাবিক upload, flood আর threat list-এর ট্রাফিক ([আরও](#findings)) | | ট্রাফিকের পথ | কোন host কোন দেশের দিকে কোন application ব্যবহার করে: সবচেয়ে ব্যস্ত 8টি host, বাকিগুলো "অন্যান্য" হিসেবে। **ক্লায়েন্ট → সার্ভার** client → service → server দেখায়; **সেগমেন্ট অনুযায়ী** host-এর বদলে নেটওয়ার্ক দেখায় | | ভূগোল ও নেটওয়ার্ক | দেশ অনুযায়ী ট্রাফিকের বিশ্ব মানচিত্র; যেসব নেটওয়ার্ক (AS) থেকে ট্রাফিক এসেছে ও যেখানে গেছে, সময়ের সাথে bits/s ও packets/s-এ; দেশ ও নেটওয়ার্ক অনুযায়ী ট্রাফিক | diff --git a/docs/README.es.md b/docs/README.es.md index 18d100c..e7309f6 100644 --- a/docs/README.es.md +++ b/docs/README.es.md @@ -680,7 +680,7 @@ Páginas: |---|---| | Resumen | Cuánto tráfico hay ahora y frente a la semana pasada, por aplicación; hallazgos abiertos; dirección y protocolo; principales clientes y servicios | | Top 66 | Se abre en **Interlocutores principales**: tráfico por servicio en el tiempo, y los 30 primeros clientes y servidores lado a lado con tráfico, paquetes y registros de flujo, sobre una fila para todo el tráfico. **Tabla** es una sola tabla de los 66 primeros: por defecto, conversaciones (cliente, servidor, servicio, país). Cualquier encabezado ordena; las columnas numéricas (tráfico, paquetes, paquete medio, flujos) clasifican todo el tráfico del periodo, así el menor paquete medio revela escaneos e inundaciones. **Agrupar por** cambia a aplicaciones, redes, segmentos, equipos, encapsulación y VLAN | -| Detalles del tráfico | Clientes, servidores y servicios en el tiempo, en bits/s y en paquetes/s: los 8 primeros de cada uno, y cuántos hubo | +| Detalles del tráfico | Clientes, servidores y servicios en el tiempo, en bits/s y en paquetes/s: los 8 primeros de cada uno, y cuántos hubo. Abre en **Servidores**; las pestañas cambian a **Clientes**, **Ambos extremos** (lado a lado) y **Servicios** | | Hallazgos | Qué requiere atención: escaneos, adivinación de contraseñas, movimiento lateral, subidas inusuales, inundaciones y tráfico de listas de amenazas ([más](#findings)) | | Rutas de tráfico | Qué host usa qué aplicación hacia qué país: los 8 hosts con más tráfico, el resto como Otros. **Cliente → servidor** muestra cliente → servicio → servidor; **Por segmento** muestra segmentos en lugar de hosts | | Geografía y redes | Un mapa del mundo del tráfico por país; las redes (AS) de las que vino y a las que fue el tráfico, en el tiempo en bits/s y paquetes/s; tráfico por país y por red | diff --git a/docs/README.fr.md b/docs/README.fr.md index 8d4055b..72a235e 100644 --- a/docs/README.fr.md +++ b/docs/README.fr.md @@ -698,7 +698,7 @@ Pages : |---|---| | Vue d'ensemble | Combien de trafic maintenant et par rapport à la semaine dernière, par application ; détections ouvertes ; sens et protocole ; principaux clients et services | | Top 66 | S'ouvre sur **Interlocuteurs principaux** : trafic par service dans le temps, et les 30 premiers clients et serveurs côte à côte avec trafic, paquets et enregistrements de flux, au-dessus d'une ligne pour tout le trafic. **Tableau** est un seul tableau du top 66 : par défaut les conversations (client, serveur, service, pays). Chaque en-tête trie ; les colonnes numériques (trafic, paquets, paquet moyen, flux) classent tout le trafic de la période, si bien que le plus petit paquet moyen révèle scans et inondations. **Regrouper par** passe aux applications, réseaux, segments, équipements, encapsulation et VLAN | -| Détails du trafic | Clients, serveurs et services dans le temps, en bits/s et en paquets/s : les 8 premiers de chaque, et combien il y en avait | +| Détails du trafic | Clients, serveurs et services dans le temps, en bits/s et en paquets/s : les 8 premiers de chaque, et combien il y en avait. S'ouvre sur **Serveurs** ; les onglets passent à **Clients**, **Les deux côtés** (côte à côte) et **Services** | | Détections | Ce qui demande votre attention : scans, essais de mots de passe, mouvements latéraux, envois inhabituels, inondations et trafic des listes de menaces ([plus](#findings)) | | Chemins du trafic | Quel hôte utilise quelle application vers quel pays : les 8 hôtes les plus actifs, le reste dans Autres. **Client → serveur** affiche client → service → serveur ; **Par segment** affiche les segments au lieu des hôtes | | Géographie et réseaux | Une carte du monde du trafic par pays ; les réseaux (AS) d'où venait et où allait le trafic, dans le temps en bits/s et paquets/s ; trafic par pays et par réseau | diff --git a/docs/README.hi.md b/docs/README.hi.md index 168cce5..57cc00a 100644 --- a/docs/README.hi.md +++ b/docs/README.hi.md @@ -665,7 +665,7 @@ application, देश, डिवाइस — पर क्लिक किय |---|---| | सारांश | अभी कितना ट्रैफ़िक है और पिछले हफ़्ते की तुलना में कितना, application के हिसाब से; खुली संदिग्ध गतिविधियाँ; दिशा और protocol; top clients और services | | शीर्ष 66 | **सबसे सक्रिय होस्ट** पर खुलता है: समय के साथ service के हिसाब से ट्रैफ़िक, और top 30 clients और servers साथ-साथ, ट्रैफ़िक, पैकेट और flow records के साथ, पूरे ट्रैफ़िक वाली एक row के ऊपर। **तालिका** top 66 की एक table है: डिफ़ॉल्ट रूप से conversations (client, server, service, देश)। हर column heading से sort होता है; संख्या वाले columns (ट्रैफ़िक, पैकेट, औसत पैकेट, flows) समय-सीमा के पूरे ट्रैफ़िक से top 66 फिर से चुनते हैं, इसलिए सबसे छोटे औसत पैकेट से scan और flood पकड़े जाते हैं। **इसके अनुसार समूह** से applications, नेटवर्क, segments, डिवाइस, encapsulation और VLAN पर जाएँ | -| ट्रैफ़िक विवरण | समय के साथ clients, servers और services, bits/s और packets/s में: हर एक के top 8, और वे कुल कितने थे | +| ट्रैफ़िक विवरण | समय के साथ clients, servers और services, bits/s और packets/s में: हर एक के top 8, और वे कुल कितने थे। शुरू में **सर्वर** दिखते हैं; टैब से **क्लाइंट**, **दोनों छोर** (साथ-साथ) और **सेवाएँ** पर जाएँ | | संदिग्ध गतिविधि | किस पर ध्यान देना है: scans, पासवर्ड का अनुमान, lateral movement, असामान्य uploads, floods और threat list वाला ट्रैफ़िक ([और जानें](#findings)) | | ट्रैफ़िक के रास्ते | कौन-सा host किस देश की ओर किस application का इस्तेमाल करता है: सबसे व्यस्त 8 hosts, बाकी "अन्य" के रूप में। **क्लाइंट → सर्वर** client → service → server दिखाता है; **सेगमेंट के अनुसार** hosts की जगह नेटवर्क दिखाता है | | भूगोल और नेटवर्क | देश के अनुसार ट्रैफ़िक का विश्व मानचित्र; वे नेटवर्क (AS) जहाँ से ट्रैफ़िक आया और जहाँ गया, समय के साथ bits/s और packets/s में; देश के हिसाब से और नेटवर्क के हिसाब से ट्रैफ़िक | diff --git a/docs/README.id.md b/docs/README.id.md index 2f4459f..0ba97d6 100644 --- a/docs/README.id.md +++ b/docs/README.id.md @@ -677,7 +677,7 @@ Halaman: |---|---| | Ringkasan | Berapa trafik sekarang dan dibanding minggu lalu, per aplikasi; temuan terbuka; arah dan protokol; klien dan layanan teratas | | Top 66 | Terbuka di **Pihak teratas**: trafik per layanan dari waktu ke waktu, dan 30 klien dan server teratas berdampingan dengan trafik, paket, dan catatan flow, di atas satu baris untuk semua trafik. **Tabel** adalah satu tabel 66 teratas: secara default percakapan (klien, server, layanan, negara). Setiap judul kolom mengurutkan; kolom angka (lalu lintas, paket, rata-rata paket, flow) memilih ulang 66 teratas dari semua lalu lintas dalam rentang, sehingga rata-rata paket terkecil menemukan pemindaian dan banjir. **Kelompokkan menurut** beralih ke aplikasi, jaringan, segmen, perangkat, enkapsulasi, dan VLAN | -| Detail trafik | Klien, server, dan layanan dari waktu ke waktu, dalam bit/s dan paket/s: 8 teratas dari masing-masing, dan berapa jumlahnya | +| Detail trafik | Klien, server, dan layanan dari waktu ke waktu, dalam bit/s dan paket/s: 8 teratas dari masing-masing, dan berapa jumlahnya. Dibuka pada **Server**; tab beralih ke **Klien**, **Kedua sisi** (berdampingan), dan **Layanan** | | Temuan | Apa yang perlu diperhatikan: pemindaian, tebakan kata sandi, pergerakan lateral, unggahan tidak biasa, flood, dan trafik daftar ancaman ([selengkapnya](#findings)) | | Jalur trafik | Host mana memakai aplikasi apa menuju negara mana: 8 host tersibuk, sisanya sebagai Lainnya. **Klien → server** menampilkan klien → layanan → server; **Per segmen** menampilkan jaringan, bukan host | | Geografi & jaringan | Peta dunia trafik per negara; jaringan (AS) asal dan tujuan trafik, dari waktu ke waktu dalam bit/s dan paket/s; trafik per negara dan per jaringan | diff --git a/docs/README.ja.md b/docs/README.ja.md index 7747f46..1f8d62d 100644 --- a/docs/README.ja.md +++ b/docs/README.ja.md @@ -556,7 +556,7 @@ curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamh |---|---| | 概要 | 現在のトラフィック量と先週との比較(アプリケーション別)、未対応の検知、方向とプロトコル、上位のクライアントとサービス | | 上位 66 | 最初は **主な通信相手** を表示:サービス別のトラフィックの推移と、上位 30 のクライアントとサーバーを並べてトラフィック、パケット数、フローレコード数とともに示し、その下に全トラフィックの行があります。**表** は上位 66 件を 1 つの表で表示。既定は会話(クライアント、サーバー、サービス、国)。どの列見出しでも並べ替えられます。数値の列(トラフィック、パケット数、平均パケット長、フロー数)は期間内の全トラフィックから上位 66 件を取り直すので、平均パケット長の小さい順でスキャンやフラッドが見つかります。**グループ化** でアプリケーション、ネットワーク、セグメント、機器、カプセル化、VLAN に切り替えられます | -| トラフィック詳細 | クライアント、サーバー、サービスの推移(bits/s と packets/s):それぞれの上位 8 件と、その総数 | +| トラフィック詳細 | クライアント、サーバー、サービスの推移(bits/s と packets/s):それぞれの上位 8 件と、その総数。初期表示は **サーバー**、タブで **クライアント**、**両端**(並べて表示)、**サービス** に切り替え | | 検知 | 対応が必要なもの:スキャン、パスワード総当たり、横展開、不審なアップロード、フラッド、脅威リストとの通信([詳しく](#findings)) | | フローの流れ | どのホストがどの国に向けてどのアプリケーションを使っているか。通信量の多い 8 ホストを表示し、残りは「その他」にまとめます。**クライアント → サーバー** でクライアント → サービス → サーバーを表示し、**ネットワーク別** でホストの代わりにネットワークを表示します | | 地域とネットワーク | 国別トラフィックの世界地図、トラフィックの送信元・送信先のネットワーク(AS)の推移(bits/s と packets/s)、国別・ネットワーク別のトラフィック | diff --git a/docs/README.ko.md b/docs/README.ko.md index 828974e..04d5180 100644 --- a/docs/README.ko.md +++ b/docs/README.ko.md @@ -641,7 +641,7 @@ curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamh |---|---| | 개요 | 현재 트래픽 양과 지난주 대비 변화(애플리케이션별), 미처리 탐지, 방향과 프로토콜, 상위 클라이언트와 서비스 | | Top 66 | 처음에는 **주요 통신 상대**가 열립니다: 시간에 따른 서비스별 트래픽, 그리고 상위 30개 클라이언트와 서버를 트래픽, 패킷, 플로 레코드와 함께 나란히 보여 주며, 그 아래에 전체 트래픽 행이 있습니다. **표**는 상위 66개를 담은 하나의 표: 기본은 대화(클라이언트, 서버, 서비스, 국가). 모든 열 제목으로 정렬할 수 있고, 숫자 열(트래픽, 패킷, 평균 패킷 크기, 플로)은 기간 내 전체 트래픽에서 상위 66개를 다시 뽑으므로 평균 패킷 크기가 작은 순으로 스캔과 플러드를 찾을 수 있습니다. **그룹 기준**에서 애플리케이션, 네트워크, 세그먼트, 장비, 캡슐화, VLAN으로 바꿀 수 있습니다 | -| 트래픽 상세 | 시간에 따른 클라이언트, 서버, 서비스(bits/s와 packets/s): 각각의 상위 8개와 전체 개수 | +| 트래픽 상세 | 시간에 따른 클라이언트, 서버, 서비스(bits/s와 packets/s): 각각의 상위 8개와 전체 개수. 처음에는 **서버**를 보여 주며, 탭으로 **클라이언트**, **양쪽**(나란히), **서비스**로 바꿉니다 | | 탐지 | 살펴봐야 할 것: 스캔, 비밀번호 대입, 내부 확산, 비정상 업로드, 플러드, 위협 목록 트래픽([자세히](#findings)) | | 트래픽 경로 | 어느 호스트가 어느 국가로 어느 애플리케이션을 쓰는지: 트래픽이 가장 많은 호스트 8개, 나머지는 기타로 묶음. **클라이언트 → 서버**는 클라이언트 → 서비스 → 서버를 보여 주고, **세그먼트별**은 호스트 대신 세그먼트를 보여 줍니다 | | 지역 및 네트워크 | 국가별 트래픽 세계 지도, 트래픽이 오간 네트워크(AS)의 시간에 따른 변화(bits/s와 packets/s), 국가별, 네트워크별 트래픽 | diff --git a/docs/README.pt.md b/docs/README.pt.md index b0578fc..9dc4d35 100644 --- a/docs/README.pt.md +++ b/docs/README.pt.md @@ -680,7 +680,7 @@ Páginas: |---|---| | Visão geral | Quanto tráfego há agora e em comparação com a semana passada, por aplicação; detecções abertas; direção e protocolo; principais clientes e serviços | | Top 66 | Abre em **Principais interlocutores**: tráfego por serviço ao longo do tempo, e os 30 maiores clientes e servidores lado a lado com tráfego, pacotes e registros de fluxo, acima de uma linha para todo o tráfego. **Tabela** é uma única tabela dos 66 maiores: por padrão, conversas (cliente, servidor, serviço, país). Qualquer cabeçalho ordena; as colunas numéricas (tráfego, pacotes, pacote médio, fluxos) classificam todo o tráfego do período, então o menor pacote médio revela varreduras e inundações. **Agrupar por** muda para aplicações, redes, segmentos, equipamentos, encapsulamento e VLAN | -| Detalhes do tráfego | Clientes, servidores e serviços ao longo do tempo, em bits/s e em pacotes/s: os 8 maiores de cada, e quantos havia | +| Detalhes do tráfego | Clientes, servidores e serviços ao longo do tempo, em bits/s e em pacotes/s: os 8 maiores de cada, e quantos havia. Abre em **Servidores**; as abas trocam para **Clientes**, **Ambas as pontas** (lado a lado) e **Serviços** | | Detecções | O que precisa de atenção: varreduras, tentativas de senhas, movimento lateral, envios incomuns, inundações e tráfego de listas de ameaças ([mais](#findings)) | | Caminhos do tráfego | Qual host usa qual aplicação para qual país: os 8 hosts com mais tráfego, o resto como Outros. **Cliente → servidor** mostra cliente → serviço → servidor; **Por segmento** mostra segmentos em vez de hosts | | Geografia e redes | Um mapa-múndi do tráfego por país; as redes (AS) de onde o tráfego veio e para onde foi, ao longo do tempo em bits/s e pacotes/s; tráfego por país e por rede | diff --git a/docs/README.ru.md b/docs/README.ru.md index 6e1d354..c2bcd08 100644 --- a/docs/README.ru.md +++ b/docs/README.ru.md @@ -673,7 +673,7 @@ curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamh |---|---| | Обзор | Сколько трафика сейчас и по сравнению с прошлой неделей, по приложениям; открытые обнаружения; направление и протокол; основные клиенты и сервисы | | Топ 66 | Открывается на вкладке **Основные собеседники**: трафик по сервисам во времени и топ 30 клиентов и серверов рядом, с трафиком, пакетами и записями потоков, над строкой всего трафика. **Таблица** — одна таблица топ 66: по умолчанию сеансы (клиент, сервер, сервис, страна). Любой заголовок сортирует; числовые столбцы (трафик, пакеты, средний пакет, потоки) заново выбирают топ 66 из всего трафика за период, поэтому наименьший средний пакет находит сканирования и флуд. **Группировать по** переключает на приложения, сети, сегменты, устройства, инкапсуляцию и VLAN | -| Детали трафика | Клиенты, серверы и сервисы во времени, в бит/с и в пакетах/с: топ 8 каждого и сколько их было всего | +| Детали трафика | Клиенты, серверы и сервисы во времени, в бит/с и в пакетах/с: топ 8 каждого и сколько их было всего. Сначала показаны **Серверы**; вкладки переключают на **Клиенты**, **Обе стороны** (рядом) и **Сервисы** | | Обнаружения | Что требует внимания: сканирования, подбор паролей, боковое перемещение, необычные выгрузки, флуд и трафик со списков угроз ([подробнее](#findings)) | | Пути трафика | Какой узел к какому приложению в какой стране обращается: 8 самых активных узлов, остальные как «Прочее». **Клиент → сервер** показывает клиент → сервис → сервер; **По сегментам** показывает сети вместо узлов | | География и сети | Карта мира с трафиком по странам; сети (AS), откуда трафик пришёл и куда ушёл, во времени в бит/с и пакетах/с; трафик по странам и по сетям | diff --git a/docs/README.ur.md b/docs/README.ur.md index 1324c76..92960b6 100644 --- a/docs/README.ur.md +++ b/docs/README.ur.md @@ -666,7 +666,7 @@ application، ملک، ڈیوائس — پر کلک کیا جا سکتا ہے: |---|---| | جائزہ | ابھی کتنی ٹریفک ہے اور پچھلے ہفتے کے مقابلے میں کتنی، application کے حساب سے؛ کھلی مشتبہ سرگرمیاں؛ سمت اور protocol؛ سرفہرست clients اور services | | ٹاپ 66 | **سب سے فعال ہوسٹ** پر کھلتا ہے: وقت کے ساتھ service کے لحاظ سے ٹریفک، اور سرفہرست 30 clients اور servers ساتھ ساتھ، ٹریفک، پیکٹ اور flow records کے ساتھ، پوری ٹریفک کی ایک row کے اوپر۔ **جدول** سرفہرست 66 کی ایک table ہے: ڈیفالٹ طور پر conversations (client، server، service، ملک)۔ ہر column heading سے sort ہوتا ہے؛ عددی columns (ٹریفک، پیکٹ، اوسط پیکٹ، flows) وقت کی حد کے پورے ٹریفک سے سرفہرست 66 دوبارہ چنتے ہیں، اس لیے سب سے چھوٹے اوسط پیکٹ سے scan اور flood پکڑے جاتے ہیں۔ **گروپ بندی بلحاظ** سے applications، نیٹ ورکس، segments، ڈیوائسز، encapsulation اور VLAN پر جائیں | -| ٹریفک کی تفصیل | وقت کے ساتھ clients، servers اور services، bits/s اور packets/s میں: ہر ایک کے سرفہرست 8، اور وہ کل کتنے تھے | +| ٹریفک کی تفصیل | وقت کے ساتھ clients، servers اور services، bits/s اور packets/s میں: ہر ایک کے سرفہرست 8، اور وہ کل کتنے تھے۔ شروع میں **سرور** دکھتے ہیں؛ ٹیبز سے **کلائنٹ**، **دونوں سرے** (ساتھ ساتھ) اور **سروسز** پر جائیں | | مشتبہ سرگرمی | کس چیز پر توجہ چاہیے: scans، پاس ورڈ کا اندازہ، lateral movement، غیر معمولی uploads، floods اور threat list والی ٹریفک ([مزید](#findings)) | | ٹریفک کے راستے | کون سا host کس ملک کی طرف کون سی application استعمال کرتا ہے: 8 سب سے مصروف hosts، باقی "دیگر" کے طور پر۔ **کلائنٹ ← سرور** کلائنٹ ← سروس ← سرور دکھاتا ہے؛ **سیگمنٹ کے لحاظ سے** hosts کی جگہ نیٹ ورکس دکھاتا ہے | | مقامات اور نیٹ ورک | ملک کے لحاظ سے ٹریفک کا دنیا کا نقشہ؛ وہ نیٹ ورکس (AS) جہاں سے ٹریفک آئی اور جہاں گئی، وقت کے ساتھ bits/s اور packets/s میں؛ ملک کے حساب سے اور نیٹ ورک کے حساب سے ٹریفک | diff --git a/docs/README.zh.md b/docs/README.zh.md index 3aa9e31..f87b331 100644 --- a/docs/README.zh.md +++ b/docs/README.zh.md @@ -556,7 +556,7 @@ curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamh |---|---| | 概览 | 当前流量多大、与上周相比如何,按应用拆分;未处理的发现;方向和协议;主要客户端和服务 | | Top 66 | 打开时显示 **主要通信方**:按服务划分的流量随时间变化,以及前 30 名客户端和服务器并排列出流量、包数和流记录数,下方有一行全部流量。**表格** 是一张前 66 名的表:默认是会话(客户端、服务器、服务、国家)。每个列标题都能排序;数字列(流量、包数、平均包长、流数)按时间范围内的全部流量重新取前 66 名,按平均包长从小到大排能找出扫描和泛洪。**分组方式** 可切换到应用、网络、网段、设备、封装和 VLAN | -| 流量明细 | 客户端、服务器和服务随时间的变化,单位为 bits/s 和 packets/s:各自的前 8 名,以及总共有多少个 | +| 流量明细 | 客户端、服务器和服务随时间的变化,单位为 bits/s 和 packets/s:各自的前 8 名,以及总共有多少个。默认显示 **服务器**,标签可切换到 **客户端**、**两端**(并排)和 **服务** | | 发现 | 哪些需要处理:扫描、暴力破解、横向移动、异常上传、泛洪和威胁情报流量([详见](#findings)) | | 流向 | 哪台主机在访问哪个国家的哪个应用:流量最大的 8 台主机,其余归为“其他”。**客户端 → 服务器** 显示客户端 → 服务 → 服务器;**按网段** 显示网段而不是主机 | | 地理与运营商 | 世界地图上按国家显示的流量;流量来自和去往哪些网络(AS),以 bits/s 和 packets/s 显示随时间的变化;按国家和按网络统计的流量 | diff --git a/docs/images/traffic.png b/docs/images/traffic.png index 78fda1a..83777bc 100644 Binary files a/docs/images/traffic.png and b/docs/images/traffic.png differ diff --git a/internal/web/static/app.js b/internal/web/static/app.js index c890fa4..1c21a1e 100644 --- a/internal/web/static/app.js +++ b/internal/web/static/app.js @@ -150,6 +150,7 @@ function readHash() { if (p.get('dim')) state.dim = p.get('dim'); state.tm = p.get('tm') === 'table' || (p.get('v') === 'topn' && p.get('dim')) ? 'table' : 'talkers'; state.sk = ['segment', 'conv'].includes(p.get('by')) ? p.get('by') : 'host'; + state.side = ['client', 'both', 'service'].includes(p.get('side')) ? p.get('side') : 'server'; const dd = p.get('d'); if (dd && dd.includes(':')) state.det = {f: dd.slice(0, dd.indexOf(':')), v: dd.slice(dd.indexOf(':') + 1)}; state.f = (p.get('f') || '').split(',').filter(Boolean).map(s => { const neg = s[0] === '!'; if (neg) s = s.slice(1); @@ -161,6 +162,7 @@ function writeHash(push) { const p = new URLSearchParams({v: state.v, r: state.r}); if (state.v === 'topn') { if (state.tm === 'table') { p.set('tm', 'table'); p.set('dim', state.dim); } } if (state.v === 'sankey' && state.sk !== 'host') p.set('by', state.sk); + if (state.v === 'traffic' && state.side !== 'server') p.set('side', state.side); if (state.v === 'detail' && state.det) p.set('d', state.det.f + ':' + state.det.v); if (state.f.length) p.set('f', state.f.map(x => (x.neg ? '!' : '') + encodeURIComponent(x.f) + ':' + encodeURIComponent(x.v)).join(',')); const h = '#' + p.toString(); @@ -650,14 +652,22 @@ function barChart(el, times, values, fmtV) { // Traffic details: clients, servers and services over time, in bits and // packets per second. +// Traffic details: servers by default; tabs switch to clients, both ends +// side by side, or services. Each shows bits/s and packets/s. +const TD = {client: ['td.clients', 'td.n_clients'], server: ['td.servers', 'td.n_servers'], service: ['td.services', 'td.n_services']}; views.traffic = async (el) => { - const groups = [['client', 'td.clients', 'td.n_clients'], ['server', 'td.servers', 'td.n_servers'], ['service', 'td.services', 'td.n_services']]; - const data = await Promise.all(groups.flatMap(([by]) => [seriesData(by, 'wire'), seriesData(by, 'pkts')])); - el.innerHTML = `
${groups.map(([by, title, cnt], gi) => { - const n = data[gi * 2].distinct || 0; - return seriesPanel('td-' + by + '-w', 'c6', `${t(title)} · ${t('ch.bps')}`, esc(t(cnt, {n: nf(n)}))) + seriesPanel('td-' + by + '-p', 'c6', `${t(title)} · ${t('ch.pps')}`); - }).join('')}
`; - groups.forEach(([by], gi) => { fillSeries('td-' + by + '-w', data[gi * 2], by, 'wire'); fillSeries('td-' + by + '-p', data[gi * 2 + 1], by, 'pkts'); }); + const side = state.side || 'server'; + const groups = side === 'both' ? ['server', 'client'] : [side]; + const data = await Promise.all(groups.flatMap(by => [seriesData(by, 'wire'), seriesData(by, 'pkts')])); + const tab = k => ``; + // both ends: servers and clients next to each other, bits/s over packets/s + const cls = side === 'both' ? 'c6' : 'c12'; + const panels = side === 'both' + ? ['w', 'p'].flatMap(m => groups.map((by, gi) => seriesPanel(`td-${by}-${m}`, cls, `${t(TD[by][0])} · ${t(m === 'w' ? 'ch.bps' : 'ch.pps')}`, m === 'w' ? esc(t(TD[by][1], {n: nf(data[gi * 2].distinct || 0)})) : ''))) + : groups.flatMap((by, gi) => [seriesPanel(`td-${by}-w`, cls, `${t(TD[by][0])} · ${t('ch.bps')}`, esc(t(TD[by][1], {n: nf(data[gi * 2].distinct || 0)}))), seriesPanel(`td-${by}-p`, cls, `${t(TD[by][0])} · ${t('ch.pps')}`)]); + el.innerHTML = `
${['server', 'client', 'both', 'service'].map(tab).join('')}
${panels.join('')}
`; + el.querySelectorAll('[data-side]').forEach(b => b.onclick = () => { state.side = b.dataset.side; render(); }); + groups.forEach((by, gi) => { fillSeries('td-' + by + '-w', data[gi * 2], by, 'wire'); fillSeries('td-' + by + '-p', data[gi * 2 + 1], by, 'pkts'); }); }; const DIMS = ['conv', 'client', 'server', 'app', 'port', 'country', 'asn', 'segment', 'exporter', 'encap', 'vlan']; diff --git a/internal/web/static/i18n/ar.json b/internal/web/static/i18n/ar.json index f51a9ec..942577a 100644 --- a/internal/web/static/i18n/ar.json +++ b/internal/web/static/i18n/ar.json @@ -375,5 +375,6 @@ "geo.map_more": "أكثر", "geo.map_none": "لا حركة", "geo.data_from": "بيانات الدول والشبكات:", -"geo.map_from": "الخريطة:" +"geo.map_from": "الخريطة:", +"td.both": "الطرفان" } diff --git a/internal/web/static/i18n/bn.json b/internal/web/static/i18n/bn.json index a78cd25..db553ee 100644 --- a/internal/web/static/i18n/bn.json +++ b/internal/web/static/i18n/bn.json @@ -375,5 +375,6 @@ "geo.map_more": "বেশি", "geo.map_none": "ট্রাফিক নেই", "geo.data_from": "দেশ ও নেটওয়ার্ক ডেটা:", -"geo.map_from": "মানচিত্র:" +"geo.map_from": "মানচিত্র:", +"td.both": "দুই প্রান্ত" } diff --git a/internal/web/static/i18n/en.json b/internal/web/static/i18n/en.json index 7fdd0e6..a576efb 100644 --- a/internal/web/static/i18n/en.json +++ b/internal/web/static/i18n/en.json @@ -375,5 +375,6 @@ "geo.map_more": "more", "geo.map_none": "no traffic", "geo.data_from": "Countries and networks:", -"geo.map_from": "Map:" +"geo.map_from": "Map:", +"td.both": "Both ends" } diff --git a/internal/web/static/i18n/es.json b/internal/web/static/i18n/es.json index d9a117a..08fc575 100644 --- a/internal/web/static/i18n/es.json +++ b/internal/web/static/i18n/es.json @@ -375,5 +375,6 @@ "geo.map_more": "más", "geo.map_none": "sin tráfico", "geo.data_from": "Países y redes:", -"geo.map_from": "Mapa:" +"geo.map_from": "Mapa:", +"td.both": "Ambos extremos" } diff --git a/internal/web/static/i18n/fr.json b/internal/web/static/i18n/fr.json index 0b3ff6b..006b3ca 100644 --- a/internal/web/static/i18n/fr.json +++ b/internal/web/static/i18n/fr.json @@ -375,5 +375,6 @@ "geo.map_more": "plus", "geo.map_none": "aucun trafic", "geo.data_from": "Pays et réseaux :", -"geo.map_from": "Carte :" +"geo.map_from": "Carte :", +"td.both": "Les deux côtés" } diff --git a/internal/web/static/i18n/hi.json b/internal/web/static/i18n/hi.json index b285463..4a38501 100644 --- a/internal/web/static/i18n/hi.json +++ b/internal/web/static/i18n/hi.json @@ -375,5 +375,6 @@ "geo.map_more": "ज़्यादा", "geo.map_none": "कोई ट्रैफ़िक नहीं", "geo.data_from": "देश और नेटवर्क डेटा:", -"geo.map_from": "नक़्शा:" +"geo.map_from": "नक़्शा:", +"td.both": "दोनों छोर" } diff --git a/internal/web/static/i18n/id.json b/internal/web/static/i18n/id.json index 09093b0..f1629ce 100644 --- a/internal/web/static/i18n/id.json +++ b/internal/web/static/i18n/id.json @@ -375,5 +375,6 @@ "geo.map_more": "banyak", "geo.map_none": "tanpa lalu lintas", "geo.data_from": "Negara dan jaringan:", -"geo.map_from": "Peta:" +"geo.map_from": "Peta:", +"td.both": "Kedua sisi" } diff --git a/internal/web/static/i18n/ja.json b/internal/web/static/i18n/ja.json index 5519ab6..d86b926 100644 --- a/internal/web/static/i18n/ja.json +++ b/internal/web/static/i18n/ja.json @@ -375,5 +375,6 @@ "geo.map_more": "多", "geo.map_none": "通信なし", "geo.data_from": "国・ネットワークのデータ:", -"geo.map_from": "地図:" +"geo.map_from": "地図:", +"td.both": "両端" } diff --git a/internal/web/static/i18n/ko.json b/internal/web/static/i18n/ko.json index 534e5a3..6ebdcd5 100644 --- a/internal/web/static/i18n/ko.json +++ b/internal/web/static/i18n/ko.json @@ -375,5 +375,6 @@ "geo.map_more": "많음", "geo.map_none": "트래픽 없음", "geo.data_from": "국가·네트워크 데이터:", -"geo.map_from": "지도:" +"geo.map_from": "지도:", +"td.both": "양쪽" } diff --git a/internal/web/static/i18n/pt.json b/internal/web/static/i18n/pt.json index 102283e..a4eeead 100644 --- a/internal/web/static/i18n/pt.json +++ b/internal/web/static/i18n/pt.json @@ -375,5 +375,6 @@ "geo.map_more": "mais", "geo.map_none": "sem tráfego", "geo.data_from": "Países e redes:", -"geo.map_from": "Mapa:" +"geo.map_from": "Mapa:", +"td.both": "Ambas as pontas" } diff --git a/internal/web/static/i18n/ru.json b/internal/web/static/i18n/ru.json index 8c58335..de529f8 100644 --- a/internal/web/static/i18n/ru.json +++ b/internal/web/static/i18n/ru.json @@ -375,5 +375,6 @@ "geo.map_more": "больше", "geo.map_none": "нет трафика", "geo.data_from": "Страны и сети:", -"geo.map_from": "Карта:" +"geo.map_from": "Карта:", +"td.both": "Обе стороны" } diff --git a/internal/web/static/i18n/ur.json b/internal/web/static/i18n/ur.json index dc65e44..5afa08f 100644 --- a/internal/web/static/i18n/ur.json +++ b/internal/web/static/i18n/ur.json @@ -375,5 +375,6 @@ "geo.map_more": "زیادہ", "geo.map_none": "ٹریفک نہیں", "geo.data_from": "ممالک اور نیٹ ورکس کا ڈیٹا:", -"geo.map_from": "نقشہ:" +"geo.map_from": "نقشہ:", +"td.both": "دونوں سرے" } diff --git a/internal/web/static/i18n/zh.json b/internal/web/static/i18n/zh.json index c278730..26cb958 100644 --- a/internal/web/static/i18n/zh.json +++ b/internal/web/static/i18n/zh.json @@ -375,5 +375,6 @@ "geo.map_more": "多", "geo.map_none": "无流量", "geo.data_from": "国家和运营商数据:", -"geo.map_from": "地图:" +"geo.map_from": "地图:", +"td.both": "两端" }