diff --git a/README.md b/README.md
index e40d088..3ed0269 100644
--- a/README.md
+++ b/README.md
@@ -2,389 +2,143 @@
# traffic66
-Flow analytics for sFlow, NetFlow and IPFIX in a single program. It
-collects flow exports from switches, routers and firewalls, stores them in
-an embedded database, and shows who uses the bandwidth, where the traffic
-goes and whether the numbers match the devices' own interface counters —
-in a web UI and in a terminal UI.
-
-- One executable for Windows, Linux and macOS. No database to install, no
- runtime, works offline.
-- sFlow v5, NetFlow v5, NetFlow v9 and IPFIX on any UDP port; optional local
- capture from a network interface or mirror port.
-- Checks its own numbers against interface counters (sFlow counters or
- SNMP) and says why they differ when they do.
-- Finds scans, password guessing, lateral movement, unusual uploads, floods
- and threat list traffic in the flows, also through sampling, and lists
- them as findings to deal with.
-- Top 66 lists, who talks to whom as ring charts (servers and their
- clients, services and their servers), traffic over time by interface and
- network (AS), flow paths, countries on a world map, threat list matches,
- flow records, encapsulation (GRE, IPIP, VXLAN, GENEVE, MPLS).
-- `traffic66 capture.pcap` opens up to 3 packet captures (3 GB in all) in the web UI: flows, findings, countries and flow records over the whole capture, with nothing to set up.
-- 13 languages in the web UI and the terminal UI.
-- Source available: free for evaluation and for organizations with fewer
- than 100 people; larger organizations register after 30 days of
- production use. Nothing is ever switched off (see
- [Trial and licence](#trial-and-licence)).
+Flow analytics for sFlow, NetFlow and IPFIX in a single program: who uses
+the bandwidth, where the traffic goes, and whether the numbers match the
+devices' own interface counters, in a web UI and a terminal UI.
+
+- One executable for Windows, Linux and macOS; no database to install, works offline.
+- sFlow v5, NetFlow v5/v9 and IPFIX on any UDP port, or local capture from an interface.
+- Checks its numbers against interface counters (sFlow or SNMP) and says why they differ.
+- Finds scans, password guessing, lateral movement, unusual uploads, floods and threat list traffic, also through sampling.
+- `traffic66 capture.pcap` analyses packet captures with nothing to set up.
+- 13 languages. Free for evaluation and for organizations under 100 people ([licence](#licence)).

-All screenshots come from `traffic66 demo`, a simulated company network that you can run yourself (see [Try the demo](#1-try-the-demo)).
+All screenshots come from `traffic66 demo`, a simulated company network.
## Contents
1. [Try the demo](#1-try-the-demo)
-2. [Install](#2-install) — [Linux](#linux) · [Windows](#windows) · [macOS](#macos)
+2. [Install](#2-install)
3. [Users and passwords](#3-users-and-passwords)
4. [Send flows from your devices](#4-send-flows-from-your-devices)
5. [Check that flows arrive](#5-check-that-flows-arrive)
-6. [Make the numbers match the interface counters](#6-make-the-numbers-match-the-interface-counters)
-7. [Names, SNMP and your own networks](#7-names-snmp-and-your-own-networks)
-8. [Countries, networks and threat lists](#8-countries-networks-and-threat-lists)
-9. [Using the web UI](#9-using-the-web-ui)
-10. [Terminal UI](#10-terminal-ui)
-11. [Local capture](#11-local-capture)
-12. [Options](#12-options)
-13. [Data, backup, upgrade, uninstall](#13-data-backup-upgrade-uninstall)
-14. [Security](#14-security)
-15. [Sizing](#15-sizing)
-16. [Troubleshooting](#16-troubleshooting)
-17. [Build from source](#17-build-from-source)
+6. [Interfaces and counters](#6-interfaces-and-counters)
+7. [Names, countries and threat lists](#7-names-countries-and-threat-lists)
+8. [Using the web UI](#8-using-the-web-ui)
+9. [Offline pcap, terminal UI, local capture](#9-offline-pcap-terminal-ui-local-capture)
+10. [Options and data](#10-options-and-data)
+11. [Security, sizing, troubleshooting](#11-security-sizing-troubleshooting)
## 1. Try the demo
-Download the archive for your system from the
-[releases page](https://github.com/githubflyideas/traffic66/releases):
-
-| System | Archive |
-|---|---|
-| Windows 10/11, Server 2016 or later (x64) | `traffic66-windows-amd64.zip` |
-| Linux x86-64: any distribution with kernel 3.2 or later, including CentOS 7 and Alpine | `traffic66-linux-amd64.tar.gz` |
-| Linux ARM64: same distributions | `traffic66-linux-arm64.tar.gz` |
-| macOS 11 or later, Apple silicon | `traffic66-darwin-arm64.tar.gz` |
-| macOS 11 or later, Intel | `traffic66-darwin-amd64.tar.gz` |
-
-Linux:
-
-```
-tar xzf traffic66-linux-amd64.tar.gz
-cd traffic66-linux-amd64
-./traffic66 demo -password try66
-```
-
-macOS (the second line lets macOS run a program downloaded from the
-internet that is not from the App Store):
-
-```
-tar xzf traffic66-darwin-arm64.tar.gz
-xattr -dr com.apple.quarantine traffic66-darwin-arm64
-cd traffic66-darwin-arm64
-./traffic66 demo -password try66
-```
-
-Windows (PowerShell):
+Download your system's archive from the
+[releases page](https://github.com/githubflyideas/traffic66/releases)
+(Windows x64, Linux x86-64/ARM64 with kernel 3.2+, macOS 11+), unpack it and run:
```
-Expand-Archive traffic66-windows-amd64.zip .
-cd traffic66-windows-amd64
-.\traffic66.exe demo -password try66
+./traffic66 demo -password try66 # Linux, macOS
+.\traffic66.exe demo -password try66 # Windows
```
-Open http://127.0.0.1:8066 and sign in as `admin` / `try66`. The demo builds
-a small company network with a day of history and live traffic from four
-simulated devices, including an attack: **Findings** shows each step of it
-(a scan, a port scan, password guessing, lateral movement, an upload to a
-control server) and a flood on the public website. Click **Details** on a
-finding, or start on **Overview**, click a host in **Top clients**, choose
-**Show details**, and keep clicking from there. Stop it with Ctrl+C.
-Demo data is kept in `traffic66-demo` next to the program; delete that
-folder to start the demo afresh.
-
-The demo uses the same ports as a real installation (8066, and UDP 6343,
-2055, 4739). To run it next to a real one, give it other ports:
-`traffic66 demo -password try66 -addr :8067 -listen ""`.
-
-On Windows you can also simply double-click `traffic66.exe`. That starts
-traffic66 for real (not the demo) and opens the web UI in your browser; the
-first-start password is shown in the black window, and closing the window
-stops traffic66. If Windows says "Windows protected your PC", click
-**More info** → **Run anyway**.
+On macOS first run `xattr -dr com.apple.quarantine `. Open
+http://127.0.0.1:8066 as `admin` / `try66`: a day of history and live
+traffic from four simulated devices, including an attack shown step by step
+on **Findings**. Ctrl+C stops it; delete `traffic66-demo` to start afresh.
+To run it next to a real installation: `-addr :8067 -listen ""`.
## 2. Install
-traffic66 is a single file. Installing means putting it somewhere, choosing
-a data directory, setting a password, opening the firewall and starting it
-at boot. The examples use `192.0.2.50` for the traffic66 machine and
-`192.0.2.1` for a router; replace them with your addresses.
+traffic66 is one file. Ports: UDP 6343 (sFlow), 2055 (NetFlow), 4739
+(IPFIX), TCP 8066 (web UI); every UDP port accepts every protocol.
-Ports:
-
-| Port | Used for |
-|---|---|
-| UDP 6343 | sFlow (default) |
-| UDP 2055 | NetFlow (default) |
-| UDP 4739 | IPFIX (default) |
-| TCP 8066 | web UI and API |
-
-Every UDP port accepts every protocol, so a device can send NetFlow to 6343
-if that is easier. Change or add ports with `-listen`.
-
-### Linux
+**Linux** (systemd):
```
-sudo mkdir -p /opt/traffic66
-sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
+sudo mkdir -p /opt/traffic66 && sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
sudo useradd --system --no-create-home --shell /usr/sbin/nologin traffic66
sudo install -d -o traffic66 -g traffic66 /var/lib/traffic66
sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66
```
-The last command asks for the password of the user `admin`.
-
-Create `/etc/systemd/system/traffic66.service`:
+`/etc/systemd/system/traffic66.service`:
```
[Unit]
Description=traffic66 flow analytics
After=network-online.target
-Wants=network-online.target
[Service]
User=traffic66
ExecStart=/opt/traffic66/traffic66 -data /var/lib/traffic66
Restart=on-failure
-# hard memory limit for the whole process (see Sizing)
MemoryMax=2G
-# only needed for local capture (-capture):
-#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
+#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN # only for local capture
[Install]
WantedBy=multi-user.target
```
-Start it and allow larger UDP buffers so bursts are not lost:
-
-```
-echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf
-sudo sysctl --system
-sudo systemctl daemon-reload
-sudo systemctl enable --now traffic66
-sudo systemctl status traffic66
-journalctl -u traffic66 -f
-```
-
-Firewall, with firewalld (RHEL, Rocky, Alma, Fedora):
-
```
-sudo firewall-cmd --permanent --add-port=6343/udp --add-port=2055/udp --add-port=4739/udp --add-port=8066/tcp
-sudo firewall-cmd --reload
+echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf && sudo sysctl --system
+sudo systemctl daemon-reload && sudo systemctl enable --now traffic66
+sudo firewall-cmd --permanent --add-port={6343,2055,4739}/udp --add-port=8066/tcp && sudo firewall-cmd --reload
```
-or with ufw (Ubuntu, Debian):
+**Windows** (PowerShell as Administrator): unpack to `C:\traffic66`, run
+`C:\traffic66\traffic66.exe passwd`, open the ports, and start it at boot:
```
-sudo ufw allow 6343,2055,4739/udp
-sudo ufw allow 8066/tcp
-```
-
-### Windows
-
-Unpack to `C:\traffic66` and set the password (PowerShell as
-Administrator):
-
-```
-Expand-Archive traffic66-windows-amd64.zip C:\
-Rename-Item C:\traffic66-windows-amd64 C:\traffic66
-C:\traffic66\traffic66.exe passwd
-```
-
-Data goes to `C:\traffic66\traffic66-data`, next to the program.
-
-Open the firewall:
-
-```
-New-NetFirewallRule -DisplayName "traffic66 flows" -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
-New-NetFirewallRule -DisplayName "traffic66 web" -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
-```
-
-To try it in the foreground, run `C:\traffic66\traffic66.exe` and stop it
-with Ctrl+C. To run it in the background from boot, without anyone signed
-in, register it as a startup task:
-
-```
-$action = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
-$trigger = New-ScheduledTaskTrigger -AtStartup
-$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
-Register-ScheduledTask -TaskName traffic66 -Action $action -Trigger $trigger -Settings $settings -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
+New-NetFirewallRule -DisplayName traffic66 -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
+New-NetFirewallRule -DisplayName traffic66-web -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
+$a = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
+$s = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1)
+Register-ScheduledTask -TaskName traffic66 -Action $a -Trigger (New-ScheduledTaskTrigger -AtStartup) -Settings $s -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
Start-ScheduledTask -TaskName traffic66
```
-`-ExecutionTimeLimit ([TimeSpan]::Zero)` matters: without it Windows stops
-the task after three days. Stop it with `Stop-ScheduledTask -TaskName
-traffic66`, remove it with `Unregister-ScheduledTask -TaskName traffic66`.
-
-### macOS
-
-```
-sudo mkdir -p /usr/local/traffic66
-sudo tar xzf traffic66-darwin-arm64.tar.gz -C /usr/local/traffic66 --strip-components=1
-sudo xattr -dr com.apple.quarantine /usr/local/traffic66
-sudo /usr/local/traffic66/traffic66 passwd -data "/Library/Application Support/traffic66"
-```
-
-Create `/Library/LaunchDaemons/traffic66.plist`:
-
-```
-
-
-
-
- Labeltraffic66
- ProgramArguments
-
- /usr/local/traffic66/traffic66
- -data
- /Library/Application Support/traffic66
-
- RunAtLoad
- KeepAlive
- StandardErrorPath/Library/Logs/traffic66.log
-
-
-```
-
-Start it, and stop it again:
-
-```
-sudo launchctl bootstrap system /Library/LaunchDaemons/traffic66.plist
-tail -f /Library/Logs/traffic66.log
-sudo launchctl bootout system/traffic66
-```
+Double-clicking `traffic66.exe` also works: it opens the web UI and shows
+the first password in its window.
-If the macOS firewall is on, allow incoming connections for traffic66 in
-System Settings → Network → Firewall → Options.
+**macOS**: unpack to `/usr/local/traffic66`, remove the quarantine flag,
+run `traffic66 passwd -data "/Library/Application Support/traffic66"`, and
+start it from a LaunchDaemon whose `ProgramArguments` are the program,
+`-data` and that directory, with `RunAtLoad` and `KeepAlive`.
## 3. Users and passwords
-**In short:** users and passwords live in one file, `password`, in the data
-directory. You never edit it by hand: the `traffic66 passwd` command adds,
-changes, lists and deletes users. Open `http://:8066`
-and sign in with one of them.
-
-### The first sign-in
-
-On its first start traffic66 creates the user `admin` with a random
-password and shows it once:
-
-```
-first start: sign in as user "admin" with password "3f9c2a7e5b1d8046"
-```
-
-- Started by double-click on Windows: in the black window.
-- In a terminal: in the terminal.
-- Linux service: `journalctl -u traffic66 | grep "first start"`
-- macOS service: `grep "first start" /Library/Logs/traffic66.log`
-
-Missed it? Set a new one with `traffic66 passwd` (below). If you set a
-password with `traffic66 passwd` before the first start, as the install
-steps above do, nothing is generated.
-
-### Where the users are stored
-
-The file `password` in the data directory:
-
-| How traffic66 runs | File |
-|---|---|
-| Unpacked and started from its folder (default) | `traffic66-data/password` next to the program |
-| Linux service (section 2) | `/var/lib/traffic66/password` |
-| Windows startup task (section 2) | `C:\traffic66\traffic66-data\password` |
-| macOS service (section 2) | `/Library/Application Support/traffic66/password` |
-| Demo | `traffic66-demo/password` next to the program |
-
-One line per user. Passwords are stored as salted hashes, so nobody can
-read them back from the file, not even you; if a password is forgotten, set
-a new one. The file is readable by its owner only.
-
-```
-# traffic66 login, one user per line; change with: traffic66 passwd
-admin:pbkdf2-sha256$210000$…
-alice:pbkdf2-sha256$210000$…
-```
-
-### Managing users
-
-Run these on the traffic66 machine:
+On first start traffic66 creates the user `admin` with a random password
+and prints it once (in the window, the terminal, or
+`journalctl -u traffic66 | grep "first start"`). Users are kept as salted
+hashes in `password` in the data directory and managed with one command on
+the traffic66 machine (add `-data …` when traffic66 runs with it):
| To | Command |
|---|---|
| Change the password of `admin` | `traffic66 passwd` |
-| Add the user `alice`, or change her password | `traffic66 passwd -user alice` |
-| Delete the user `alice` | `traffic66 passwd -user alice -delete` |
-| List the users | `traffic66 passwd -list` |
-| Set a random password and print it | `traffic66 passwd -generate` (with `-user` for other users) |
-
-- The command asks for the new password twice and does not show what you
- type. Use at least 8 characters.
-- When traffic66 runs with `-data`, add the same `-data` to the command.
- For the Linux service from section 2:
-
- ```
- sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66 -user alice
- ```
-
- On Windows (PowerShell as Administrator):
-
- ```
- C:\traffic66\traffic66.exe passwd -user alice
- ```
-
-- Changes apply immediately, without a restart: a new password works at the
- next sign-in, and a deleted user is signed out of open browsers.
-- The last remaining user cannot be deleted; add another one first.
-- All users see and can change the same things; there are no roles.
-
-### Passwords for scripts and containers
+| Add `alice` or change her password | `traffic66 passwd -user alice` |
+| Delete `alice` | `traffic66 passwd -user alice -delete` |
+| List users | `traffic66 passwd -list` |
-`TRAFFIC66_PASSWORD=…` in the environment, or `-password …` on the command
-line, makes traffic66 accept exactly one user for that run: the one named by
-`-user` (default `admin`) with that password. The `password` file is then
-ignored and not changed. Prefer the environment variable: command lines are
-visible to other users of the machine.
-
-```
-TRAFFIC66_PASSWORD='s3cret-pass' traffic66 -user ops
-```
-
-After five wrong passwords within a minute, an address is blocked for a
-minute.
+Changes apply at once. All users have the same rights. For scripts and
+containers, `TRAFFIC66_PASSWORD=…` (or `-password`) accepts only `-user`
+with that password for that run. Five wrong passwords in a minute block the
+address for a minute.
## 4. Send flows from your devices
-Point each device at the traffic66 machine. Commands differ between models
-and software versions; check your device's manual. In all examples,
-`192.0.2.50` is traffic66 and `192.0.2.1` the device's own address.
-
-General advice:
-
-- Set the active flow timeout to 60 seconds. Longer timeouts make traffic
- arrive in late, large lumps.
-- If the device samples NetFlow/IPFIX, let it export its sampler options so
- the rate is known. traffic66 holds records until the rate arrives rather
- than counting them 1:1.
-- Sample either all interfaces or only the edge interfaces, in one
- direction. Sampling the same traffic on the way in and on the way out
- counts it twice; **Interface check** points this out.
-- sFlow sampling rate: about 1:1000 for 1 Gb/s links, 1:4096 for 10 Gb/s,
- 1:8192 for 40/100 Gb/s.
-
-Cisco IOS / IOS-XE (Flexible NetFlow):
+`192.0.2.50` is traffic66, `192.0.2.1` the device. Set the active timeout to
+60 seconds, let NetFlow/IPFIX devices export their sampler options, and
+sample **every interface inbound** (or only the edge interfaces): each
+packet then counts once. sFlow rates: about 1:1000 for 1 Gb/s, 1:4096 for
+10 Gb/s, 1:8192 for 40/100 Gb/s.
```
+! Cisco IOS-XE, NetFlow v9
flow exporter T66
destination 192.0.2.50
transport udp 2055
- export-protocol netflow-v9
option sampler-table
flow monitor T66
exporter T66
@@ -394,39 +148,8 @@ interface GigabitEthernet0/0/0
ip flow monitor T66 input
```
-Cisco NX-OS (sFlow):
-
-```
-feature sflow
-sflow collector-ip 192.0.2.50 vrf default
-sflow collector-port 6343
-sflow agent-ip 192.0.2.1
-sflow sampling-rate 4096
-sflow counter-poll-interval 30
-sflow data-source interface ethernet 1/1
-```
-
-Arista EOS (sFlow):
-
-```
-sflow sample 4096
-sflow destination 192.0.2.50
-sflow source-interface Management1
-sflow run
-```
-
-Juniper EX / QFX (sFlow):
-
-```
-set protocols sflow collector 192.0.2.50 udp-port 6343
-set protocols sflow sample-rate ingress 4096
-set protocols sflow polling-interval 30
-set protocols sflow interfaces ge-0/0/0
-```
-
-Huawei CloudEngine (sFlow):
-
```
+# Huawei CloudEngine, sFlow (H3C Comware is similar)
sflow agent ip 192.0.2.1
sflow collector 1 ip 192.0.2.50
interface 10GE1/0/1
@@ -437,373 +160,127 @@ interface 10GE1/0/1
sflow counter interval 30
```
-H3C Comware (sFlow):
-
-```
-sflow agent ip 192.0.2.1
-sflow collector 1 ip 192.0.2.50 port 6343
-interface Ten-GigabitEthernet1/0/1
- sflow sampling-rate 4096
- sflow flow collector 1
- sflow counter interval 30
- sflow counter collector 1
```
+# Juniper EX/QFX, sFlow
+set protocols sflow collector 192.0.2.50 udp-port 6343
+set protocols sflow sample-rate ingress 4096
+set protocols sflow interfaces ge-0/0/0
-MikroTik RouterOS 7 (NetFlow v9 / IPFIX):
+# Arista EOS, sFlow
+sflow sample 4096
+sflow destination 192.0.2.50
+sflow run
-```
+# MikroTik RouterOS 7
/ip traffic-flow set enabled=yes interfaces=all active-flow-timeout=1m
/ip traffic-flow target add dst-address=192.0.2.50 port=2055 version=9
-```
-
-FortiGate FortiOS 7.4.2 or later (NetFlow v9):
-
-```
-config system netflow
- config collectors
- edit 1
- set collector-ip 192.0.2.50
- set collector-port 2055
- next
- end
-end
-config system interface
- edit port1
- set netflow-sampler both
- next
-end
-```
-
-Linux servers and hosts, with softflowd (NetFlow v9):
-```
+# Linux host, softflowd
softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
```
## 5. Check that flows arrive
-Open **Settings**. Each device that sends anything appears within seconds,
-with its protocol, sampling rate, loss, last packet and a status. When the
-status is not green, the text next to it says what is wrong and what to
-change.
-
-**Lost** counts samples or records that never arrived. For sFlow the text
-says where they went missing: on the way here (gaps in the sequence
-numbers: the network, or this machine's UDP receive buffer; if
-`netstat -su` shows receive buffer errors rising, raise
-`net.core.rmem_max`), or in the device itself (sFlow reports the samples
-the device dropped: its sFlow export is rate-limited, so sample less often
-or raise the device's limit). Totals are compensated either way; per-host
-detail is not.
+**Settings** lists every device that sends anything within seconds: protocol,
+sampling rate, loss, the interfaces it samples, and what to fix when the
+status is not green. sFlow loss is split into loss on the way (raise
+`net.core.rmem_max` if `netstat -su` shows buffer errors) and samples the
+device itself dropped.

-If a device does not appear:
-
-1. Watch for packets on the traffic66 machine (Linux, macOS):
- `sudo tcpdump -ni any udp port 6343 or udp port 2055 or udp port 4739`.
- Nothing there means the packets do not reach the machine: check the
- device configuration, routing and firewalls on the way.
-2. Packets arrive but **Settings** stays empty: the local firewall drops
- them (see [Install](#2-install)), or traffic66 listens on other ports
- (`-listen`).
-3. To test the path from another machine without touching a device, run
- `traffic66 simulate -to 192.0.2.50` there for a few seconds. It sends
- sFlow, NetFlow and IPFIX from simulated devices; they then appear in
- **Settings** and in the data, so prefer a test installation for this.
-
-## 6. Make the numbers match the interface counters
-
-Flow numbers are estimates: sampled packets times the sampling rate.
-traffic66 compares them with the device's own interface counters and shows
-the difference on **Interface check**, with the likely cause when it is
-larger than sampling alone explains. Each interface has a full-width
-bits/s chart and, under it, a packets/s chart, with ingress (green) and
-egress (blue); the device's own counters are dashed lines on the bits/s
-chart. Picking an interface in the list shows its charts.
-
-Each row of the list has two buttons. **✎** gives the interface a name and
-a short tag (such as *uplink*), shown next to its name everywhere. **☆**
-makes it the default interface (**★**); there is one default. The pages
-then open on it (see the **Interface** choice under [Using the web UI](#9-using-the-web-ui)), and the overview shows its
-bandwidth. Both are saved at once to the `iface` line in Names.
-
-Flow records name two interfaces: the one a packet came in on and the one
-it left by. A device that samples only some interfaces therefore shows
-the other ends of their flows too. Those **peer interfaces** are listed
-last, in smaller grey type, under their own heading: their numbers hold
-only the traffic that went through a sampled interface, not all of their
-traffic. They are not offered under **Interface** above the pages.
-traffic66 knows which interface sampled a flow from the sFlow data source,
-or from the flowDirection field (IPFIX 61) of NetFlow v9 and IPFIX (ingress:
-the input interface, egress: the output interface). Without that field, an
-interface on at least 90% of a device's traffic is taken as the sampled
-one; when there is none, no interface is marked. **Settings** shows, for
-each device, the sampled interfaces and whether its templates carry
-flowDirection. To see all of a device's traffic, sample every interface
-inbound (see [Send flows from your devices](#4-send-flows-from-your-devices)).
+A device missing? Run `sudo tcpdump -ni any udp port 6343 or udp port 2055
+or udp port 4739`: nothing there means routing, a firewall or the device
+configuration; packets there but nothing in **Settings** means the local
+firewall or `-listen`. `traffic66 simulate -to 192.0.2.50` from another
+machine tests the path with simulated devices.
-
+## 6. Interfaces and counters
-To get counters to compare with:
+Flow numbers are estimates (samples × sampling rate). **Interface check**
+compares them with the device's interface counters (sFlow counters, or SNMP
+via an `snmp` line in Names) and says why they differ: interfaces not
+sampled, the same traffic sampled twice, loss on the way, or an unknown
+sampling rate. Each interface has a bits/s and a packets/s chart, ingress
+green and egress blue, counters dashed.
-- sFlow devices send them on their own when a counter interval is set
- (`sflow counter interval 30` and similar).
-- For NetFlow and IPFIX devices, add an `snmp` line in **Settings → Names**
- (see [Names](#7-names-snmp-and-your-own-networks)). traffic66 then reads
- the interface counters every minute.
+On each row, **✎** sets a name and a short tag (such as *uplink*) and
+**☆** makes it the default interface (★), which the pages open on.
-What traffic66 already does so the numbers match: it uses the sampling
-rate the device actually applied, holds NetFlow/IPFIX records until the
-sampling rate is known, compensates export packets lost on the way, spreads
-long flows over the minutes they lasted, and adds 18 bytes per packet of
-Ethernet overhead to NetFlow/IPFIX byte counts (interface counters include
-it, IP-layer flow counts do not; change with `-l2-overhead`).
+A device that samples only some interfaces also shows the other ends of
+those flows. These **peer interfaces** are listed last in small grey type:
+they only hold the traffic through the sampled interface. The sampled
+interface is known from the sFlow data source or the flowDirection field
+(IPFIX 61); without it, an interface on 90% of a device's traffic.
-Common reasons for a remaining difference, all reported on **Interface
-check**: some interfaces are not sampled, the same traffic is sampled on
-two interfaces, export packets are lost before they reach traffic66, or
-the sampling rate is not known yet.
-
-## 7. Names, SNMP and your own networks
+
-The quickest way to name a host or a device: click its address on any page
-and choose **Name it…**. Type the name and press Enter; it is saved at
-once and shown everywhere instead of the bare address.
+traffic66 already uses the rate the device applied, waits for unknown
+rates, makes up for export loss, spreads long flows over their minutes and
+adds 18 bytes per packet of Ethernet overhead to NetFlow/IPFIX
+(`-l2-overhead`).
-For networks, interfaces and SNMP, use **Settings → Names**: choose the type
-(host, network, device, interface, SNMP), fill in the address and the name,
-and click **Add**. The table below lists every name with **Edit** and
-**Delete**; adding the same address again replaces the old entry. Addresses
-and networks are checked before saving.
+## 7. Names, countries and threat lists
-The names are saved as `inventory.txt` in the data directory, one entry per
-line. **Edit as text (advanced)** shows that file, and you can also edit it
-directly (see `inventory.txt.example`). Every line is optional.
+Click any address and choose **Name it…**, or use **Settings → Names**.
+Names are kept in `inventory.txt` in the data directory:
```
-# your networks: traffic between them is "internal"
-net 10.10.0.0/16 Office LAN
-net 203.0.113.0/24 Public servers country=JP
-
-# device names; "unsampled" if it exports every packet (1:1),
-# sampling=N if it samples 1:N but does not say so in its export
-device 192.0.2.1 Core router
-device 192.0.2.9 Branch firewall unsampled
-device 192.0.2.20 Edge router sampling=1000
-
-# interface names, by device address and ifIndex; speed in bits per second,
-# tag= a short tag, default = the interface the pages open on (one only)
-iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
-
-# host names shown instead of addresses
-host 10.10.3.27 Finance PC
-
-# read interface counters over SNMPv2c (IF-MIB 64-bit counters)
-snmp 192.0.2.1 public
-snmp 192.0.2.9 s3cret 10.99.0.9:161
+net 10.10.0.0/16 Office LAN # your networks
+net 203.0.113.0/24 Public servers country=JP # country: lines on the world map
+device 192.0.2.1 Core router
+device 192.0.2.9 Branch firewall unsampled # exports every packet
+device 192.0.2.20 Edge router sampling=1000 # rate it does not declare
+iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
+host 10.10.3.27 Finance PC
+snmp 192.0.2.1 public # read counters over SNMPv2c
+snmp 192.0.2.9 s3cret 10.99.0.9:161 # other management address
```
-- `net`: private ranges (10/8, 172.16/12, 192.168/16, 100.64/10) are
- always yours. Add your public ranges so traffic to and from them counts
- as yours too; the name shows up in **Top 66** grouped by segment and in
- the flow paths by network. `country=JP` (a two-letter country code)
- says where the network is; the world map then draws lines from it to the
- countries it talks to.
-- `snmp [[:port]]`: the device
- is the address flows come from. Add the management address when the
- device answers SNMP on another address. Interface descriptions read over
- SNMP are used as names unless you name the interface with `iface`.
- Allow the traffic66 machine in the device's SNMP access list.
-- Changes apply when you click **Save**; no restart is needed.
-
-## 8. Countries, networks and threat lists
-
-Countries and networks (AS) work out of the box: traffic66 has DB-IP's free
-**IP to Country Lite** and **IP to ASN Lite** databases built in (licensed
-[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); "IP Geolocation
-by DB-IP", [db-ip.com](https://db-ip.com)). The pages that show countries
-and networks name the data's source.
-
-The built-in copy is from the release you run. DB-IP publishes a new one
-every month; **Settings → Countries and networks database → Update DB-IP
-Lite now** downloads the latest from db-ip.com (the server running
-traffic66 needs internet access for this; the web UI says so if it fails).
-
-You can also use another free database. Download it, then upload it on the
-same page with **Upload a database file…**. It is checked, saved in the data
-directory and used for new traffic at once; no restart is needed. Traffic
-already stored keeps the country it was saved with.
-
-| Database | Gives | Licence | Where to get it |
-|---|---|---|---|
-| DB-IP Lite (built in) | countries; networks | CC BY 4.0, no account | [db-ip.com/db/lite.php](https://db-ip.com/db/lite.php) |
-| MaxMind GeoLite2 Country and ASN, `.mmdb` | countries; networks | GeoLite2 EULA, free account | [maxmind.com](https://www.maxmind.com/en/geolite2/signup) |
-| IPinfo Lite, `ipinfo_lite.mmdb` | countries and networks in one file | CC BY-SA 4.0, free account | [ipinfo.io/lite](https://ipinfo.io/lite) |
-| IPtoASN, `ip2asn-combined.tsv.gz` | networks with their country | PDDL 1.0, no account | [iptoasn.com](https://iptoasn.com) |
-
-Your own files are used first; the built-in DB-IP Lite answers what they
-do not cover. **Remove** next to a file goes back to the rest. The page
-lists what is in use and the date of each database.
-
-Without the web UI, copy the file into the data directory as
-`country.mmdb`, `asn.mmdb`, `both.mmdb` (a file with countries and
-networks, such as IPinfo Lite) or `asn.tsv.gz` and restart traffic66.
-
-**Geo & networks** shows the traffic to and from other countries on a
-world map: the darker a country, the more traffic. Point at a country for
-its traffic; click it to filter or open its flow records. When your
-networks have a country (`country=` on a `net` line, see
-[Names](#7-names-snmp-and-your-own-networks)), lines run from that country
-to the countries they exchange traffic with, thicker for more traffic. Country outlines
-come from [Natural Earth](https://www.naturalearthdata.com) (public domain).
-
-
+Private ranges are always yours. Changes apply on **Save**, no restart.
-Threat lists are plain text files with one address or network per line
-(text after `#` or `;` is ignored), saved as `/threats/.txt`, for
-example:
+Countries and networks (AS) work out of the box with DB-IP's free Lite
+databases ([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), "IP
+Geolocation by DB-IP", [db-ip.com](https://db-ip.com)); **Settings** updates
+them, or takes MaxMind GeoLite2, IPinfo Lite or IPtoASN files instead. Map
+outlines: [Natural Earth](https://www.naturalearthdata.com).
-```
-mkdir -p /threats
-curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamhaus-drop.txt
-```
+
-Restart traffic66 after adding or changing lists. Matches appear on
-**Threat intel**, by list name.
+Threat lists are text files with one address or network per line in
+`/threats/.txt` (for example Spamhaus DROP); restart after
+changing them. Matches appear on **Threat intel**.

-## 9. Using the web UI
-
-You should rarely need to type. Every value on every page — an address, a
-port, an application, a country, a device — can be clicked:
-
-- **Show only this** / **Exclude this** adds a filter. Filters appear
- under the top bar and apply to every page until you remove them.
-- **Show its flow records** opens the matching individual flows.
-- **Show details** (hosts, devices and services) opens a page about that
- one host or service: its traffic over time by application, who it talks
- to, which services or clients, countries and its latest flows. Every
- value there can be clicked again, so you can keep drilling down; the
- browser's Back button returns.
-- **Name it…** (hosts and devices) gives the address a name, shown
- everywhere from then on.
-- **Look it up online** opens the address or AS in a public lookup site.
-- **Copy** copies the value.
+## 8. Using the web UI
-Pages:
+Every value on every page can be clicked: **Show only this** / **Exclude
+this** (filters apply to every page), **Show its flow records**, **Show
+details** (a page about one host or service), **Name it…**, **Look it up
+online**, **Copy**.
-| Page | What it answers |
+| Page | What it shows |
|---|---|
-| Overview | The bandwidth of the chosen interface (or the default, or else the busiest) in bits/s, ingress and egress as seen by the interface; how much traffic now, by application (**Total**, or only **Inbound** or **Outbound** traffic of your networks), compared with the same time yesterday (ranges up to a day), last week (up to a week) or the days before (longer ranges), when there is data then; open findings; direction and protocol; top clients and services |
-| Top 66 | Opens on **Table**, 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. **Talkers** shows the top 30 clients and servers side by side with traffic, packets and flow records, above a row for all traffic |
-| Traffic details | Two ring charts. **Servers and clients**: the inner ring is the 8 busiest servers, the outer ring the clients of each; **Clients inside** turns it round (clients inside, the servers each uses outside), since one side often explains more than the other. **Services**: one ring of the busiest services. Point at a segment for its traffic; click it like any value |
-| 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. Long names are shortened to 22 characters; point at one for the full name |
-| Findings | What needs attention: scans, password guessing, lateral movement, unusual uploads, floods and threat list traffic ([more](#findings)) |
-| Threat intel | Hosts that talked to addresses on your threat lists, and how much they sent |
-| Geo & networks | A world map of traffic by country, with lines from your networks; the networks (AS) traffic came from and went to, over time in bits/s and packets/s; traffic by country and by network |
-| Settings | Devices, sampling, the interfaces each device samples and whether it sends flowDirection, loss, collectors, SNMP, the countries and networks database, the logo, and **Names** |
-| Interface check | Traffic of every interface over time in bits/s and, below, packets/s, ingress (green) and egress (blue), with the device counters as dashed lines; how far the flow numbers are from the counters, worst first, with reasons; a name, a tag and the default for each interface |
-| Flow records | How many flow records there were and when (a bar per interval), and the records themselves, newest first, page by page, with selectable columns. Opens on the last 15 minutes, updated every 5 seconds; opened from a value on another page (**Show its flow records**) it keeps that page's time range, and **Back to live** returns |
-| Data cleanup | Deletes data older than 120, 90, 60, 30 or 7 days, or all of it, with how much each frees ([more](#13-data-backup-upgrade-uninstall)) |
-| Offline pcap analysis | Packet captures (pcap, pcapng) analysed apart from the live data ([more](#offline-pcap-analysis)) |
-
-The side menu lists the pages in four groups: traffic (Overview, Top 66,
-Traffic details, Flow paths, Interface check, Flow records), security
-(Findings, Threat intel, Geo & networks), Settings and Offline pcap
-analysis, and Data cleanup at the bottom. Under the logo are the version and the
-server's date and time.
-
-Above the traffic pages (Overview, Top 66, Traffic details, Flow paths,
-Geo & networks, Flow records and the detail of a value) is **Interface**:
-**All interfaces**, or one interface, so that these pages show only the
-traffic through it (in or out). It lists the sampled interfaces, grouped
-by device, and starts on the default interface (★, set on **Interface
-check**) and the choice is part of the link. Findings,
-Threat intel, Interface check and Settings always cover all traffic. For
-one interface over 7 or 30 days the pages read the flow records rather
-than the hourly and daily summaries, so they take longer and reach back
-as far as flow records are kept (30 days by default).
-
-Above the pages: time range (15 minutes to 30 days, or **Custom…** for any
-start and end, also further back than 30 days), automatic refresh every 30
-seconds, and **Copy link**, which copies a link to exactly the current view
-(page, time range and filters) to send to a colleague. On **Top 66** and
-**Traffic details**, **Device**, **Client**, **Server** and **Service**
-list the busiest values of the time range: pick one, or
-type one, to filter; the filter then applies to every page until you empty
-the box. The language follows the browser; change it at the bottom of the
-menu, above **Log out**. Settings, Flow records (while live), Data cleanup
-and Offline pcap analysis have no time range.
-
-Next to the language is the colour theme, after iOS's system colours:
-**Light** (the default), **Grey**, **Black** (for wall screens), **Teal**
-and **Orange**. Each click on it goes to the next one; the choice is kept
-in the browser.
-
-Charts over time show the 8 largest values in fixed colours and the rest as
-Other; the legend gives each value's total and can be clicked like any
-other value. Charts of clients and servers leave the rest out of the
-drawing, since with thousands of hosts it would flatten the top 8; the
-legend still gives its total.
-
-Charts end where the data is complete: with sFlow at the current minute,
-with NetFlow and IPFIX a little earlier, by as long as the devices take to
-export their flows (traffic66 measures this; at most 2 minutes).
-
-Ranges longer than 6 hours start on a whole hour, so every number on the
-page counts exactly the same time: "24 hours" covers the last 24 whole
-hours plus the current one. Top 66 over these ranges comes from hourly
-summaries; filters are not available there, and the page says so. Choose a
-shorter range to filter. Conversations always read the flow detail, so over long ranges
-at high flow rates they can take a while; one hour is fastest.
-
-The side menu shows how much disk the data uses and how much is free;
-hover over the free space to see how much the kept days of detail need at
-the current rate (estimated once there is a day of data).
-
-To show your own logo on the sign-in page and at the top of the menu, use
-**Settings → Logo → Upload a logo…**: PNG, SVG, JPEG, WebP or GIF, up to
-1 MB, best at 272 × 92 pixels (other sizes are scaled to fit). **Use the
-built-in logo** goes back to traffic66's.
-
-### Findings
-
-**Findings** lists what traffic66 found in the flows, most serious first. It
-checks the last 10 minutes every 5 minutes; something that goes on for an
-hour is one finding that grows, not a new one at every check.
-
-| Finding | What it means | Severity |
-|---|---|---|
-| Scan | One address sent small probes to many addresses on one port (TCP or ping) | High from inside your network, low from the internet |
-| Port scan | One address sent small probes to many ports of one host | High from inside, low from the internet |
-| Password guessing | Many short connections to a login service (SSH, RDP, SMB, databases and others) | High from inside, low from the internet |
-| Lateral movement | Inside your network, file sharing or remote administration sessions (SMB, RDP, SSH, WinRM, VNC) to hosts that never offered that service before | High |
-| Unusual upload | An internal host sent much more than it received (100 MB in 10 minutes, three times what it received) to an address it had not exchanged data with before | High |
-| Flood | 20,000 or more small packets per second to one address, ten times its usual rate | Medium |
-| Threat list | Traffic with an address on one of your threat lists | High when your host connected to it, low when the listed address knocked from outside |
-
-Each finding says who did what to whom, when and for how long, with the
-numbers behind it and how the data was sampled. **Details** opens the
-host's page, which also lists the findings about it. **Dealt with** closes
-a finding; if it happens again, a new one opens. **Not a problem** closes it
-for good: it is never reported again. The red number next to **Findings** in
-the side menu counts the open high and medium findings of the last 24 hours.
-
-Lateral movement and unusual uploads need to know what is normal, so they
-are reported once there is a day of history. On first start traffic66
-learns from the history it already has.
-
-With sampled data (sFlow, sampled NetFlow) the rules count what the samples
-show and ask for fewer of them, but then each must look like one short
-probe, so busy normal hosts do not trigger them. What sampling hides cannot
-be found: behind 1:4096 sampling, a scan of a few dozen hosts sends too few
-packets to be seen. The demo's attack goes through a switch that samples
-1:4096 and is found completely; a day of the demo's normal traffic produces
-no findings except the internet scanner knocking on the website.
-
-
+| Overview | The chosen interface's bandwidth; traffic by application (total, inbound or outbound) against yesterday or last week; open findings; top clients and services |
+| Top 66 | The top 66 conversations, sortable by any column, or grouped by application, network, segment, device, encapsulation, VLAN; the top 30 talkers |
+| Traffic details | Ring charts: servers and their clients (or the other way round), and services |
+| Flow paths | Host → application → country, or client → service → server, or by network |
+| Interface check | Every interface over time against its counters; names, tags, the default |
+| Flow records | The individual flows, live every 5 seconds or for any time range |
+| Findings, Threat intel | What needs attention ([below](#findings)); traffic with listed addresses |
+| Geo & networks | A world map by country, networks (AS) over time |
+| Settings | Devices, sampling, loss, SNMP, databases, logo, names |
+| Offline pcap analysis, Data cleanup | Capture files ([below](#9-offline-pcap-terminal-ui-local-capture)); deleting old data |
+
+Above the pages: **Interface** (all, or one sampled interface; the traffic
+pages then show only traffic through it), the time range (15 minutes to 30
+days, or custom), refresh every 30 s and **Copy link** for the exact view.
+The language, and five colour themes, are at the foot of the menu. Charts
+end where the data is complete: with NetFlow/IPFIX as late as the devices
+export (at most 2 minutes). Ranges over 6 hours start on a whole hour; one
+interface over 7 or 30 days reads the flow detail, so it is slower and
+reaches back as far as detail is kept.

@@ -813,339 +290,106 @@ no findings except the internet scanner knocking on the website.

-The same overview in Chinese; every page is available in 13 languages:
-

-### Offline pcap analysis
-
-**Offline pcap analysis** looks at packet captures from Wireshark or tcpdump with the same pages as the live data, without mixing them in.
-
-It summarizes all the packets into flows: who talked to whom, how much, when, and what looks like an attack. It does not decode protocols or show packet contents; for one packet or one TCP stream, use Wireshark.
-
-From the command line, without setting anything up:
-
-```
-traffic66 office.pcap
-traffic66 a.pcap b.pcapng c.pcap
-```
-
-traffic66 starts on this computer only (127.0.0.1, a free port), prints the address, the password and a one-time sign-in link, and opens the browser on the capture. Up to 3 files, 3 GB in all; they are read where they are and never changed. Nothing is collected or sent, and host names are not looked up (`-dns` turns that on). Ctrl+C stops and deletes the imported data. On a 2-core machine a 1 GB capture is ready in about 5 seconds (1.2 million full-size packets) to 30 seconds (14 million small packets).
+### Findings
-```
-$ traffic66 office.pcap
+Checked every 5 minutes over the last 10; something lasting an hour is one
+growing finding.
-traffic66 0.3.1: analysing 1 capture file(s); nothing is collected or sent
- Web UI http://127.0.0.1:38217 (port 38217, this computer only)
- Sign in user admin, password gfhfhbuutz2e
- Open http://127.0.0.1:38217/auto?t=b9388f… (signs in once)
- Stop Ctrl+C; the imported data is deleted, your files are kept
-```
+| Finding | Meaning |
+|---|---|
+| Scan, port scan | Small probes to many hosts on one port, or many ports of one host |
+| Password guessing | Many short connections to a login service |
+| Lateral movement | File sharing or remote administration to internal hosts that never offered it before |
+| Unusual upload | 100 MB in 10 minutes to a new address, three times what came back |
+| Flood | 20,000+ small packets/s to one address, ten times its usual rate |
+| Threat list | Traffic with a listed address |
+
+From inside your network they are high, from the internet low. **Dealt
+with** closes a finding, **Not a problem** silences it for good. Lateral
+movement and uploads need a day of history. Through 1:4096 sampling the
+demo's attack is found completely; very small scans can hide behind
+sampling.
-In the web UI of a running traffic66:
+
-1. **Upload capture files…**: `.pcap` or `.pcapng`, not compressed. Up to 3 files, each at most 50 MB. The files are turned into flows in a database of their own (`/sandbox/`); the live data, its numbers and findings are not touched.
-2. **Analyse**: every page (overview, Top 66, traffic details, findings, flow paths, map, flow records) now shows the capture files over their whole time. An orange bar names the files; **Back to live data** returns. Each file appears as a device, so the **Device** box shows one file at a time.
-3. The detection rules run over the capture: scans, port scans and password guessing are listed under **Findings**. Rules that need a day of history (lateral movement, unusual uploads) do not apply to a capture.
-4. **Delete** removes a file and its data; **Delete all** removes everything.
+## 9. Offline pcap, terminal UI, local capture
-The demo includes an example capture with an attack in it.
+**Offline pcap analysis** shows packet captures (pcap, pcapng) with the same
+pages, apart from the live data: `traffic66 a.pcap b.pcapng` starts on
+127.0.0.1 and opens the browser (up to 3 files, 3 GB; Ctrl+C deletes the
+imported data), or upload up to 3 files of 50 MB on that page. It works on
+flows, not packet contents.

-## 10. Terminal UI
-
-```
-traffic66 tui # traffic66 on this machine
-traffic66 tui -server http://192.0.2.50:8066 -user admin -password …
-traffic66 -tui # collect and show the terminal UI in one process
-```
-
-On the traffic66 machine, `traffic66 tui` signs in by itself when it can
-read the data directory (give `-data` when it is not the default). If
-traffic66 runs as another user, as a service does, use `-user` and
-`-password` instead. `-lang` picks the language (`en`, `zh`, `hi`,
-`es`, `ar`, `fr`, `bn`, `pt`, `ru`, `id`, `ur`, `ja`, `ko`).
-
-Keys: 1–8 pages, ↑↓ select, Enter actions on the selected value, f show
-only, x exclude, / search, t time range, c clear filters, w open the same
-view in a browser, q quit.
+**Terminal UI**: `traffic66 tui` on the traffic66 machine, or
+`traffic66 tui -server http://192.0.2.50:8066 -user admin -password …`.
+Keys: 1–8 pages, Enter actions, f show only, x exclude, t time range, w open
+in a browser, q quit; `-lang` picks the language.


-## 11. Local capture
-
-Besides receiving flow exports, traffic66 can build flows itself from the
-packets on a network interface of the machine it runs on. What it sees
-depends on the interface:
-
-| Interface | What traffic66 sees |
-|---|---|
-| A spare network port connected to a switch's mirror (SPAN) port | All traffic the switch mirrors: a whole network or uplink |
-| The machine's own Ethernet or Wi-Fi | Only this machine's own traffic |
-
-Wi-Fi adapters cannot see other devices' traffic. To see a whole Wi-Fi
-network, let the router or access point export flows (section 4), or mirror
-the switch port the access point is connected to.
-
-### Windows
-
-1. Install [Npcap](https://npcap.com) with its default options. If you tick
- "Restrict Npcap driver's access to Administrators only", run traffic66 as
- Administrator.
-2. List the interfaces (PowerShell):
-
- ```
- C:\traffic66\traffic66.exe interfaces
- ```
-
- ```
- # Name Address Adapter / device
- 1 Ethernet - Intel(R) Ethernet I219-V \Device\NPF_{4B8A2C1E-…}
- 2 Wi-Fi 192.168.1.23 Intel(R) Wi-Fi 6 AX201 \Device\NPF_{9F00AA11-…}
- 3 Loopback - Adapter for loopback traffic capture \Device\NPF_Loopback
- ```
-
- The Name column is the connection name from Windows' network settings;
- the interface in use has an address.
-3. Capture on Wi-Fi, by name or by number:
-
- ```
- C:\traffic66\traffic66.exe -capture Wi-Fi
- C:\traffic66\traffic66.exe -capture 2
- ```
-
- Put names with spaces in quotes: `-capture "Ethernet 2"`. Repeat
- `-capture` to capture on several interfaces. Add `-listen=` if you only
- want capture and no flow collectors. For the startup task in section 2,
- add the option to `-Argument`:
- `-Argument '-data C:\traffic66\traffic66-data -capture Wi-Fi'`.
-
-### Linux
+**Local capture** builds flows from a local interface, best a port
+connected to a switch's mirror port: `traffic66 interfaces` lists them,
+`-capture eth1` (or a Windows name or number) captures. Linux needs root or
+`setcap cap_net_raw,cap_net_admin+ep`, macOS root, Windows
+[Npcap](https://npcap.com). Captured flows come from the device `127.0.0.1`.
-```
-traffic66 interfaces
-sudo setcap cap_net_raw,cap_net_admin+ep /opt/traffic66/traffic66
-traffic66 -capture eth1
-```
-
-Capture needs root or the capabilities `CAP_NET_RAW` and `CAP_NET_ADMIN`:
-the `setcap` line above, or the `AmbientCapabilities` line in the systemd
-unit in section 2. Wi-Fi interfaces are usually named `wlan0` or `wlp…`.
-
-### macOS
-
-```
-traffic66 interfaces
-sudo traffic66 -capture en0
-```
-
-Capture needs root; nothing to install. On MacBooks `en0` is the Wi-Fi.
-
-### Checking that it works
-
-**Settings** lists each captured interface with the capture method and the
-number of packets seen. The flows appear as coming from the device
-`127.0.0.1` (this machine), on every page, like any other device's. Packets
-seen twice (for example on two mirror ports) are counted twice.
-
-## 12. Options
-
-`traffic66 -h` and `traffic66 -h` list everything.
+## 10. Options and data
-Commands:
-
-| Command | |
-|---|---|
-| `traffic66` | collect flows and serve the web UI |
-| `traffic66 demo` | the same, with a simulated network |
-| `traffic66 tui` | terminal UI for a running traffic66 |
-| `traffic66 passwd` | add, change, list or delete users (see [Users and passwords](#3-users-and-passwords)) |
-| `traffic66 simulate -to HOST` | send simulated exports to a collector |
-| `traffic66 interfaces` | list interfaces for local capture |
-| `traffic66 version` | print the version |
-
-Options of `traffic66` and `traffic66 demo`:
+`traffic66 -h` lists everything. The most used:
| Option | Default | |
|---|---|---|
-| `-addr` | `:8066` | web UI address; `127.0.0.1:8066` for this machine only |
| `-data` | `traffic66-data` next to the program | data directory |
-| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | UDP collectors as `name=address`, comma separated; empty disables |
-| `-user` | `admin` | name of the user created on first start, and of the user `-password` applies to |
-| `-password` | not set | accept only `-user` with this password for this run, ignoring the `password` file (also `TRAFFIC66_PASSWORD`) |
-| `-retention-days` | `30` | days of flow detail kept; summaries are kept 400 days |
-| `-memory` | `0.10` | share of physical memory for the database cache, and the same again as a soft limit for the rest of the program (each at least 256 MB) |
-| `-l2-overhead` | `18` | bytes per packet added to NetFlow/IPFIX byte counts |
+| `-addr` | `:8066` | web UI; `127.0.0.1:8066` for this machine only |
+| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | UDP collectors; empty disables |
+| `-retention-days` | `30` | days of flow detail; summaries are kept 400 days |
+| `-memory` | `0.10` | share of RAM for the database cache |
| `-sampling-wait` | `5m` | how long records wait for a sampling rate |
-| `-capture` | | capture on a local interface (repeatable) |
-| `-inventory` | `/inventory.txt` | names file |
-| `-asn` | `/asn.tsv.gz` | IP-to-ASN table (`.mmdb` files: upload them, or `/country.mmdb`, `/asn.mmdb`, `/both.mmdb`) |
-| `-threat` | `/threats/*.txt` | extra threat list as `name=path` (repeatable) |
-| `-dns-upstream` | system resolver | DNS server for showing host names |
-| `-dns-rate` | `20` | reverse lookups per second at most |
-| `-dns-cache` | `2m` | how long host names are cached |
+| `-capture` | | local interface (repeatable) |
| `-no-dns` | | no reverse lookups |
-| `-tui` | | also open the terminal UI |
-Example: a second collector port, a year of detail, and the web UI only on
-the local machine:
+The data directory holds `raw/` (detail, one file per hour),
+`traffic66.duckdb` (summaries and counters), `password`, `inventory.txt`,
+`license.json`, your logo and databases. Back up by stopping traffic66 and
+copying it; upgrade by replacing the program file. **Data cleanup** deletes
+data older than 7–120 days, or all of it.
-```
-traffic66 -data /var/lib/traffic66 -listen "sflow=:6343,netflow=:2055,ipfix=:4739,netflow=:9995" -retention-days 365 -addr 127.0.0.1:8066
-```
+### Licence
-## 13. Data, backup, upgrade, uninstall
+Source available under the [PolyForm Noncommercial License 1.0.0](LICENSE.md)
+and the [Traffic66 Additional Use Grant](ADDITIONAL-USE-GRANT.md) (English
+binding): free for evaluation and for organizations under 100 people;
+larger organizations register after 30 days of production use; selling,
+hosting for others or competing products need a commercial licence. Nothing
+is ever switched off. The foot of each page shows the 8-digit installation
+number; send it to the author, and put the `license.json` you get back in
+the data directory. Contact: .
-The data directory holds everything:
+## 11. Security, sizing, troubleshooting
-| | |
-|---|---|
-| `raw/` | flow detail, one compressed file per hour |
-| `traffic66.duckdb` | summaries, interface counters and the current hour |
-| `password` | login passwords (hashed) |
-| `inventory.txt` | names (**Settings → Names**) |
-| `license.json` | installation number and licence (see [Trial and licence](#trial-and-licence)) |
-| `logo.png` (or `.svg`, `.jpg`, `.webp`, `.gif`) | your logo (**Settings → Logo**), if you uploaded one |
-| `country.mmdb`, `asn.mmdb`, `both.mmdb`, `asn.tsv.gz`, `dbip-country.mmdb`, `dbip-asn.mmdb`, `threats/`, `sandbox/` | countries and networks databases you added or downloaded, and threat lists |
-
-**How long data is kept**: flow detail 30 days, summaries (overview and long
-time ranges) 400 days. Older data is deleted automatically, checked every 5
-minutes; nothing else is deleted and there is no other limit. Change the
-detail period with `-retention-days`, any number of days, for example
-`-retention-days 365`. Disk use grows with it: **Free** in the side menu
-turns red when the kept days will not fit. If the disk fills up, new flows
-cannot be stored until space is freed.
-
-**Data cleanup** in the side menu deletes data before you need to: older
-than 120, 90, 60, 30 or 7 days, or all data. It shows for each choice how
-many flow records go and about how much disk it frees, and asks before
-deleting. Flow records, the hourly and daily summaries, interface counters
-and findings are deleted; deleting all data also resets what the detection
-rules have learned. It cannot be undone.
-
-- **Backup**: stop traffic66 and copy the directory. Without stopping,
- copy `raw/`, `password` and `inventory.txt`; the current hour and the
- summaries are then missing.
-- **Move**: stop traffic66, move the directory, start with `-data` pointing
- to the new place.
-- **Upgrade**: stop traffic66, replace the program file, start it again.
- The data stays. On Linux, for example:
-
- ```
- sudo systemctl stop traffic66
- sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
- sudo systemctl start traffic66
- ```
-
-- **Uninstall**: stop and remove the service or startup task (see
- [Install](#2-install)), then delete the program folder and the data
- directory.
-
-### Trial and licence
-
-traffic66 is source available under the
-[PolyForm Noncommercial License 1.0.0](LICENSE.md) and the
-[Traffic66 Additional Use Grant](ADDITIONAL-USE-GRANT.md); the English text
-of both is binding. In short:
-
-- **Evaluation**, testing, development and demonstrations: free for
- anyone, without time limit.
-- **Production use** (real traffic, for an organization's operations) by
- an organization with fewer than 100 employees and contractors: free.
-- Production use by **larger organizations**: free for 30 days, then a
- registration licence from the author is needed.
-- Contractors and service providers may run it for a customer, in a
- deployment of that customer's own; the customer's size decides.
-- Not allowed without a commercial licence: selling it or building it into
- a product, offering it to others as a hosted or multi-tenant service, or
- a competing product.
-
-Fees, scope and term of a registration licence are set case by case, and
-it may be free. Contact: .
-
-Every installation shows the trial, also where no licence is needed. On
-first start traffic66 writes `license.json` to the data directory with an
-8-digit installation number. The foot of
-every page shows how many days of the trial are left, then that the trial
-has ended. Nothing is switched off either way: every feature keeps working.
-
-To register, send the author the installation number (also shown at the
-foot of every page). The licence comes back as a new `license.json`; put
-it in the data directory in place of the old one. It is checked when
-traffic66 starts and every 4 hours, so no restart is needed; the foot of the
-page then shows who it is licensed to and how many days are left.
-
-## 14. Security
-
-- The web UI uses plain HTTP: passwords and data cross the network
- unencrypted. On networks you do not fully trust, listen on this machine
- only (`-addr 127.0.0.1:8066`) and put a TLS reverse proxy in front, for
- example with [Caddy](https://caddyserver.com):
- `caddy reverse-proxy --from traffic66.example.com --to 127.0.0.1:8066`.
- Or reach it over a VPN or SSH tunnel:
- `ssh -L 8066:127.0.0.1:8066 user@192.0.2.50`, then open
- http://127.0.0.1:8066.
-- Allow the UDP collector ports only from your devices' addresses.
-- SNMP communities in `inventory.txt` are stored in clear text; use a
- read-only community.
-
-## 15. Sizing
-
-Measured at 5,000 flows per second on a 2-core machine: detail uses about
-12 GB of disk per day plus about 1.5 GB for the current hour, and the
-program a sixth of one core. Overviews of long time
-ranges come from summaries and take under 0.2 s. Queries over detail scan
-about 22 million rows per hour: one host over 1 hour takes under 1 s, a
-1-hour Top 66 of all conversations about 9 s; the time grows with the range
-and shrinks with more cores.
-
-Disk for 30 days at 5,000 flows/s is therefore about 360 GB; scale it with
-your flow rate (shown on **Settings**) and `-retention-days`.
-
-Memory: `-memory` (default 10% of RAM, at least 256 MB) limits the
-database cache, and the rest of the program gets a soft limit of the same
-size. At 5,000 flows per second the program's own data (decoding, duplicate
-detection, batches) takes about 90 MB; in total expect 0.6–0.8 GB, so a
-machine with 2 GB of RAM is enough. Measured over 10 minutes of continuous
-collection (peak 0.58 GB on an 8 GB machine) and while loading an hour of
-flows at eleven times that rate with the limits of a 2 GB machine (peak
-0.74 GB).
-
-`-memory` is a budget, not a hard cap: the Go limit is soft and the
-database can briefly exceed its share. For a hard cap use the operating
-system's: `MemoryMax=` in the systemd unit (section 2) or a container's
-memory limit. Allow about 2.5 times the `-memory` share and at least 1 GB;
-`MemoryMax=2G` suits machines with up to 8 GB at the default share.
-traffic66 then restarts instead of the machine running out of memory.
-
-## 16. Troubleshooting
-
-| Symptom | Cause and fix |
-|---|---|
-| Device missing from **Settings** | Packets do not arrive: see [Check that flows arrive](#5-check-that-flows-arrive) |
-| "waiting for the sampling rate" | The device has not sent its sampler options yet; most resend within minutes. If it never does, export them (`option sampler-table` on Cisco) or mark it `unsampled` in Names if it really is 1:1, or give its rate with `sampling=N` on its `device` line. **Settings** then lists the templates the device sent, to see what it declares |
-| Numbers lower than the interface counters | See **Interface check**: loss on the way, interfaces not sampled, or flows still in the device cache (active timeout longer than 60 s) |
-| Numbers higher than the interface counters | The same traffic sampled on two interfaces or two devices |
-| No countries or networks ("Unknown") | No database loaded: upload one on **Settings**, see [Countries](#8-countries-networks-and-threat-lists) |
-| "The database reached its memory limit" on a page | Choose a shorter time range, or start with a larger `-memory`; details are in the log |
-| Forgot the password | `traffic66 passwd` on the traffic66 machine (add `-data` if traffic66 runs with it) |
-| `Conflicting lock is held` | Another traffic66 already uses this data directory |
-| `receive buffer is only … KB` | Linux limits UDP buffers: set `net.core.rmem_max=16777216` (see [Linux](#linux)) |
-| `cannot create the data directory` | The program folder is not writable for this user: give `-data` |
-| macOS: "cannot be opened" or "developer cannot be verified" | `xattr -dr com.apple.quarantine ` |
-| Windows: "Windows protected your PC" | **More info** → **Run anyway**; the program is not signed yet |
-| Windows capture: Npcap not found | Install [Npcap](https://npcap.com) |
-| `address already in use` | Another program uses the port: choose others with `-addr` or `-listen` |
-
-## 17. Build from source
-
-Go 1.24 and a C compiler (gcc or clang; MinGW-w64 on Windows):
+The web UI is plain HTTP: on untrusted networks use `-addr 127.0.0.1:8066`
+behind a TLS proxy (`caddy reverse-proxy --from traffic66.example.com --to
+127.0.0.1:8066`) or an SSH tunnel. Allow the UDP ports only from your
+devices. SNMP communities are stored in clear text; use read-only ones.
-```
-git clone https://github.com/githubflyideas/traffic66
-cd traffic66
-scripts/build.sh 0.1.0 traffic66
-```
+At 5,000 flows/s on 2 cores: about 12 GB of disk per day of detail (360 GB
+for 30 days), a sixth of a core, 0.6–0.8 GB of memory. Long-range overviews
+take under 0.2 s; a 1-hour Top 66 of all conversations about 9 s.
+
+| Symptom | Fix |
+|---|---|
+| "waiting for the sampling rate" | Export sampler options, or `sampling=N` / `unsampled` on the device line |
+| Lower than the counters | Interfaces not sampled, loss, or an active timeout over 60 s |
+| Higher than the counters | The same traffic sampled on two interfaces or devices |
+| Forgot the password | `traffic66 passwd` on the traffic66 machine |
+| `Conflicting lock is held` | Another traffic66 uses this data directory |
+| `address already in use` | Choose other ports with `-addr` or `-listen` |
+| Windows "protected your PC" | **More info** → **Run anyway** |
+
+Build from source: Go 1.24 and a C compiler, then `scripts/build.sh 0.1.0 traffic66`.
diff --git a/docs/README.ar.md b/docs/README.ar.md
index ea326e7..43a9191 100644
--- a/docs/README.ar.md
+++ b/docs/README.ar.md
@@ -4,408 +4,154 @@
# traffic66
-تحليل تدفقات sFlow وNetFlow وIPFIX في برنامج واحد. يستقبل traffic66
-التدفقات المُصدَّرة من المبدّلات والموجّهات والجدران النارية، ويخزّنها في
-قاعدة بيانات مدمجة، ويعرض من يستهلك عرض النطاق، وإلى أين تذهب الحركة، وهل
-تتطابق الأرقام مع عدّادات الواجهات في الأجهزة نفسها — في واجهة ويب وفي
-واجهة طرفية.
-
-- ملف تنفيذي واحد لأنظمة Windows وLinux وmacOS. لا قاعدة بيانات تحتاج إلى
- تثبيت، ولا بيئة تشغيل، ويعمل دون اتصال بالإنترنت.
-- sFlow v5 وNetFlow v5 وNetFlow v9 وIPFIX على أي منفذ UDP؛ مع التقاط محلي
- اختياري من واجهة شبكة أو منفذ مرآة.
-- يقارن أرقامه بعدّادات الواجهات (عدّادات sFlow أو SNMP) ويشرح سبب
- الاختلاف حين يقع.
-- يكتشف في التدفقات عمليات المسح وتخمين كلمات المرور والتحرك الجانبي وعمليات
- الرفع غير المعتادة والإغراق وحركة قوائم التهديدات، حتى عبر أخذ العينات،
- ويعرضها اكتشافاتٍ تحتاج إلى معالجة.
-- قوائم أعلى 66، ومن يتواصل مع من في مخططات حلقية (الخوادم وعملاؤها،
- والخدمات وخوادمها)، والحركة عبر الزمن حسب الواجهة والشبكة (AS)، ومسارات
- الحركة، والدول على خريطة العالم، والتطابقات مع قوائم التهديدات، وسجلات
- التدفق، والتغليف (GRE وIPIP وVXLAN وGENEVE وMPLS).
-- يفتح `traffic66 capture.pcap` حتى 3 ملفات التقاط (3 GB إجمالاً) في واجهة الويب: التدفقات والاكتشافات والدول وسجلات التدفق لكامل الالتقاط، دون أي إعداد.
-- 13 لغة في واجهة الويب والواجهة الطرفية.
-- متاح المصدر: مجاني للتقييم وللمؤسسات التي يقل عدد أفرادها عن 100 شخص؛
- وتسجّل المؤسسات الأكبر بعد 30 يومًا من الاستخدام الإنتاجي. ولا يُعطَّل أي
- شيء أبدًا (انظر [التجربة والترخيص](#trial-and-licence)).
+تحليل تدفقات sFlow وNetFlow وIPFIX في برنامج واحد: من يستهلك عرض النطاق،
+وإلى أين تذهب الحركة، وهل تتطابق الأرقام مع عدّادات الواجهات في الأجهزة
+نفسها، في واجهة ويب وواجهة طرفية.
+
+- ملف تنفيذي واحد لأنظمة Windows وLinux وmacOS؛ لا قاعدة بيانات تحتاج إلى تثبيت، ويعمل دون اتصال بالإنترنت.
+- sFlow v5 وNetFlow v5/v9 وIPFIX على أي منفذ UDP، أو التقاط محلي من واجهة.
+- يقارن أرقامه بعدّادات الواجهات (sFlow أو SNMP) ويشرح سبب الاختلاف.
+- يكتشف عمليات المسح وتخمين كلمات المرور والتحرك الجانبي وعمليات الرفع غير المعتادة والإغراق وحركة قوائم التهديدات، حتى عبر أخذ العينات.
+- يحلّل `traffic66 capture.pcap` ملفات التقاط الحزم دون أي إعداد.
+- 13 لغة. مجاني للتقييم وللمؤسسات التي يقل عدد أفرادها عن 100 شخص ([الترخيص](#licence)).

-جميع لقطات الشاشة مأخوذة من `traffic66 demo`، وهي شبكة شركة محاكاة يمكنك تشغيلها بنفسك (انظر [جرّب العرض التوضيحي](#1-try-the-demo)).
+جميع لقطات الشاشة مأخوذة من `traffic66 demo`، وهي شبكة شركة محاكاة.
## المحتويات
1. [جرّب العرض التوضيحي](#1-try-the-demo)
-2. [التثبيت](#2-install) — [Linux](#linux) · [Windows](#windows) · [macOS](#macos)
+2. [التثبيت](#2-install)
3. [المستخدمون وكلمات المرور](#3-users-and-passwords)
4. [إرسال التدفقات من أجهزتك](#4-send-flows-from-your-devices)
5. [التحقق من وصول التدفقات](#5-check-that-flows-arrive)
-6. [مطابقة الأرقام مع عدّادات الواجهات](#6-make-the-numbers-match-the-interface-counters)
-7. [الأسماء وSNMP وشبكاتك الخاصة](#7-names-snmp-and-your-own-networks)
-8. [الدول والشبكات وقوائم التهديدات](#8-countries-networks-and-threat-lists)
-9. [استخدام واجهة الويب](#9-using-the-web-ui)
-10. [الواجهة الطرفية](#10-terminal-ui)
-11. [الالتقاط المحلي](#11-local-capture)
-12. [الخيارات](#12-options)
-13. [البيانات والنسخ الاحتياطي والترقية وإزالة التثبيت](#13-data-backup-upgrade-uninstall)
-14. [الأمان](#14-security)
-15. [تقدير الموارد](#15-sizing)
-16. [استكشاف الأخطاء وإصلاحها](#16-troubleshooting)
-17. [البناء من المصدر](#17-build-from-source)
+6. [الواجهات والعدّادات](#6-interfaces-and-counters)
+7. [الأسماء والدول وقوائم التهديدات](#7-names-countries-and-threat-lists)
+8. [استخدام واجهة الويب](#8-using-the-web-ui)
+9. [تحليل pcap دون اتصال، الواجهة الطرفية، الالتقاط المحلي](#9-offline-pcap-terminal-ui-local-capture)
+10. [الخيارات والبيانات](#10-options-and-data)
+11. [الأمان، تقدير الموارد، استكشاف الأخطاء](#11-security-sizing-troubleshooting)
## 1. جرّب العرض التوضيحي
نزّل الأرشيف المناسب لنظامك من
-[صفحة الإصدارات](https://github.com/githubflyideas/traffic66/releases):
-
-| النظام | الأرشيف |
-|---|---|
-| Windows 10/11 وServer 2016 أو أحدث (x64) | `traffic66-windows-amd64.zip` |
-| Linux x86-64: أي توزيعة بنواة 3.2 أو أحدث، بما فيها CentOS 7 وAlpine | `traffic66-linux-amd64.tar.gz` |
-| Linux ARM64: التوزيعات نفسها | `traffic66-linux-arm64.tar.gz` |
-| macOS 11 أو أحدث بمعالج Apple silicon | `traffic66-darwin-arm64.tar.gz` |
-| macOS 11 أو أحدث بمعالج Intel | `traffic66-darwin-amd64.tar.gz` |
-
-Linux:
-
-```
-tar xzf traffic66-linux-amd64.tar.gz
-cd traffic66-linux-amd64
-./traffic66 demo -password try66
-```
-
-macOS (السطر الثاني يسمح لنظام macOS بتشغيل برنامج نُزّل من الإنترنت وليس
-من App Store):
+[صفحة الإصدارات](https://github.com/githubflyideas/traffic66/releases)
+(Windows x64، وLinux x86-64/ARM64 بنواة 3.2+، وmacOS 11+)، وفكّ ضغطه وشغّل:
```
-tar xzf traffic66-darwin-arm64.tar.gz
-xattr -dr com.apple.quarantine traffic66-darwin-arm64
-cd traffic66-darwin-arm64
-./traffic66 demo -password try66
+./traffic66 demo -password try66 # Linux, macOS
+.\traffic66.exe demo -password try66 # Windows
```
-Windows (PowerShell):
-
-```
-Expand-Archive traffic66-windows-amd64.zip .
-cd traffic66-windows-amd64
-.\traffic66.exe demo -password try66
-```
-
-افتح http://127.0.0.1:8066 وسجّل الدخول باسم `admin` وكلمة المرور `try66`.
-ينشئ العرض التوضيحي شبكة شركة صغيرة بسجلّ يوم كامل وحركة حية من أربعة أجهزة
-محاكاة، وفيها هجوم: تعرض **الاكتشافات** كل خطوة منه (مسح، ومسح للمنافذ، وتخمين
-لكلمات المرور، وتحرك جانبي، ورفع إلى خادم تحكم) وإغراقًا على الموقع العام.
-انقر **التفاصيل** على أحد الاكتشافات، أو ابدأ من **نظرة عامة**، وانقر على مضيف
-في **أكثر العملاء**، واختر **عرض التفاصيل**، ثم تابع النقر من هناك. أوقفه بـ
-Ctrl+C. تُحفظ بيانات العرض في
-`traffic66-demo` بجوار البرنامج؛ احذف هذا المجلد لتبدأ العرض من جديد.
-
-يستخدم العرض التوضيحي المنافذ نفسها التي يستخدمها التثبيت الفعلي (8066،
-وUDP 6343 و2055 و4739). لتشغيله بجانب تثبيت فعلي، امنحه منافذ أخرى:
-`traffic66 demo -password try66 -addr :8067 -listen ""`.
-
-على Windows يمكنك أيضًا ببساطة النقر المزدوج على `traffic66.exe`. يؤدي ذلك
-إلى تشغيل traffic66 فعليًا (وليس العرض التوضيحي) وفتح واجهة الويب في متصفحك؛
-تظهر كلمة مرور التشغيل الأول في النافذة السوداء، وإغلاق النافذة يوقف traffic66.
-إذا عرض Windows الرسالة "Windows protected your PC" (حمى Windows جهازك)،
-فانقر **More info** (مزيد من المعلومات) → **Run anyway** (التشغيل على أي حال).
+على macOS شغّل أولًا `xattr -dr com.apple.quarantine `. افتح
+http://127.0.0.1:8066 وسجّل الدخول بـ `admin` / `try66`: سجلّ يوم كامل وحركة
+حية من أربعة أجهزة محاكاة، ومنها هجوم يُعرض خطوةً خطوة في **الاكتشافات**. يوقفه
+Ctrl+C؛ احذف `traffic66-demo` لتبدأ من جديد. لتشغيله بجوار تثبيت حقيقي:
+`-addr :8067 -listen ""`.
## 2. التثبيت
-traffic66 ملف واحد. التثبيت يعني وضعه في مكان ما، واختيار دليل للبيانات،
-وتعيين كلمة مرور، وفتح الجدار الناري، وتشغيله عند الإقلاع. تستخدم الأمثلة
-`192.0.2.50` لجهاز traffic66 و`192.0.2.1` لموجّه؛ استبدلهما بعناوينك.
-
-المنافذ:
+traffic66 ملف واحد. المنافذ: UDP 6343 (sFlow)، و2055 (NetFlow)، و4739
+(IPFIX)، وTCP 8066 (واجهة الويب)؛ وكل منفذ UDP يقبل كل البروتوكولات.
-| المنفذ | الاستخدام |
-|---|---|
-| UDP 6343 | sFlow (افتراضي) |
-| UDP 2055 | NetFlow (افتراضي) |
-| UDP 4739 | IPFIX (افتراضي) |
-| TCP 8066 | واجهة الويب وواجهة API |
-
-كل منفذ UDP يقبل كل البروتوكولات، فيمكن للجهاز إرسال NetFlow إلى 6343 إن
-كان ذلك أسهل. غيّر المنافذ أو أضف غيرها باستخدام `-listen`.
-
-
-
-### Linux
+**Linux** (systemd):
```
-sudo mkdir -p /opt/traffic66
-sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
+sudo mkdir -p /opt/traffic66 && sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
sudo useradd --system --no-create-home --shell /usr/sbin/nologin traffic66
sudo install -d -o traffic66 -g traffic66 /var/lib/traffic66
sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66
```
-يطلب الأمر الأخير كلمة مرور المستخدم `admin`.
-
-أنشئ `/etc/systemd/system/traffic66.service`:
+`/etc/systemd/system/traffic66.service`:
```
[Unit]
Description=traffic66 flow analytics
After=network-online.target
-Wants=network-online.target
[Service]
User=traffic66
ExecStart=/opt/traffic66/traffic66 -data /var/lib/traffic66
Restart=on-failure
-# hard memory limit for the whole process (see Sizing)
MemoryMax=2G
-# only needed for local capture (-capture):
-#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
+#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN # only for local capture
[Install]
WantedBy=multi-user.target
```
-شغّله، واسمح بمخازن UDP مؤقتة أكبر حتى لا تضيع الحزم عند الذروات:
-
```
-echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf
-sudo sysctl --system
-sudo systemctl daemon-reload
-sudo systemctl enable --now traffic66
-sudo systemctl status traffic66
-journalctl -u traffic66 -f
+echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf && sudo sysctl --system
+sudo systemctl daemon-reload && sudo systemctl enable --now traffic66
+sudo firewall-cmd --permanent --add-port={6343,2055,4739}/udp --add-port=8066/tcp && sudo firewall-cmd --reload
```
-الجدار الناري باستخدام firewalld (RHEL وRocky وAlma وFedora):
+**Windows** (PowerShell بصلاحيات المسؤول): فكّ الضغط إلى `C:\traffic66`،
+وشغّل `C:\traffic66\traffic66.exe passwd`، وافتح المنافذ، واجعله يبدأ مع
+الإقلاع:
```
-sudo firewall-cmd --permanent --add-port=6343/udp --add-port=2055/udp --add-port=4739/udp --add-port=8066/tcp
-sudo firewall-cmd --reload
-```
-
-أو باستخدام ufw (Ubuntu وDebian):
-
-```
-sudo ufw allow 6343,2055,4739/udp
-sudo ufw allow 8066/tcp
-```
-
-
-
-### Windows
-
-فك الضغط إلى `C:\traffic66` وعيّن كلمة المرور (PowerShell بصلاحيات
-المسؤول):
-
-```
-Expand-Archive traffic66-windows-amd64.zip C:\
-Rename-Item C:\traffic66-windows-amd64 C:\traffic66
-C:\traffic66\traffic66.exe passwd
-```
-
-تُحفظ البيانات في `C:\traffic66\traffic66-data` بجوار البرنامج.
-
-افتح الجدار الناري:
-
-```
-New-NetFirewallRule -DisplayName "traffic66 flows" -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
-New-NetFirewallRule -DisplayName "traffic66 web" -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
-```
-
-لتجربته في الواجهة الأمامية، شغّل `C:\traffic66\traffic66.exe` وأوقفه
-بـ Ctrl+C. ولتشغيله في الخلفية منذ الإقلاع دون أن يكون أحد مسجّلًا الدخول،
-سجّله مهمةً عند بدء التشغيل:
-
-```
-$action = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
-$trigger = New-ScheduledTaskTrigger -AtStartup
-$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
-Register-ScheduledTask -TaskName traffic66 -Action $action -Trigger $trigger -Settings $settings -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
+New-NetFirewallRule -DisplayName traffic66 -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
+New-NetFirewallRule -DisplayName traffic66-web -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
+$a = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
+$s = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1)
+Register-ScheduledTask -TaskName traffic66 -Action $a -Trigger (New-ScheduledTaskTrigger -AtStartup) -Settings $s -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
Start-ScheduledTask -TaskName traffic66
```
-الخيار `-ExecutionTimeLimit ([TimeSpan]::Zero)` ضروري: من دونه يوقف Windows
-المهمة بعد ثلاثة أيام. أوقفها بـ `Stop-ScheduledTask -TaskName
-traffic66`، واحذفها بـ `Unregister-ScheduledTask -TaskName traffic66`.
-
-
-
-### macOS
-
-```
-sudo mkdir -p /usr/local/traffic66
-sudo tar xzf traffic66-darwin-arm64.tar.gz -C /usr/local/traffic66 --strip-components=1
-sudo xattr -dr com.apple.quarantine /usr/local/traffic66
-sudo /usr/local/traffic66/traffic66 passwd -data "/Library/Application Support/traffic66"
-```
-
-أنشئ `/Library/LaunchDaemons/traffic66.plist`:
-
-```
-
-
-
-
- Labeltraffic66
- ProgramArguments
-
- /usr/local/traffic66/traffic66
- -data
- /Library/Application Support/traffic66
-
- RunAtLoad
- KeepAlive
- StandardErrorPath/Library/Logs/traffic66.log
-
-
-```
+النقر المزدوج على `traffic66.exe` يعمل أيضًا: يفتح واجهة الويب ويعرض كلمة
+المرور الأولى في نافذته.
-التشغيل ثم الإيقاف:
-
-```
-sudo launchctl bootstrap system /Library/LaunchDaemons/traffic66.plist
-tail -f /Library/Logs/traffic66.log
-sudo launchctl bootout system/traffic66
-```
-
-إذا كان الجدار الناري في macOS مفعّلًا، فاسمح بالاتصالات الواردة لـ
-traffic66 من إعدادات النظام ← الشبكة ← جدار الحماية ← الخيارات.
+**macOS**: فكّ الضغط إلى `/usr/local/traffic66`، وأزل علامة الحجر،
+وشغّل `traffic66 passwd -data "/Library/Application Support/traffic66"`، ثم
+شغّله من LaunchDaemon تكون `ProgramArguments` فيه البرنامج و`-data` وذلك
+الدليل، مع `RunAtLoad` و`KeepAlive`.
## 3. المستخدمون وكلمات المرور
-**باختصار:** يُحفظ المستخدمون وكلمات مرورهم في ملف واحد، `password`، داخل دليل
-البيانات. لا تعدّله يدويًا أبدًا: الأمر `traffic66 passwd` يضيف المستخدمين
-ويغيّرهم ويعرض قائمتهم ويحذفهم. افتح `http://:8066` وسجّل
-الدخول بأحدهم.
-
-
-
-### تسجيل الدخول الأول
-
-عند التشغيل الأول يُنشئ traffic66 المستخدم `admin` بكلمة مرور عشوائية ويعرضها
-مرة واحدة:
-
-```
-first start: sign in as user "admin" with password "3f9c2a7e5b1d8046"
-```
-
-- عند التشغيل بالنقر المزدوج على Windows: في النافذة السوداء.
-- عند التشغيل من الطرفية: في الطرفية نفسها.
-- خدمة Linux: `journalctl -u traffic66 | grep "first start"`
-- خدمة macOS: `grep "first start" /Library/Logs/traffic66.log`
-
-فاتتك؟ عيّن كلمة جديدة بالأمر `traffic66 passwd` (أدناه). إذا عيّنت كلمة مرور
-بالأمر `traffic66 passwd` قبل التشغيل الأول، كما تفعل خطوات التثبيت أعلاه، فلا
-تُولَّد أي كلمة.
-
-
-
-### أين يُخزَّن المستخدمون
-
-في الملف `password` داخل دليل البيانات:
-
-| طريقة تشغيل traffic66 | الملف |
-|---|---|
-| فُكّ ضغطه وشُغّل من مجلده (الافتراضي) | `traffic66-data/password` بجوار البرنامج |
-| خدمة Linux (القسم 2) | `/var/lib/traffic66/password` |
-| مهمة بدء التشغيل في Windows (القسم 2) | `C:\traffic66\traffic66-data\password` |
-| خدمة macOS (القسم 2) | `/Library/Application Support/traffic66/password` |
-| العرض التوضيحي | `traffic66-demo/password` بجوار البرنامج |
-
-سطر واحد لكل مستخدم. تُخزَّن كلمات المرور تجزئاتٍ مُملَّحة (salted hashes)، فلا
-يستطيع أحد استرجاعها من الملف، ولا حتى أنت؛ وإذا نُسيت كلمة مرور فعيّن كلمة
-جديدة. لا يقرأ الملف إلا مالكه.
-
-```
-# traffic66 login, one user per line; change with: traffic66 passwd
-admin:pbkdf2-sha256$210000$…
-alice:pbkdf2-sha256$210000$…
-```
-
-
-
-### إدارة المستخدمين
-
-نفّذ هذه الأوامر على جهاز traffic66:
+عند التشغيل الأول ينشئ traffic66 المستخدم `admin` بكلمة مرور عشوائية ويطبعها
+مرة واحدة (في النافذة، أو الطرفية، أو
+`journalctl -u traffic66 | grep "first start"`). يُحفظ المستخدمون بصيغة
+تجزئات مملّحة في `password` داخل دليل البيانات، ويُدارون بأمر واحد على جهاز
+traffic66 (أضف `-data …` إن كان traffic66 يعمل به):
| المطلوب | الأمر |
|---|---|
| تغيير كلمة مرور `admin` | `traffic66 passwd` |
-| إضافة المستخدم `alice` أو تغيير كلمة مرورها | `traffic66 passwd -user alice` |
-| حذف المستخدم `alice` | `traffic66 passwd -user alice -delete` |
-| عرض قائمة المستخدمين | `traffic66 passwd -list` |
-| تعيين كلمة مرور عشوائية وطباعتها | `traffic66 passwd -generate` (مع `-user` لمستخدمين آخرين) |
-
-- يطلب الأمر كلمة المرور الجديدة مرتين ولا يعرض ما تكتبه. استخدم 8 أحرف على
- الأقل.
-- إذا كان traffic66 يعمل مع `-data`، فأضف `-data` نفسه إلى الأمر. لخدمة Linux
- من القسم 2:
-
- ```
- sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66 -user alice
- ```
-
- على Windows (PowerShell بصلاحيات المسؤول):
-
- ```
- C:\traffic66\traffic66.exe passwd -user alice
- ```
-
-- تسري التغييرات فورًا دون إعادة تشغيل: تعمل كلمة المرور الجديدة عند تسجيل
- الدخول التالي، ويُسجَّل خروج المستخدم المحذوف من المتصفحات المفتوحة.
-- لا يمكن حذف آخر مستخدم متبقٍّ؛ أضف مستخدمًا آخر أولًا.
-- يرى جميع المستخدمين الأشياء نفسها ويمكنهم تغييرها؛ لا توجد أدوار.
-
-
-
-### كلمات المرور في السكربتات والحاويات
-
-يجعل `TRAFFIC66_PASSWORD=…` في متغيرات البيئة، أو `-password …` في سطر الأوامر،
-traffic66 يقبل مستخدمًا واحدًا فقط في هذا التشغيل: المستخدم المحدد بـ `-user`
-(الافتراضي `admin`) بكلمة المرور تلك. ويُتجاهَل الملف `password` حينها ولا
-يُغيَّر. فضّل متغير البيئة: فأسطر الأوامر مرئية لبقية مستخدمي الجهاز.
+| إضافة `alice` أو تغيير كلمة مرورها | `traffic66 passwd -user alice` |
+| حذف `alice` | `traffic66 passwd -user alice -delete` |
+| عرض المستخدمين | `traffic66 passwd -list` |
-```
-TRAFFIC66_PASSWORD='s3cret-pass' traffic66 -user ops
-```
-
-بعد خمس محاولات خاطئة خلال دقيقة يُحظر العنوان لمدة دقيقة.
+تُطبَّق التغييرات فورًا. لجميع المستخدمين الصلاحيات نفسها. للسكربتات
+والحاويات، يقبل `TRAFFIC66_PASSWORD=…` (أو `-password`) المستخدم `-user` فقط
+بكلمة المرور تلك طوال ذلك التشغيل. خمس كلمات مرور خاطئة خلال دقيقة تحظر
+العنوان لمدة دقيقة.
## 4. إرسال التدفقات من أجهزتك
-وجّه كل جهاز إلى جهاز traffic66. تختلف الأوامر بين الطرازات وإصدارات
-البرمجيات؛ راجع دليل جهازك. في جميع الأمثلة، `192.0.2.50` هو traffic66
-و`192.0.2.1` هو عنوان الجهاز نفسه.
-
-نصائح عامة:
-
-- اضبط مهلة التدفق النشط (active flow timeout) على 60 ثانية. المهل الأطول
- تجعل الحركة تصل متأخرة على دفعات كبيرة.
-- إذا كان الجهاز يأخذ عينات NetFlow/IPFIX، فاجعله يُصدّر خيارات أخذ
- العينات (sampler options) ليُعرف المعدّل. يحتجز traffic66 السجلات حتى
- يصل المعدّل بدلًا من عدّها بنسبة 1:1.
-- خذ العينات إما على كل الواجهات أو على واجهات الأطراف فقط، وفي اتجاه
- واحد. أخذ عينات الحركة نفسها عند الدخول وعند الخروج يعدّها مرتين؛ وصفحة
- **مطابقة الواجهات** تنبّه إلى ذلك.
-- معدّل أخذ العينات في sFlow: نحو 1:1000 لروابط 1 Gb/s، و1:4096 لـ
- 10 Gb/s، و1:8192 لـ 40/100 Gb/s.
-
-Cisco IOS / IOS-XE (Flexible NetFlow):
+`192.0.2.50` هو traffic66، و`192.0.2.1` هو الجهاز. اضبط مهلة التدفق النشط على
+60 ثانية، ودع أجهزة NetFlow/IPFIX تصدّر خيارات أخذ العينات، وخذ العينات من
+**كل واجهة في اتجاه الدخول** (أو من واجهات الحافة فقط): بذلك تُحسب كل حزمة مرة
+واحدة. نسب sFlow: نحو 1:1000 لـ 1 Gb/s، و1:4096 لـ 10 Gb/s، و1:8192 لـ
+40/100 Gb/s.
```
+! Cisco IOS-XE, NetFlow v9
flow exporter T66
destination 192.0.2.50
transport udp 2055
- export-protocol netflow-v9
option sampler-table
flow monitor T66
exporter T66
@@ -415,39 +161,8 @@ interface GigabitEthernet0/0/0
ip flow monitor T66 input
```
-Cisco NX-OS (sFlow):
-
-```
-feature sflow
-sflow collector-ip 192.0.2.50 vrf default
-sflow collector-port 6343
-sflow agent-ip 192.0.2.1
-sflow sampling-rate 4096
-sflow counter-poll-interval 30
-sflow data-source interface ethernet 1/1
-```
-
-Arista EOS (sFlow):
-
-```
-sflow sample 4096
-sflow destination 192.0.2.50
-sflow source-interface Management1
-sflow run
-```
-
-Juniper EX / QFX (sFlow):
-
-```
-set protocols sflow collector 192.0.2.50 udp-port 6343
-set protocols sflow sample-rate ingress 4096
-set protocols sflow polling-interval 30
-set protocols sflow interfaces ge-0/0/0
-```
-
-Huawei CloudEngine (sFlow):
-
```
+# Huawei CloudEngine, sFlow (H3C Comware is similar)
sflow agent ip 192.0.2.1
sflow collector 1 ip 192.0.2.50
interface 10GE1/0/1
@@ -458,46 +173,22 @@ interface 10GE1/0/1
sflow counter interval 30
```
-H3C Comware (sFlow):
-
-```
-sflow agent ip 192.0.2.1
-sflow collector 1 ip 192.0.2.50 port 6343
-interface Ten-GigabitEthernet1/0/1
- sflow sampling-rate 4096
- sflow flow collector 1
- sflow counter interval 30
- sflow counter collector 1
```
+# Juniper EX/QFX, sFlow
+set protocols sflow collector 192.0.2.50 udp-port 6343
+set protocols sflow sample-rate ingress 4096
+set protocols sflow interfaces ge-0/0/0
-MikroTik RouterOS 7 (NetFlow v9 / IPFIX):
+# Arista EOS, sFlow
+sflow sample 4096
+sflow destination 192.0.2.50
+sflow run
-```
+# MikroTik RouterOS 7
/ip traffic-flow set enabled=yes interfaces=all active-flow-timeout=1m
/ip traffic-flow target add dst-address=192.0.2.50 port=2055 version=9
-```
-
-FortiGate FortiOS 7.4.2 أو أحدث (NetFlow v9):
-```
-config system netflow
- config collectors
- edit 1
- set collector-ip 192.0.2.50
- set collector-port 2055
- next
- end
-end
-config system interface
- edit port1
- set netflow-sampler both
- next
-end
-```
-
-خوادم ومضيفات Linux، باستخدام softflowd (NetFlow v9):
-
-```
+# Linux host, softflowd
softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
```
@@ -505,303 +196,107 @@ softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
## 5. التحقق من وصول التدفقات
-افتح **الإعدادات**. يظهر كل جهاز يرسل أي شيء خلال ثوانٍ، مع البروتوكول ومعدّل
-أخذ العينات والفقد وآخر حزمة وحالته. إذا لم تكن الحالة خضراء، فالنص
-المجاور يوضّح الخلل وما يجب تغييره.
-
-**المفقود** يعدّ العينات أو السجلات التي لم تصل قط. في sFlow يوضّح النص أين
-فُقدت: في الطريق إلى هنا (فجوات في أرقام التسلسل: الشبكة، أو مخزن استقبال UDP
-المؤقت على هذا الجهاز؛ إذا أظهر `netstat -su` أخطاء مخزن الاستقبال تتزايد،
-فارفع `net.core.rmem_max`)، أو داخل الجهاز نفسه (يُبلغ sFlow عن العينات التي
-أسقطها الجهاز: تصدير sFlow فيه محدود المعدّل، لذا قلّل وتيرة أخذ العينات أو
-ارفع حدّ الجهاز). تُعوَّض المجاميع في الحالتين؛ أما التفاصيل لكل مضيف فلا.
+تسرد **الإعدادات** خلال ثوانٍ كل جهاز يرسل أي شيء: البروتوكول، ومعدّل أخذ
+العينات، والفقد، والواجهات التي يأخذ منها العينات، وما يجب إصلاحه حين لا تكون
+الحالة خضراء. يُقسَم فقد sFlow إلى فقد في الطريق (ارفع `net.core.rmem_max` إن
+أظهر `netstat -su` أخطاء في المخزن المؤقت) وعينات أسقطها الجهاز نفسه.

-إذا لم يظهر جهاز:
-
-1. راقب الحزم على جهاز traffic66 (Linux وmacOS):
- `sudo tcpdump -ni any udp port 6343 or udp port 2055 or udp port 4739`.
- إن لم يظهر شيء، فالحزم لا تصل إلى الجهاز: افحص إعدادات الجهاز المُرسِل
- والتوجيه والجدران النارية على المسار.
-2. الحزم تصل لكن **الإعدادات** تبقى فارغة: الجدار الناري المحلي يُسقطها
- (انظر [التثبيت](#2-install))، أو أن traffic66 يستمع على منافذ أخرى
- (`-listen`).
-3. لاختبار المسار من جهاز آخر دون المساس بأي جهاز شبكي، شغّل هناك
- `traffic66 simulate -to 192.0.2.50` لبضع ثوانٍ. يرسل هذا الأمر sFlow
- وNetFlow وIPFIX من أجهزة محاكاة، فتظهر بعدها في **الإعدادات** وفي
- البيانات؛ لذا يُفضَّل إجراؤه على تثبيت تجريبي.
-
-
-
-## 6. مطابقة الأرقام مع عدّادات الواجهات
-
-أرقام التدفقات تقديرية: عدد الحزم المأخوذة عينةً مضروبًا في معدّل أخذ
-العينات. يقارنها traffic66 بعدّادات الواجهات في الجهاز نفسه ويعرض الفرق في
-**مطابقة الواجهات**، مع السبب المرجّح حين يكون الفرق أكبر مما يفسّره أخذ
-العينات وحده. لكل واجهة مخطط بوحدة bits/s بعرض الصفحة كاملًا، وتحته مخطط بوحدة
-packets/s، فيهما الدخول (بالأخضر) والخروج (بالأزرق)؛ وتظهر عدّادات الجهاز نفسه
-خطوطًا متقطعة على مخطط bits/s. واختيار واجهة من القائمة يعرض مخططاتها.
-
-في كل صف من القائمة زرّان. يمنح **✎** الواجهة اسمًا ووسمًا قصيرًا (مثل *uplink*)
-يظهر بجوار اسمها في كل مكان. ويجعلها **☆** الواجهة الافتراضية (**★**)؛ وهناك
-واجهة افتراضية واحدة فقط. بعدها تُفتح الصفحات عليها (انظر خيار **الواجهة** في
-[استخدام واجهة الويب](#9-using-the-web-ui))، وتعرض النظرة العامة عرض نطاقها الترددي.
-ويُحفظ كلاهما فورًا في سطر `iface` في **الأسماء**.
-
-تذكر سجلات التدفق واجهتين: التي دخلت منها الحزمة والتي خرجت منها. لذلك يعرض
-الجهاز الذي يأخذ العينات من بعض واجهاته فقط الأطرافَ الأخرى لتدفقاتها أيضًا.
-تُدرَج **واجهات الطرف الآخر** هذه في الآخر، بخط أصغر رمادي، تحت عنوان خاص بها:
-فأرقامها لا تحوي إلا الحركة التي مرّت عبر واجهة مأخوذ منها العينات، لا كل
-حركتها. ولا تُعرض ضمن **الواجهة** فوق الصفحات. يعرف traffic66 الواجهة التي أُخذت
-منها عينة التدفق من مصدر بيانات sFlow، أو من الحقل flowDirection (IPFIX 61) في
-NetFlow v9 وIPFIX (ingress: واجهة الدخول، egress: واجهة الخروج). وبدون هذا
-الحقل، تُعدّ الواجهة الموجودة في 90% على الأقل من حركة الجهاز هي المأخوذ منها
-العينات؛ وإن لم توجد فلا تُعلَّم أي واجهة. وتعرض **الإعدادات** لكل جهاز الواجهات
-المأخوذ منها العينات (**العينات من**)، وهل تحمل قوالبه flowDirection (**مع
-flowDirection (61)**). ولرؤية كل حركة الجهاز، خذ العينات من كل واجهة في اتجاه
-الدخول (انظر [إرسال التدفقات من أجهزتك](#4-send-flows-from-your-devices)).
+جهاز مفقود؟ شغّل `sudo tcpdump -ni any udp port 6343 or udp port 2055
+or udp port 4739`: إن لم يظهر شيء فالمشكلة في التوجيه أو جدار ناري أو إعداد
+الجهاز؛ وإن ظهرت حزم ولا شيء في **الإعدادات** فالسبب الجدار الناري المحلي أو
+`-listen`. يختبر `traffic66 simulate -to 192.0.2.50` من جهاز آخر المسارَ
+بأجهزة محاكاة.
-
+
-للحصول على عدّادات للمقارنة:
+## 6. الواجهات والعدّادات
-- أجهزة sFlow ترسلها من تلقاء نفسها عند ضبط فاصل العدّادات
- (`sflow counter interval 30` وما يماثله).
-- لأجهزة NetFlow وIPFIX، أضف سطر `snmp` في **الإعدادات ← الأسماء**
- (انظر [الأسماء](#7-names-snmp-and-your-own-networks)). عندها يقرأ
- traffic66 عدّادات الواجهات كل دقيقة.
+أرقام التدفقات تقديرات (العينات × معدّل أخذ العينات). تقارنها **مطابقة الواجهات**
+بعدّادات واجهات الجهاز (عدّادات sFlow، أو SNMP عبر سطر `snmp` في الأسماء)
+وتشرح سبب الاختلاف: واجهات لا تؤخذ منها عينات، أو الحركة نفسها مأخوذة بالعينات
+مرتين، أو فقد في الطريق، أو معدّل أخذ عينات غير معروف. لكل واجهة مخطط bits/s
+ومخطط packets/s، الدخول بالأخضر والخروج بالأزرق، والعدّادات بخط متقطع.
-ما يفعله traffic66 أصلًا لتتطابق الأرقام: يستخدم معدّل أخذ العينات الذي
-طبّقه الجهاز فعلًا، ويحتجز سجلات NetFlow/IPFIX حتى يُعرف المعدّل، ويعوّض
-حزم التصدير المفقودة في الطريق، ويوزّع التدفقات الطويلة على الدقائق التي
-استغرقتها، ويضيف 18 بايت لكل حزمة كحمل Ethernet إضافي إلى عدد بايتات
-NetFlow/IPFIX (عدّادات الواجهات تتضمنه، وعدّ التدفقات على مستوى IP لا
-يتضمنه؛ يُغيَّر بـ `-l2-overhead`).
+في كل صف، يضبط **✎** اسمًا ووسمًا قصيرًا (مثل *uplink*)، ويجعلها **☆** الواجهة
+الافتراضية (★) التي تُفتح عليها الصفحات.
-الأسباب الشائعة لأي فرق متبقٍّ، وكلها تظهر في **مطابقة الواجهات**: بعض
-الواجهات لا تؤخذ منها عينات، أو تؤخذ عينات الحركة نفسها على واجهتين، أو
-تضيع حزم التصدير قبل وصولها إلى traffic66، أو أن معدّل أخذ العينات لم
-يُعرف بعد.
+الجهاز الذي يأخذ العينات من بعض الواجهات فقط يُظهر أيضًا الأطراف الأخرى لتلك
+التدفقات. تُدرَج **واجهات الطرف الآخر** هذه في الآخر بخط أصغر رمادي: لا تحمل إلا
+الحركة المارّة عبر الواجهة المأخوذ منها العينات. تُعرف الواجهة المأخوذ منها
+العينات من مصدر بيانات sFlow أو من الحقل flowDirection (IPFIX 61)؛ وبدونه،
+الواجهة الموجودة في 90% من حركة الجهاز.
-
+
-## 7. الأسماء وSNMP وشبكاتك الخاصة
+يستخدم traffic66 أصلًا المعدّل الذي طبّقه الجهاز، وينتظر المعدّلات غير
+المعروفة، ويعوّض فقد التصدير، ويوزّع التدفقات الطويلة على دقائقها، ويضيف 18 بايت
+لكل حزمة من حمل Ethernet الإضافي إلى NetFlow/IPFIX (`-l2-overhead`).
-أسرع طريقة لتسمية مضيف أو جهاز: انقر على عنوانه في أي صفحة واختر **تسمية…**.
-اكتب الاسم واضغط Enter؛ يُحفظ فورًا ويظهر في كل مكان بدلًا من العنوان المجرد.
+
-أما للشبكات والواجهات وSNMP، فاستخدم **الإعدادات ← الأسماء**: اختر النوع
-(مضيف، شبكة، جهاز، واجهة، SNMP)، واملأ العنوان والاسم، ثم انقر **إضافة**.
-يسرد الجدول أدناه كل الأسماء مع **تعديل** و**حذف**؛ وإضافة العنوان نفسه
-مرة أخرى تستبدل الإدخال القديم. يُتحقَّق من العناوين والشبكات قبل الحفظ.
+## 7. الأسماء والدول وقوائم التهديدات
-تُحفظ الأسماء باسم `inventory.txt` في دليل البيانات، إدخالًا واحدًا في كل
-سطر. يعرض **تعديل كنص (متقدم)** هذا الملف، ويمكنك أيضًا تعديله مباشرة
-(انظر `inventory.txt.example`). كل سطر اختياري.
+انقر على أي عنوان واختر **تسمية…**، أو استخدم **الإعدادات ← الأسماء**.
+تُحفظ الأسماء في `inventory.txt` داخل دليل البيانات:
```
-# your networks: traffic between them is "internal"
-net 10.10.0.0/16 Office LAN
-net 203.0.113.0/24 Public servers country=JP
-
-# device names; "unsampled" if it exports every packet (1:1),
-# sampling=N if it samples 1:N but does not say so in its export
-device 192.0.2.1 Core router
-device 192.0.2.9 Branch firewall unsampled
-device 192.0.2.20 Edge router sampling=1000
-
-# interface names, by device address and ifIndex; speed in bits per second,
-# tag= a short tag, default = the interface the pages open on (one only)
-iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
-
-# host names shown instead of addresses
-host 10.10.3.27 Finance PC
-
-# read interface counters over SNMPv2c (IF-MIB 64-bit counters)
-snmp 192.0.2.1 public
-snmp 192.0.2.9 s3cret 10.99.0.9:161
+net 10.10.0.0/16 Office LAN # your networks
+net 203.0.113.0/24 Public servers country=JP # country: lines on the world map
+device 192.0.2.1 Core router
+device 192.0.2.9 Branch firewall unsampled # exports every packet
+device 192.0.2.20 Edge router sampling=1000 # rate it does not declare
+iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
+host 10.10.3.27 Finance PC
+snmp 192.0.2.1 public # read counters over SNMPv2c
+snmp 192.0.2.9 s3cret 10.99.0.9:161 # other management address
```
-- `net`: النطاقات الخاصة (10/8 و172.16/12 و192.168/16 و100.64/10) تُعدّ
- دائمًا نطاقاتك. أضف نطاقاتك العامة كي تُحتسب الحركة منها وإليها لك أيضًا؛
- ويظهر الاسم في **أعلى 66** عند التجميع حسب المقطع، وفي مسارات الحركة حسب
- الشبكة. ويحدد `country=JP` (رمز دولة من حرفين) مكان الشبكة؛ فترسم خريطة
- العالم عندها خطوطًا منها إلى الدول التي تتواصل معها.
-- `snmp [[:port]]`: الجهاز هو
- العنوان الذي تأتي منه التدفقات. أضف عنوان الإدارة إذا كان الجهاز يجيب
- على SNMP من عنوان آخر. تُستخدم أوصاف الواجهات المقروءة عبر SNMP أسماءً
- لها ما لم تُسمِّ الواجهة بـ `iface`. اسمح لجهاز traffic66 في قائمة وصول
- SNMP على الجهاز.
-- تُطبَّق التغييرات عند النقر على **حفظ**؛ لا حاجة إلى إعادة التشغيل.
-
-
-
-## 8. الدول والشبكات وقوائم التهديدات
-
-تعمل الدول والشبكات (AS) فوراً: يتضمن traffic66 قاعدتَي DB-IP المجانيتين **IP to Country Lite** و**IP to ASN Lite** (الترخيص [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)؛ "IP Geolocation by DB-IP"، [db-ip.com](https://db-ip.com)). تذكر الصفحات التي تعرض الدول والشبكات مصدر البيانات.
-
-النسخة المدمجة هي نسخة الإصدار الذي تشغّله. تنشر DB-IP نسخة جديدة كل شهر؛ و**الإعدادات ← قاعدة بيانات الدول والشبكات ← حدّث DB-IP Lite الآن** ينزّل أحدثها من db-ip.com (يحتاج الخادم الذي يشغّل traffic66 إلى الإنترنت، وتخبرك الواجهة إن فشل التنزيل).
-
-يمكنك أيضاً استخدام قاعدة مجانية أخرى. نزّلها ثم ارفعها في الصفحة نفسها عبر **رفع ملف قاعدة بيانات…**. يُفحص الملف ويُحفظ في مجلد البيانات ويُستخدم للحركة الجديدة فوراً دون إعادة تشغيل. تحتفظ الحركة المخزنة بالدولة التي حُفظت بها.
+النطاقات الخاصة تُعدّ دائمًا لك. تُطبَّق التغييرات عند **حفظ**، دون إعادة تشغيل.
-| القاعدة | تعطي | الترخيص | من أين تحصل عليها |
-|---|---|---|---|
-| DB-IP Lite (مدمجة) | الدول؛ الشبكات | CC BY 4.0، بلا حساب | [db-ip.com/db/lite.php](https://db-ip.com/db/lite.php) |
-| MaxMind GeoLite2 Country وASN، `.mmdb` | الدول؛ الشبكات | GeoLite2 EULA، حساب مجاني | [maxmind.com](https://www.maxmind.com/en/geolite2/signup) |
-| IPinfo Lite، `ipinfo_lite.mmdb` | الدول والشبكات في ملف واحد | CC BY-SA 4.0، حساب مجاني | [ipinfo.io/lite](https://ipinfo.io/lite) |
-| IPtoASN، `ip2asn-combined.tsv.gz` | الشبكات ودولها | PDDL 1.0، بلا حساب | [iptoasn.com](https://iptoasn.com) |
-
-تُستخدم ملفاتك أولاً، وتجيب DB-IP Lite المدمجة عمّا لا تغطيه. يعيدك زر **إزالة** بجانب الملف إلى البقية. تعرض الصفحة ما هو مستخدم وتاريخ كل قاعدة.
-
-من دون واجهة الويب، انسخ الملف إلى مجلد البيانات باسم `country.mmdb` أو `asn.mmdb` أو `both.mmdb` (ملف فيه الدول والشبكات معاً مثل IPinfo Lite) أو `asn.tsv.gz` ثم أعد تشغيل traffic66.
-
-تعرض **الجغرافيا والشبكات** الحركة مع الدول الأخرى على خريطة العالم: كلما كان لون الدولة أغمق زادت الحركة. مرّر المؤشر على دولة لترى حركتها، وانقر عليها للتصفية أو لفتح سجلات التدفق. وحين تكون لشبكاتك دولة (`country=` في سطر `net`، انظر [الأسماء](#7-names-snmp-and-your-own-networks))، تمتد خطوط من تلك الدولة إلى الدول التي تتبادل معها الحركة، وكلما زادت الحركة زاد سمك الخط. حدود الدول من [Natural Earth](https://www.naturalearthdata.com) (ملكية عامة).
+تعمل الدول والشبكات (AS) فورًا بقاعدتَي DB-IP Lite المجانيتين
+([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)، "IP
+Geolocation by DB-IP"، [db-ip.com](https://db-ip.com))؛ وتحدّثهما **الإعدادات**،
+أو تقبل بدلًا منهما ملفات MaxMind GeoLite2 أو IPinfo Lite أو IPtoASN. حدود
+الخريطة: [Natural Earth](https://www.naturalearthdata.com).

-قوائم التهديدات ملفات نصية عادية فيها عنوان أو شبكة في كل سطر (يُتجاهل
-النص بعد `#` أو `;`)، تُحفظ في `/threats/.txt`،
-مثلًا:
-
-```
-mkdir -p /threats
-curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamhaus-drop.txt
-```
-
-أعد تشغيل traffic66 بعد إضافة القوائم أو تعديلها. تظهر التطابقات في
-**معلومات التهديدات** مصنّفة حسب اسم القائمة.
+قوائم التهديدات ملفات نصية فيها عنوان أو شبكة في كل سطر، في
+`/threats/.txt` (مثل Spamhaus DROP)؛ أعد التشغيل بعد تغييرها.
+تظهر التطابقات في **معلومات التهديدات**.

-
+
-## 9. استخدام واجهة الويب
+## 8. استخدام واجهة الويب
-نادرًا ما ستحتاج إلى الكتابة. كل قيمة في كل صفحة — عنوان، منفذ، تطبيق،
-دولة، جهاز — قابلة للنقر:
+كل قيمة في كل صفحة قابلة للنقر: **اعرض هذا فقط** / **استبعد هذا** (تنطبق
+المرشّحات على كل الصفحات)، **اعرض سجلات تدفقه**، **عرض التفاصيل** (صفحة عن مضيف
+أو خدمة واحدة)، **تسمية…**، **ابحث عنه على الإنترنت**، **نسخ**.
-- **اعرض هذا فقط** / **استبعد هذا** يضيف مرشّحًا. تظهر المرشّحات أسفل
- الشريط العلوي وتنطبق على كل الصفحات حتى تزيلها.
-- **اعرض سجلات تدفقه** يفتح التدفقات الفردية المطابقة.
-- **عرض التفاصيل** (المضيفات والأجهزة والخدمات) يفتح صفحة عن ذلك المضيف أو
- الخدمة وحده: حركته عبر الزمن حسب التطبيق، ومن يتواصل معه، وأي خدمات أو
- عملاء، والدول، وأحدث تدفقاته. كل قيمة هناك قابلة للنقر من جديد، فتستطيع
- مواصلة التعمق؛ ويعيدك زر الرجوع في المتصفح.
-- **تسمية…** (المضيفات والأجهزة) تمنح العنوان اسمًا يظهر في كل مكان من بعدها.
-- **ابحث عنه على الإنترنت** يفتح العنوان أو AS في موقع استعلام عام.
-- **نسخ** ينسخ القيمة.
-
-الصفحات:
-
-| الصفحة | ما الذي تجيب عنه |
+| الصفحة | ما تعرضه |
|---|---|
-| نظرة عامة | عرض النطاق الترددي للواجهة المختارة (أو الافتراضية، وإلا فالأكثر نشاطًا) بوحدة bits/s، الدخول والخروج كما تراهما الواجهة؛ حجم الحركة الآن حسب التطبيق (**الإجمالي**، أو حركة شبكاتك في اتجاه **وارد** أو **صادر** فقط)، مقارنةً بالوقت نفسه أمس (للنطاقات حتى يوم)، أو بالأسبوع الماضي (حتى أسبوع)، أو بالأيام السابقة (للنطاقات الأطول)، متى توفرت بيانات لتلك الفترة؛ الاكتشافات المفتوحة؛ الاتجاه والبروتوكول؛ أبرز العملاء والخدمات |
-| أعلى 66 | تُفتح على **جدول**، وهو جدول واحد لأعلى 66: افتراضيًا المحادثات (العميل والخادم والخدمة والدولة). كل عنوان عمود يفرز؛ والأعمدة الرقمية (حركة المرور، الحزم، متوسط الحزمة، التدفقات) تعيد اختيار أعلى 66 من كل حركة المرور في الفترة، لذا يكشف أصغر متوسط حزمة عمليات المسح والإغراق. ويبدّل **التجميع حسب** إلى التطبيقات والشبكات والمقاطع والأجهزة وأنواع التغليف وشبكات VLAN. أما **أكثر الأطراف نشاطًا** فيعرض أعلى 30 عميلًا وخادمًا جنبًا إلى جنب مع الحركة والحزم وسجلات التدفق، فوق صف لكل الحركة |
-| تفاصيل الحركة | مخططان حلقيان. **الخوادم والعملاء**: الحلقة الداخلية أكثر 8 خوادم نشاطًا، والخارجية عملاء كل منها؛ ويعكس **العملاء في الداخل** ذلك (العملاء في الداخل، والخوادم التي يستخدمها كل منهم في الخارج)، إذ كثيرًا ما يفسّر أحد الطرفين أكثر من الآخر. **الخدمات**: حلقة واحدة لأكثر الخدمات نشاطًا. مرّر المؤشر على جزء لترى حركته، وانقر عليه كأي قيمة |
-| مسارات الحركة | أي مضيف يستخدم أي تطبيق نحو أي دولة: أكثر 8 مضيفات نشاطًا، والباقي ضمن «أخرى». ويعرض **العميل ← الخادم** العميل ← الخدمة ← الخادم؛ ويعرض **حسب المقطع** الشبكات بدل المضيفات. تُختصر الأسماء الطويلة إلى 22 حرفًا؛ مرّر المؤشر على أحدها لترى الاسم كاملًا |
-| الاكتشافات | ما يستدعي الانتباه: عمليات المسح، وتخمين كلمات المرور، والتحرك الجانبي، وعمليات الرفع غير المعتادة، والإغراق، وحركة قوائم التهديدات ([المزيد](#findings)) |
-| معلومات التهديدات | المضيفات التي تواصلت مع عناوين في قوائم تهديداتك، وكم أرسلت |
-| الجغرافيا والشبكات | خريطة العالم للحركة حسب الدولة، مع خطوط من شبكاتك؛ الشبكات (AS) التي جاءت منها الحركة وذهبت إليها، عبر الزمن بوحدة bits/s وpackets/s؛ والحركة حسب الدولة وحسب الشبكة |
-| الإعدادات | الأجهزة، وأخذ العينات، والواجهات التي يأخذ منها كل جهاز العينات وهل يرسل flowDirection، والفقد، والمستقبِلات، وSNMP، وقاعدة بيانات الدول والشبكات، والشعار، و**الأسماء** |
-| مطابقة الواجهات | حركة كل واجهة عبر الزمن بوحدة bits/s، وتحتها packets/s، الدخول (بالأخضر) والخروج (بالأزرق)، مع عدّادات الجهاز خطوطًا متقطعة؛ ومدى ابتعاد أرقام التدفقات عن العدّادات، الأسوأ أولًا، مع الأسباب؛ واسم ووسم لكل واجهة، والواجهة الافتراضية |
-| سجلات التدفق | كم سجل تدفق كان هناك ومتى (شريط لكل فترة)، والسجلات نفسها، الأحدث أولًا، صفحةً صفحة، مع أعمدة قابلة للاختيار. تُفتح على آخر 15 دقيقة، وتُحدَّث كل 5 ثوانٍ؛ وإذا فُتحت من قيمة في صفحة أخرى (**اعرض سجلات تدفقه**) فإنها تحتفظ بالنطاق الزمني لتلك الصفحة، ويعيدك **العودة إلى البث المباشر** |
-| تنظيف البيانات | يحذف البيانات الأقدم من 120 أو 90 أو 60 أو 30 أو 7 أيام، أو كلها، مع مقدار ما يحرّره كل خيار ([المزيد](#13-data-backup-upgrade-uninstall)) |
-| تحليل pcap دون اتصال | تحليل ملفات التقاط الحزم (pcap وpcapng) بمعزل عن البيانات الحية ([المزيد](#تحليل-pcap-دون-اتصال)) |
-
-تعرض القائمة الجانبية الصفحات في أربع مجموعات: الحركة (نظرة عامة، أعلى 66،
-تفاصيل الحركة، مسارات الحركة، مطابقة الواجهات، سجلات التدفق)، والأمان
-(الاكتشافات، معلومات التهديدات، الجغرافيا والشبكات)، والإعدادات وتحليل pcap
-دون اتصال، وفي الأسفل تنظيف البيانات. وتحت الشعار يظهر الإصدار
-وتاريخ الخادم ووقته.
-
-فوق صفحات الحركة (نظرة عامة، أعلى 66، تفاصيل الحركة، مسارات الحركة، الجغرافيا
-والشبكات، سجلات التدفق، وتفاصيل أي قيمة) يوجد **الواجهة**: **كل الواجهات**، أو
-واجهة واحدة، فلا تعرض هذه الصفحات إلا الحركة المارّة عبرها (دخولًا أو خروجًا).
-ويسرد الواجهات المأخوذ منها العينات مجمّعةً حسب الجهاز، ويبدأ على
-الواجهة الافتراضية (★، تُضبط في **مطابقة الواجهات**)، والاختيار جزء من
-الرابط. أما الاكتشافات ومعلومات التهديدات ومطابقة الواجهات والإعدادات فتغطي
-دائمًا كل الحركة. ولواجهة واحدة على مدى 7 أو 30 يومًا تقرأ الصفحات سجلات التدفق
-بدل الملخصات الساعية واليومية، فتستغرق وقتًا أطول ولا تعود إلى الوراء إلا بقدر
-مدة الاحتفاظ بسجلات التدفق (30 يومًا افتراضيًا).
-
-فوق الصفحات: النطاق الزمني (من 15 دقيقة إلى 30 يومًا، أو **مخصص…** لأي
-بداية ونهاية، حتى أبعد من 30 يومًا)، وتحديث تلقائي كل 30 ثانية، و**نسخ
-الرابط** الذي ينسخ رابطًا إلى العرض الحالي بالضبط (الصفحة والنطاق الزمني
-والمرشّحات) لإرساله إلى زميل. وفي **أعلى 66** و**تفاصيل الحركة** يعرض
-**الجهاز** و**العميل** و**الخادم** و**الخدمة** أكثر القيم نشاطًا في
-النطاق الزمني: اختر قيمة أو اكتبها للتصفية؛ ثم ينطبق المرشّح على كل الصفحات
-حتى تفرغ المربع. تتبع اللغة إعدادات المتصفح؛ ويمكن تغييرها من أسفل القائمة،
-فوق **تسجيل الخروج**. ولا نطاق زمنيًا في **الإعدادات** و**سجلات التدفق** (أثناء
-البث المباشر) و**تنظيف البيانات** و**تحليل pcap دون اتصال**.
-
-وبجوار اللغة سمة الألوان، على غرار ألوان نظام iOS: **فاتح** (الافتراضية)،
-و**رمادي**، و**أسود** (لشاشات الجدران)، و**فيروزي**، و**برتقالي**. كل نقرة عليها
-تنتقل إلى السمة التالية؛ ويُحفظ الاختيار في المتصفح.
-
-تعرض المخططات عبر الزمن أكبر 8 قيم بألوان ثابتة والباقي ضمن «أخرى»؛ وتعطي
-وسيلة الإيضاح مجموع كل قيمة، ويمكن النقر عليها كأي قيمة أخرى. ولا ترسم مخططات
-العملاء والخوادم الباقي، لأنه مع آلاف المضيفات سيُسطّح أعلى 8؛ لكن وسيلة
-الإيضاح تبقى تعطي مجموعه.
-
-تنتهي المخططات حيث تكتمل البيانات: مع sFlow عند الدقيقة الحالية، ومع NetFlow
-وIPFIX قبل ذلك بقليل، بقدر ما تستغرقه الأجهزة لتصدير تدفقاتها (يقيس traffic66
-ذلك؛ دقيقتان على الأكثر).
-
-تبدأ النطاقات الأطول من 6 ساعات عند ساعة كاملة، كي يحسب كل رقم في الصفحة
-الفترة الزمنية نفسها تمامًا: يغطي "24 ساعة" آخر 24 ساعة كاملة إضافةً إلى
-الساعة الجارية. تُبنى صفحة أعلى 66 لهذه النطاقات من ملخّصات ساعية؛ والمرشّحات غير
-متاحة فيها، وتنبّه الصفحة إلى ذلك. اختر نطاقًا أقصر لتتمكن من التصفية. تقرأ المحادثات تفاصيل
-التدفقات دائمًا، لذا قد تستغرق بعض الوقت في النطاقات الطويلة عند معدلات
-التدفق العالية؛ ونطاق الساعة الواحدة هو الأسرع.
-
-تعرض القائمة الجانبية المساحة التي تشغلها البيانات على القرص والمساحة الحرة؛
-مرّر المؤشر فوق المساحة الحرة لترى ما تحتاجه أيام التفاصيل المحفوظة بالمعدل
-الحالي (يُقدَّر ذلك بعد توفر بيانات يوم كامل).
-
-لعرض شعارك في صفحة تسجيل الدخول وأعلى القائمة، استخدم
-**الإعدادات ← الشعار ← رفع شعار…**: PNG أو SVG أو JPEG أو WebP أو GIF، حتى 1 MB،
-وأفضل مقاس 272 × 92 بكسل (تُحجَّم المقاسات الأخرى لتلائم). ويعيد
-**العودة إلى الشعار المدمج** شعار traffic66.
-
-
-
-### الاكتشافات
-
-تسرد **الاكتشافات** ما وجده traffic66 في التدفقات، الأخطر أولًا. يفحص آخر 10
-دقائق كل 5 دقائق؛ والشيء الذي يستمر ساعة هو اكتشاف واحد يكبر، لا اكتشاف جديد
-عند كل فحص.
-
-| الاكتشاف | معناه | الخطورة |
-|---|---|---|
-| مسح | عنوان واحد أرسل مجسّات صغيرة إلى عناوين كثيرة على منفذ واحد (TCP أو ping) | عالية من داخل شبكتك، منخفضة من الإنترنت |
-| مسح المنافذ | عنوان واحد أرسل مجسّات صغيرة إلى منافذ كثيرة لمضيف واحد | عالية من الداخل، منخفضة من الإنترنت |
-| تخمين كلمات المرور | اتصالات قصيرة كثيرة بخدمة تسجيل دخول (SSH وRDP وSMB وقواعد البيانات وغيرها) | عالية من الداخل، منخفضة من الإنترنت |
-| تحرك جانبي | داخل شبكتك، جلسات مشاركة ملفات أو إدارة عن بُعد (SMB وRDP وSSH وWinRM وVNC) إلى مضيفات لم تقدّم تلك الخدمة من قبل | عالية |
-| رفع غير معتاد | مضيف داخلي أرسل أكثر بكثير مما استقبل (100 MB في 10 دقائق، ثلاثة أضعاف ما استقبله) إلى عنوان لم يتبادل معه بيانات من قبل | عالية |
-| إغراق | 20,000 حزمة صغيرة أو أكثر في الثانية إلى عنوان واحد، عشرة أضعاف معدله المعتاد | متوسطة |
-| قائمة التهديدات | حركة مع عنوان في إحدى قوائم التهديدات لديك | عالية حين اتصل مضيفك به، منخفضة حين طرق العنوان المدرج من الخارج |
-
-يبيّن كل اكتشاف من فعل ماذا بمن، ومتى، وكم استمر، مع الأرقام التي يستند إليها
-وطريقة أخذ عينات البيانات. يفتح **التفاصيل** صفحة المضيف، التي تسرد أيضًا
-الاكتشافات المتعلقة به. ويغلق **تمت المعالجة** الاكتشاف؛ وإن تكرر الأمر فُتح
-اكتشاف جديد. أما **ليست مشكلة** فيغلقه نهائيًا: لا يُبلَّغ عنه مرة أخرى أبدًا.
-ويعدّ الرقم الأحمر بجوار **الاكتشافات** في القائمة الجانبية الاكتشافات
-المفتوحة ذات الخطورة العالية والمتوسطة في آخر 24 ساعة.
-
-يحتاج التحرك الجانبي والرفع غير المعتاد إلى معرفة ما هو طبيعي، لذا لا يُبلَّغ
-عنهما إلا بعد توفر سجلّ يوم كامل. وعند التشغيل الأول يتعلّم traffic66 من
-السجلّ المتوفر لديه.
-
-مع البيانات المأخوذة بالعينات (sFlow وNetFlow بالعينات) تعدّ القواعد ما تُظهره
-العينات وتطلب عددًا أقل منها، لكن يجب حينها أن تبدو كل عينة مجسًّا قصيرًا
-واحدًا، كي لا تُطلقها المضيفات الطبيعية المزدحمة. ما يخفيه أخذ العينات لا يمكن
-اكتشافه: خلف أخذ عينات بنسبة 1:4096، يرسل مسحٌ لبضع عشرات من المضيفات حزمًا
-أقل من أن تُرى. يمر هجوم العرض التوضيحي عبر محوّل يأخذ العينات بنسبة 1:4096
-ويُكتشف بالكامل؛ ولا ينتج يوم من الحركة الطبيعية في العرض التوضيحي أي اكتشافات
-سوى الماسح القادم من الإنترنت الذي يطرق الموقع.
-
-
+| نظرة عامة | عرض النطاق للواجهة المختارة؛ الحركة حسب التطبيق (الإجمالي أو الوارد أو الصادر) مقارنةً بأمس أو بالأسبوع الماضي؛ الاكتشافات المفتوحة؛ أبرز العملاء والخدمات |
+| أعلى 66 | أعلى 66 محادثة، قابلة للفرز حسب أي عمود، أو مجمّعة حسب التطبيق أو الشبكة أو المقطع أو الجهاز أو التغليف أو VLAN؛ أكثر 30 طرفًا نشاطًا |
+| تفاصيل الحركة | مخططات حلقية: الخوادم وعملاؤها (أو العكس)، والخدمات |
+| مسارات الحركة | مضيف ← تطبيق ← دولة، أو عميل ← خدمة ← خادم، أو حسب الشبكة |
+| مطابقة الواجهات | كل واجهة عبر الزمن مقابل عدّاداتها؛ الأسماء والوسوم والواجهة الافتراضية |
+| سجلات التدفق | التدفقات الفردية، مباشرةً كل 5 ثوانٍ أو لأي نطاق زمني |
+| الاكتشافات، معلومات التهديدات | ما يحتاج إلى انتباه ([أدناه](#findings))؛ الحركة مع العناوين المدرجة |
+| الجغرافيا والشبكات | خريطة العالم حسب الدولة، والشبكات (AS) عبر الزمن |
+| الإعدادات | الأجهزة، وأخذ العينات، والفقد، وSNMP، وقواعد البيانات، والشعار، والأسماء |
+| تحليل pcap دون اتصال، تنظيف البيانات | ملفات الالتقاط ([أدناه](#9-offline-pcap-terminal-ui-local-capture))؛ حذف البيانات القديمة |
+
+فوق الصفحات: **الواجهة** (الكل، أو واجهة واحدة مأخوذ منها العينات؛ عندها لا
+تعرض صفحات الحركة إلا الحركة المارّة عبرها)، والنطاق الزمني (من 15 دقيقة إلى 30
+يومًا، أو مخصص)، وتحديث كل 30 ثانية، و**نسخ الرابط** للعرض الحالي بالضبط. اللغة
+وسمات الألوان الخمس في أسفل القائمة. تنتهي المخططات حيث تكتمل البيانات: مع
+NetFlow/IPFIX بقدر تأخر الأجهزة في التصدير (دقيقتان كحد أقصى). النطاقات التي
+تزيد على 6 ساعات تبدأ عند ساعة كاملة؛ واجهة واحدة على مدى 7 أو 30 يومًا تقرأ
+تفاصيل التدفقات، لذا فهي أبطأ ولا تمتد إلا بقدر ما تُحفظ التفاصيل.

@@ -811,360 +306,114 @@ curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamh

-النظرة العامة نفسها باللغة الصينية؛ كل صفحة متاحة بـ 13 لغة:
-

-
-
-### تحليل pcap دون اتصال
-
-يعرض **تحليل pcap دون اتصال** ملفات التقاط Wireshark أو tcpdump بالصفحات نفسها المستخدمة للبيانات الحية، دون خلطها بها.
-
-يلخّص كل الحزم في تدفقات: من تحدث مع من، وكم، ومتى، وما الذي يبدو هجوماً. لا يفك ترميز البروتوكولات ولا يعرض محتوى الحزم؛ لحزمة واحدة أو تدفق TCP واحد استخدم Wireshark.
-
-من سطر الأوامر، دون أي إعداد:
+
-```
-traffic66 office.pcap
-traffic66 a.pcap b.pcapng c.pcap
-```
+### الاكتشافات
-يبدأ traffic66 على هذا الحاسوب فقط (127.0.0.1، منفذ متاح)، ويطبع العنوان وكلمة المرور ورابط دخول لمرة واحدة، ويفتح الالتقاط في المتصفح. حتى 3 ملفات، 3 GB إجمالاً؛ تُقرأ الملفات في مكانها ولا تُعدَّل أبداً. لا يُجمع شيء ولا يُرسل، ولا يُبحث عن أسماء المضيفين (يفعّلها `-dns`). يوقف Ctrl+C البرنامج ويحذف البيانات المستوردة. على جهاز ثنائي النواة يجهز التقاط بحجم 1 GB في نحو 5 ثوانٍ (1.2 مليون حزمة كاملة الحجم) إلى 30 ثانية (14 مليون حزمة صغيرة).
+يُفحص آخر 10 دقائق كل 5 دقائق؛ والشيء الذي يستمر ساعة هو اكتشاف واحد يكبر.
-```
-$ traffic66 office.pcap
+| الاكتشاف | معناه |
+|---|---|
+| مسح، مسح المنافذ | مجسّات صغيرة إلى مضيفات كثيرة على منفذ واحد، أو إلى منافذ كثيرة لمضيف واحد |
+| تخمين كلمات المرور | اتصالات قصيرة كثيرة بخدمة تسجيل دخول |
+| تحرك جانبي | مشاركة ملفات أو إدارة عن بُعد إلى مضيفات داخلية لم تقدّم ذلك من قبل |
+| رفع غير معتاد | 100 MB في 10 دقائق إلى عنوان جديد، ثلاثة أضعاف ما عاد |
+| إغراق | أكثر من 20,000 حزمة صغيرة في الثانية إلى عنوان واحد، عشرة أضعاف معدله المعتاد |
+| قائمة التهديدات | حركة مع عنوان مدرج |
+
+من داخل شبكتك تكون خطورتها عالية، ومن الإنترنت منخفضة. يغلق **تمت المعالجة**
+الاكتشاف، ويُسكته **ليست مشكلة** نهائيًا. يحتاج التحرك الجانبي والرفع إلى سجلّ
+يوم كامل. عبر أخذ عينات بنسبة 1:4096 يُكتشف هجوم العرض التوضيحي كاملًا؛ أما
+عمليات المسح الصغيرة جدًا فقد تختبئ خلف أخذ العينات.
-traffic66 0.3.1: analysing 1 capture file(s); nothing is collected or sent
- Web UI http://127.0.0.1:38217 (port 38217, this computer only)
- Sign in user admin, password gfhfhbuutz2e
- Open http://127.0.0.1:38217/auto?t=b9388f… (signs in once)
- Stop Ctrl+C; the imported data is deleted, your files are kept
-```
+
-في واجهة الويب لـ traffic66 قيد التشغيل:
+
-1. **رفع ملفات التقاط…**: `.pcap` أو `.pcapng` غير مضغوطة. حتى 3 ملفات، كل منها 50 MB كحد أقصى. تتحول الملفات إلى تدفقات في قاعدة بيانات خاصة بها (`/sandbox/`)، فلا تتأثر البيانات الحية وأرقامها واكتشافاتها.
-2. **تحليل**: تعرض كل الصفحات (نظرة عامة، أعلى 66، تفاصيل الحركة، الاكتشافات، مسارات الحركة، الخريطة، سجلات التدفق) الملفات على امتداد وقتها كله. يذكر شريط برتقالي أسماء الملفات، و**العودة إلى البيانات الحية** يعيدك. يظهر كل ملف كجهاز، فيعرض مربع **الجهاز** ملفاً واحداً في كل مرة.
-3. تعمل قواعد الكشف على الالتقاط: تظهر عمليات المسح ومسح المنافذ وتخمين كلمات المرور في **الاكتشافات**. القواعد التي تحتاج إلى يوم من السجل (الحركة الجانبية، الرفع غير المعتاد) لا تنطبق على الالتقاط.
-4. **حذف** يحذف ملفاً وبياناته، و**حذف الكل** يحذف كل شيء.
+## 9. تحليل pcap دون اتصال، الواجهة الطرفية، الالتقاط المحلي
-يتضمن العرض التجريبي ملف التقاط نموذجياً فيه هجوم.
+يعرض **تحليل pcap دون اتصال** ملفات التقاط الحزم (pcap وpcapng) بالصفحات نفسها،
+بمعزل عن البيانات الحية: يبدأ `traffic66 a.pcap b.pcapng` على 127.0.0.1 ويفتح
+المتصفح (حتى 3 ملفات، 3 GB؛ يحذف Ctrl+C البيانات المستوردة)، أو ارفع حتى 3
+ملفات بحجم 50 MB في تلك الصفحة. يعمل على التدفقات، لا على محتوى الحزم.

-## 10. الواجهة الطرفية
-
-```
-traffic66 tui # traffic66 on this machine
-traffic66 tui -server http://192.0.2.50:8066 -user admin -password …
-traffic66 -tui # collect and show the terminal UI in one process
-```
-
-على جهاز traffic66، يسجّل `traffic66 tui` الدخول تلقائيًا إذا استطاع قراءة
-دليل البيانات (مرّر `-data` إن لم يكن الدليل الافتراضي). إذا كان traffic66
-يعمل باسم مستخدم آخر، كما هو الحال مع الخدمة، فاستخدم `-user` و
-`-password` بدلًا من ذلك. يختار `-lang` اللغة (`en`، `zh`، `hi`،
-`es`، `ar`، `fr`، `bn`، `pt`، `ru`، `id`، `ur`، `ja`، `ko`).
-
-المفاتيح: 1–8 للصفحات، ↑↓ للتحديد، Enter لإجراءات القيمة المحددة، f لعرض
-هذا فقط، x للاستبعاد، / للبحث، t للنطاق الزمني، c لمسح المرشّحات، w لفتح
-العرض نفسه في المتصفح، q للخروج.
+**الواجهة الطرفية**: `traffic66 tui` على جهاز traffic66، أو
+`traffic66 tui -server http://192.0.2.50:8066 -user admin -password …`.
+المفاتيح: 1–8 للصفحات، Enter للإجراءات، f لعرض هذا فقط، x للاستبعاد، t للنطاق
+الزمني، w للفتح في المتصفح، q للخروج؛ ويختار `-lang` اللغة.


-
-
-## 11. الالتقاط المحلي
-
-إلى جانب استقبال التدفقات المُصدَّرة، يستطيع traffic66 تكوين التدفقات بنفسه
-من الحزم على واجهة شبكة في الجهاز الذي يعمل عليه. وما يراه يتوقف على
-الواجهة:
-
-| الواجهة | ما يراه traffic66 |
-|---|---|
-| منفذ شبكة احتياطي موصول بمنفذ المرآة (SPAN) في مبدّل | كل الحركة التي يعكسها المبدّل: شبكة كاملة أو وصلة صاعدة |
-| منفذ Ethernet أو Wi-Fi الخاص بالجهاز نفسه | حركة هذا الجهاز وحده فقط |
-
-لا تستطيع بطاقات Wi-Fi رؤية حركة الأجهزة الأخرى. لرؤية شبكة Wi-Fi كاملة،
-اجعل الموجّه أو نقطة الوصول يصدّر التدفقات (القسم 4)، أو اعكس منفذ المبدّل
-الموصولة به نقطة الوصول.
-
-
-
-### Windows
-
-1. ثبّت [Npcap](https://npcap.com) بخياراته الافتراضية. إذا فعّلت الخيار
- "Restrict Npcap driver's access to Administrators only" فشغّل traffic66
- بصلاحيات المسؤول (Administrator).
-2. اعرض قائمة الواجهات (PowerShell):
-
- ```
- C:\traffic66\traffic66.exe interfaces
- ```
-
- ```
- # Name Address Adapter / device
- 1 Ethernet - Intel(R) Ethernet I219-V \Device\NPF_{4B8A2C1E-…}
- 2 Wi-Fi 192.168.1.23 Intel(R) Wi-Fi 6 AX201 \Device\NPF_{9F00AA11-…}
- 3 Loopback - Adapter for loopback traffic capture \Device\NPF_Loopback
- ```
-
- عمود Name هو اسم الاتصال في إعدادات الشبكة في Windows؛ والواجهة
- المستخدمة فعلًا لها عنوان.
-3. التقط على Wi-Fi، بالاسم أو بالرقم:
-
- ```
- C:\traffic66\traffic66.exe -capture Wi-Fi
- C:\traffic66\traffic66.exe -capture 2
- ```
-
- ضع الأسماء التي فيها مسافات بين علامتي اقتباس: `-capture "Ethernet 2"`.
- كرّر `-capture` للالتقاط على عدة واجهات. أضف `-listen=` إذا أردت الالتقاط
- وحده دون مستقبِلات التدفقات. ولمهمة بدء التشغيل في القسم 2، أضف الخيار
- إلى `-Argument`:
- `-Argument '-data C:\traffic66\traffic66-data -capture Wi-Fi'`.
-
-
-
-### Linux
-
-```
-traffic66 interfaces
-sudo setcap cap_net_raw,cap_net_admin+ep /opt/traffic66/traffic66
-traffic66 -capture eth1
-```
-
-يتطلب الالتقاط صلاحيات root، أو القدرتين `CAP_NET_RAW` و`CAP_NET_ADMIN`:
-سطر `setcap` أعلاه، أو سطر `AmbientCapabilities` في وحدة systemd في القسم 2.
-تُسمّى واجهات Wi-Fi عادةً `wlan0` أو `wlp…`.
-
-
-
-### macOS
-
-```
-traffic66 interfaces
-sudo traffic66 -capture en0
-```
-
-يتطلب الالتقاط صلاحيات root؛ لا شيء يحتاج إلى تثبيت. في أجهزة MacBook تكون
-`en0` هي واجهة Wi-Fi.
-
-
-
-### التحقق من أن الالتقاط يعمل
-
-تعرض **الإعدادات** كل واجهة ملتقَطة مع طريقة الالتقاط وعدد الحزم التي رُصدت.
-تظهر التدفقات كأنها آتية من الجهاز `127.0.0.1` (هذا الجهاز)، في كل صفحة،
-مثل تدفقات أي جهاز آخر. الحزم التي تُرى مرتين (على منفذَي مرآة مثلًا) تُعدّ
-مرتين.
-
-
+**الالتقاط المحلي** يبني التدفقات من واجهة محلية، ويُفضَّل منفذ موصول بمنفذ
+المرآة في مبدّل: يسردها `traffic66 interfaces`، ويلتقط `-capture eth1` (أو اسم
+أو رقم في Windows). يحتاج Linux إلى root أو
+`setcap cap_net_raw,cap_net_admin+ep`، وmacOS إلى root، وWindows إلى
+[Npcap](https://npcap.com). تأتي التدفقات الملتقطة من الجهاز `127.0.0.1`.
-## 12. الخيارات
+
-يعرض `traffic66 -h` و`traffic66 -h` كل الخيارات.
+## 10. الخيارات والبيانات
-الأوامر:
+يسرد `traffic66 -h` كل شيء. الأكثر استخدامًا:
-| الأمر | |
-|---|---|
-| `traffic66` | جمع التدفقات وتقديم واجهة الويب |
-| `traffic66 demo` | الشيء نفسه مع شبكة محاكاة |
-| `traffic66 tui` | واجهة طرفية لنسخة traffic66 عاملة |
-| `traffic66 passwd` | إضافة المستخدمين أو تغييرهم أو عرض قائمتهم أو حذفهم (انظر [المستخدمون وكلمات المرور](#3-users-and-passwords)) |
-| `traffic66 simulate -to HOST` | إرسال تدفقات محاكاة إلى مستقبِل |
-| `traffic66 interfaces` | سرد الواجهات المتاحة للالتقاط المحلي |
-| `traffic66 version` | طباعة الإصدار |
-
-خيارات `traffic66` و`traffic66 demo`:
-
-| الخيار | القيمة الافتراضية | |
+| الخيار | الافتراضي | |
|---|---|---|
-| `-addr` | `:8066` | عنوان واجهة الويب؛ `127.0.0.1:8066` لهذا الجهاز فقط |
| `-data` | `traffic66-data` بجوار البرنامج | دليل البيانات |
-| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | مستقبِلات UDP بصيغة `name=address` مفصولة بفواصل؛ القيمة الفارغة تعطّلها |
-| `-user` | `admin` | اسم المستخدم الذي يُنشأ عند التشغيل الأول، والمستخدم الذي ينطبق عليه `-password` |
-| `-password` | غير معيّن | قبول `-user` وحده بكلمة المرور هذه في هذا التشغيل، مع تجاهل الملف `password` (أو `TRAFFIC66_PASSWORD`) |
-| `-retention-days` | `30` | عدد أيام الاحتفاظ بتفاصيل التدفقات؛ تُحفظ الملخّصات 400 يوم |
-| `-memory` | `0.10` | حصة الذاكرة الفعلية للذاكرة المؤقتة لقاعدة البيانات، ومثلها حدًّا مرنًا لبقية البرنامج (كلٌّ منهما 256 MB على الأقل) |
-| `-l2-overhead` | `18` | بايتات تُضاف لكل حزمة إلى عدد بايتات NetFlow/IPFIX |
+| `-addr` | `:8066` | واجهة الويب؛ `127.0.0.1:8066` لهذا الجهاز فقط |
+| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | مستقبِلات UDP؛ القيمة الفارغة تعطّلها |
+| `-retention-days` | `30` | أيام تفاصيل التدفقات؛ تُحفظ الملخصات 400 يوم |
+| `-memory` | `0.10` | حصة الذاكرة لذاكرة قاعدة البيانات المؤقتة |
| `-sampling-wait` | `5m` | مدة انتظار السجلات لمعدّل أخذ العينات |
-| `-capture` | | الالتقاط على واجهة محلية (يمكن تكراره) |
-| `-inventory` | `/inventory.txt` | ملف الأسماء |
-| `-asn` | `/asn.tsv.gz` | جدول IP-to-ASN (ملفات `.mmdb`: ارفعها، أو `/country.mmdb` و`/asn.mmdb`, `/both.mmdb`) |
-| `-threat` | `/threats/*.txt` | قائمة تهديدات إضافية بصيغة `name=path` (يمكن تكراره) |
-| `-dns-upstream` | محلّل النظام | خادم DNS لعرض أسماء المضيفات |
-| `-dns-rate` | `20` | الحد الأقصى لاستعلامات DNS العكسية في الثانية |
-| `-dns-cache` | `2m` | مدة الاحتفاظ بأسماء المضيفات في الذاكرة المؤقتة |
-| `-no-dns` | | بلا استعلامات DNS عكسية |
-| `-tui` | | فتح الواجهة الطرفية أيضًا |
-
-مثال: منفذ مستقبِل ثانٍ، وتفاصيل لمدة سنة، وواجهة الويب على الجهاز المحلي
-فقط:
+| `-capture` | | واجهة محلية (قابل للتكرار) |
+| `-no-dns` | | بلا استعلامات عكسية |
-```
-traffic66 -data /var/lib/traffic66 -listen "sflow=:6343,netflow=:2055,ipfix=:4739,netflow=:9995" -retention-days 365 -addr 127.0.0.1:8066
-```
+يحوي دليل البيانات `raw/` (التفاصيل، ملف لكل ساعة)، و`traffic66.duckdb`
+(الملخصات والعدّادات)، و`password`، و`inventory.txt`، و`license.json`، وشعارك
+وقواعد البيانات. للنسخ الاحتياطي أوقف traffic66 وانسخه؛ وللترقية استبدل ملف
+البرنامج. يحذف **تنظيف البيانات** البيانات الأقدم من 7–120 يومًا، أو كلها.
-
+
-## 13. البيانات والنسخ الاحتياطي والترقية وإزالة التثبيت
+### الترخيص
-يحتوي دليل البيانات على كل شيء:
+متاح المصدر بموجب [PolyForm Noncommercial License 1.0.0](../LICENSE.md)
+و[Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md) (النص الإنجليزي
+هو الملزم): مجاني للتقييم وللمؤسسات التي يقل عدد أفرادها عن 100 شخص؛ وتسجّل
+المؤسسات الأكبر بعد 30 يومًا من الاستخدام الإنتاجي؛ ويحتاج البيع أو الاستضافة
+للآخرين أو المنتجات المنافسة إلى ترخيص تجاري. لا يُعطَّل أي شيء أبدًا. يعرض أسفل
+كل صفحة رقم التثبيت المكوّن من 8 أرقام؛ أرسله إلى المؤلف، وضع ملف
+`license.json` الذي تتلقاه في دليل البيانات. للتواصل:
+.
-| | |
-|---|---|
-| `raw/` | تفاصيل التدفقات، ملف مضغوط واحد لكل ساعة |
-| `traffic66.duckdb` | الملخّصات وعدّادات الواجهات والساعة الجارية |
-| `password` | كلمات مرور تسجيل الدخول (مُجزّأة) |
-| `inventory.txt` | الأسماء (**الإعدادات ← الأسماء**) |
-| `license.json` | رقم التثبيت والترخيص (انظر [التجربة والترخيص](#trial-and-licence)) |
-| `logo.png` (أو `.svg`، `.jpg`، `.webp`، `.gif`) | شعارك (**الإعدادات ← الشعار**)، إن كنت قد رفعته |
-| `country.mmdb`، `asn.mmdb`، `both.mmdb`، `asn.tsv.gz`، `dbip-country.mmdb`، `dbip-asn.mmdb`، `threats/`، `sandbox/` | قواعد بيانات الدول والشبكات وقوائم التهديدات التي أضفتها |
-
-**مدة الاحتفاظ بالبيانات**: تفاصيل التدفقات 30 يومًا، والملخصات (النظرة العامة والفترات الطويلة) 400 يوم.
-تُحذف البيانات الأقدم تلقائيًا، ويُفحص ذلك كل 5 دقائق؛ لا يُحذف شيء غير ذلك ولا يوجد حد آخر. غيّر مدة التفاصيل
-بـ `-retention-days`، أي عدد من الأيام، مثل `-retention-days 365`. ويزداد استخدام القرص معها: يصبح **متاح**
-في القائمة الجانبية أحمر عندما لا تتسع الأيام المحفوظة. إذا امتلأ القرص فلا يمكن حفظ تدفقات جديدة حتى تُحرَّر مساحة.
-
-يحذف **تنظيف البيانات** في القائمة الجانبية البيانات قبل أن تحتاج إلى ذلك:
-الأقدم من 120 أو 90 أو 60 أو 30 أو 7 أيام، أو كل البيانات. ويعرض لكل خيار
-عدد سجلات التدفق التي ستُحذف ومقدار المساحة التقريبي الذي يحرّره، ويطلب
-التأكيد قبل الحذف. تُحذف سجلات التدفق والملخّصات الساعية واليومية وعدّادات
-الواجهات والاكتشافات؛ وحذف كل البيانات يعيد أيضًا تعيين ما تعلّمته قواعد
-الكشف. لا يمكن التراجع عن ذلك.
-
-- **النسخ الاحتياطي**: أوقف traffic66 وانسخ الدليل. من دون إيقافه، انسخ
- `raw/` و`password` و`inventory.txt`؛ وعندها لن تتضمن النسخة الساعة
- الجارية ولا الملخّصات.
-- **النقل**: أوقف traffic66، وانقل الدليل، ثم شغّله مع `-data` مشيرًا إلى
- المكان الجديد.
-- **الترقية**: أوقف traffic66، واستبدل ملف البرنامج، ثم شغّله مجددًا. تبقى
- البيانات كما هي. مثلًا في Linux:
-
- ```
- sudo systemctl stop traffic66
- sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
- sudo systemctl start traffic66
- ```
-
-- **إزالة التثبيت**: أوقف الخدمة أو مهمة بدء التشغيل واحذفها (انظر
- [التثبيت](#2-install))، ثم احذف مجلد البرنامج ودليل البيانات.
-
-
-
-### التجربة والترخيص
-
-traffic66 متاح المصدر بموجب
-[PolyForm Noncommercial License 1.0.0](../LICENSE.md)
-و[Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md)؛ والنص
-الإنجليزي لكليهما هو الملزم. باختصار:
-
-- **التقييم** والاختبار والتطوير والعروض التوضيحية: مجانًا للجميع، دون حد
- زمني.
-- **الاستخدام الإنتاجي** (حركة حقيقية، لتشغيل أعمال مؤسسة) من قِبل مؤسسة
- يقل عدد موظفيها والمتعاقدين معها عن 100: مجانًا.
-- الاستخدام الإنتاجي من قِبل **المؤسسات الأكبر**: مجانًا لمدة 30 يومًا، ثم
- يلزم ترخيص تسجيل من المؤلف.
-- يجوز للمتعاقدين ومقدّمي الخدمات تشغيله لعميل، في نشر خاص بذلك العميل؛
- والمعتبر حجم العميل.
-- غير مسموح دون ترخيص تجاري: بيعه أو دمجه في منتج، أو تقديمه للآخرين كخدمة
- مستضافة أو متعددة المستأجرين، أو منتج منافس.
-
-تُحدَّد رسوم ترخيص التسجيل ونطاقه ومدته لكل حالة على حدة، وقد يكون مجانيًا.
-للتواصل: .
-
-تعرض كل نسخة مثبتة التجربة، حتى حيث لا يلزم ترخيص. عند التشغيل الأول يكتب
-traffic66 الملف `license.json` في دليل البيانات مع رقم تثبيت من 8 أرقام. ويعرض أسفل كل صفحة عدد أيام
-التجربة المتبقية، ثم أن التجربة انتهت. ولا يتوقف شيء في الحالتين: تستمر كل
-الميزات في العمل.
-
-للتسجيل، أرسل إلى المؤلف رقم التثبيت (يظهر أيضًا أسفل كل صفحة). يصلك الترخيص
-في ملف `license.json` جديد؛ ضعه في دليل البيانات مكان القديم. يُفحص عند
-بدء traffic66 وكل 4 ساعات، فلا حاجة إلى إعادة التشغيل؛ ثم يعرض أسفل الصفحة
-لمن رُخِّص وكم يومًا بقي.
-
-
-
-## 14. الأمان
-
-- تستخدم واجهة الويب HTTP عاديًا: تعبر كلمات المرور والبيانات الشبكة دون
- تشفير. على الشبكات التي لا تثق بها تمامًا، استمع على هذا الجهاز فقط
- (`-addr 127.0.0.1:8066`) وضع أمامه وكيلًا عكسيًا بـ TLS، مثلًا باستخدام
- [Caddy](https://caddyserver.com):
- `caddy reverse-proxy --from traffic66.example.com --to 127.0.0.1:8066`.
- أو اتصل به عبر VPN أو نفق SSH:
- `ssh -L 8066:127.0.0.1:8066 user@192.0.2.50`، ثم افتح
- http://127.0.0.1:8066.
-- اسمح بمنافذ UDP الخاصة بالمستقبِلات من عناوين أجهزتك فقط.
-- تُخزَّن مجتمعات SNMP في `inventory.txt` نصًا صريحًا؛ استخدم مجتمعًا للقراءة
- فقط.
-
-
-
-## 15. تقدير الموارد
-
-القياس عند 5,000 تدفق في الثانية على جهاز بنواتين: تستهلك التفاصيل نحو
-12 GB من القرص يوميًا، إضافة إلى نحو 1.5 GB للساعة الجارية، ويستهلك البرنامج
-سدس نواة واحدة. تُبنى النظرات العامة للنطاقات
-الزمنية الطويلة من الملخّصات وتستغرق أقل من 0.2 ثانية. تمسح الاستعلامات على
-التفاصيل نحو 22 مليون صف لكل ساعة: مضيف واحد على مدى ساعة يستغرق أقل من
-ثانية، وأعلى 66 لكل المحادثات على مدى ساعة نحو 9 ثوانٍ؛ ويزداد الوقت مع
-طول النطاق ويقلّ بزيادة الأنوية.
-
-لذلك يحتاج 30 يومًا عند 5,000 تدفق/ثانية إلى نحو 360 GB من القرص؛ احسبها
-وفق معدّل التدفقات لديك (يظهر في **الإعدادات**) و`-retention-days`.
-
-الذاكرة: يحدّ `-memory` (افتراضيًا 10% من RAM، وبحدّ أدنى 256 MB) من الذاكرة
-المؤقتة لقاعدة البيانات، ويحصل باقي البرنامج على حدّ مرن بالحجم نفسه. عند
-5,000 تدفق في الثانية تشغل بيانات البرنامج نفسه (فك الترميز، وكشف التكرار،
-والدفعات) نحو 90 MB؛ وتوقّع إجمالًا 0.6–0.8 GB، لذا يكفي جهاز بذاكرة RAM
-سعتها 2 GB. جرى القياس خلال 10 دقائق من الجمع المتواصل (ذروة 0.58 GB على
-جهاز بذاكرة 8 GB) وأثناء تحميل ساعة من التدفقات بأحد عشر ضعف ذلك المعدّل
-ضمن حدود جهاز بذاكرة 2 GB (ذروة 0.74 GB).
-
-`-memory` ميزانية وليس حدًّا صارمًا: حدّ Go مرن، وقد تتجاوز قاعدة البيانات
-حصتها لفترة قصيرة. للحصول على حدّ صارم استخدم حدّ نظام التشغيل: `MemoryMax=`
-في وحدة systemd (القسم 2) أو حدّ ذاكرة الحاوية. خصّص نحو 2.5 ضعف حصة
-`-memory` وما لا يقل عن 1 GB؛ ويناسب `MemoryMax=2G` الأجهزة التي تصل ذاكرتها
-إلى 8 GB مع الحصة الافتراضية. عندها يُعاد تشغيل traffic66 بدلًا من نفاد ذاكرة
-الجهاز.
-
-
-
-## 16. استكشاف الأخطاء وإصلاحها
-
-| العَرَض | السبب والحل |
-|---|---|
-| الجهاز غير ظاهر في **الإعدادات** | الحزم لا تصل: انظر [التحقق من وصول التدفقات](#5-check-that-flows-arrive) |
-| "waiting for the sampling rate" | لم يرسل الجهاز خيارات أخذ العينات بعد؛ ومعظم الأجهزة تعيد إرسالها خلال دقائق. إن لم يفعل أبدًا، فصدّرها (`option sampler-table` على Cisco) أو علّم الجهاز بـ `unsampled` في الأسماء إن كان يصدّر فعلًا بنسبة 1:1، أو حدّد نسبته بـ `sampling=N` في سطر `device` الخاص به. بعد ذلك تعرض **الإعدادات** القوالب التي أرسلها الجهاز، لمعرفة ما يصرّح به |
-| الأرقام أقل من عدّادات الواجهات | انظر **مطابقة الواجهات**: فقد في الطريق، أو واجهات لا تؤخذ منها عينات، أو تدفقات ما زالت في ذاكرة الجهاز المؤقتة (مهلة التدفق النشط أطول من 60 ثانية) |
-| الأرقام أعلى من عدّادات الواجهات | تؤخذ عينات الحركة نفسها على واجهتين أو جهازين |
-| لا توجد دول أو شبكات ("غير معروف") | لم تُحمَّل أي قاعدة بيانات: ارفع واحدة في **الإعدادات**، وانظر [الدول](#8-countries-networks-and-threat-lists) |
-| ظهور "بلغت قاعدة البيانات حد الذاكرة ولم تتمكن من الإجابة" في صفحة | اختر مدة أقصر، أو شغّل البرنامج بقيمة `-memory` أكبر؛ التفاصيل في السجل |
-| نسيت كلمة المرور | `traffic66 passwd` على جهاز traffic66 (أضف `-data` إذا كان traffic66 يعمل به) |
-| `Conflicting lock is held` | نسخة أخرى من traffic66 تستخدم دليل البيانات هذا |
-| `receive buffer is only … KB` | يحدّ Linux من مخازن UDP المؤقتة: اضبط `net.core.rmem_max=16777216` (انظر [Linux](#linux)) |
-| `cannot create the data directory` | مجلد البرنامج غير قابل للكتابة لهذا المستخدم: مرّر `-data` |
-| macOS: "cannot be opened" أو "developer cannot be verified" | `xattr -dr com.apple.quarantine ` |
-| Windows: "Windows protected your PC" (حمى Windows جهازك) | **More info** (مزيد من المعلومات) → **Run anyway** (التشغيل على أي حال)؛ البرنامج غير موقّع بعد |
-| الالتقاط في Windows: لم يُعثر على Npcap | ثبّت [Npcap](https://npcap.com) |
-| `address already in use` | برنامج آخر يستخدم المنفذ: اختر منافذ أخرى بـ `-addr` أو `-listen` |
+
-
+## 11. الأمان، تقدير الموارد، استكشاف الأخطاء
-## 17. البناء من المصدر
+واجهة الويب HTTP عادي: على الشبكات غير الموثوقة استخدم `-addr 127.0.0.1:8066`
+خلف وكيل TLS (`caddy reverse-proxy --from traffic66.example.com --to
+127.0.0.1:8066`) أو نفق SSH. اسمح بمنافذ UDP من أجهزتك فقط. تُخزَّن مجتمعات
+SNMP نصًا صريحًا؛ استخدم مجتمعات للقراءة فقط.
-Go 1.24 ومترجم C (gcc أو clang؛ وMinGW-w64 على Windows):
+عند 5,000 تدفق/ث على نواتين: نحو 12 GB من القرص لكل يوم من التفاصيل (360 GB
+لـ 30 يومًا)، وسدس نواة، و0.6–0.8 GB من الذاكرة. تستغرق النظرات العامة للنطاقات
+الطويلة أقل من 0.2 ثانية؛ وأعلى 66 لكل المحادثات لمدة ساعة نحو 9 ثوانٍ.
-```
-git clone https://github.com/githubflyideas/traffic66
-cd traffic66
-scripts/build.sh 0.1.0 traffic66
-```
+| العَرَض | الحل |
+|---|---|
+| "waiting for the sampling rate" | صدّر خيارات أخذ العينات، أو `sampling=N` / `unsampled` في سطر الجهاز |
+| أقل من العدّادات | واجهات لا تؤخذ منها عينات، أو فقد، أو مهلة تدفق نشط أطول من 60 ثانية |
+| أعلى من العدّادات | الحركة نفسها مأخوذة بالعينات على واجهتين أو جهازين |
+| نسيت كلمة المرور | `traffic66 passwd` على جهاز traffic66 |
+| `Conflicting lock is held` | نسخة أخرى من traffic66 تستخدم دليل البيانات هذا |
+| `address already in use` | اختر منافذ أخرى بـ `-addr` أو `-listen` |
+| Windows "protected your PC" | **More info** (مزيد من المعلومات) → **Run anyway** (التشغيل على أي حال) |
+
+البناء من المصدر: Go 1.24 ومترجم C، ثم `scripts/build.sh 0.1.0 traffic66`.
diff --git a/docs/README.bn.md b/docs/README.bn.md
index 835a8f7..12eab7f 100644
--- a/docs/README.bn.md
+++ b/docs/README.bn.md
@@ -2,415 +2,156 @@
# traffic66
-sFlow, NetFlow ও IPFIX-এর জন্য flow analytics, একটিমাত্র প্রোগ্রামে। এটি
-switch, router ও firewall থেকে flow export সংগ্রহ করে, একটি embedded
-database-এ রাখে, এবং দেখায় কে bandwidth ব্যবহার করছে, ট্রাফিক কোথায় যাচ্ছে
-আর সংখ্যাগুলো ডিভাইসের নিজের interface counter-এর সাথে মেলে কি না — web UI
-এবং terminal UI দুটোতেই।
-
-- Windows, Linux ও macOS-এর জন্য একটিই executable। কোনো database ইনস্টল
- করতে হয় না, কোনো runtime লাগে না, offline-এও চলে।
-- যেকোনো UDP port-এ sFlow v5, NetFlow v5, NetFlow v9 ও IPFIX; চাইলে কোনো
- network interface বা mirror port থেকে local capture-ও।
-- নিজের সংখ্যাগুলো interface counter (sFlow counter বা SNMP)-এর সাথে মিলিয়ে
- দেখে, আর পার্থক্য থাকলে কেন তা জানায়।
-- flow-এর মধ্যে scan, পাসওয়ার্ড অনুমান, lateral movement, অস্বাভাবিক upload,
- flood আর threat list-এর ট্রাফিক খুঁজে বের করে, sampling-এর মধ্যেও, এবং
- সেগুলো সামলানোর জন্য সন্দেহজনক কার্যকলাপের তালিকায় দেখায়।
-- Top 66 তালিকা, কে কার সাথে কথা বলে তা ring chart-এ (server ও তাদের
- client, service ও তাদের server), interface ও নেটওয়ার্ক (AS) অনুযায়ী সময়ের
- সাথে ট্রাফিক, flow-এর পথ, বিশ্ব মানচিত্রে দেশ, threat list-এর match, flow
- record, encapsulation (GRE, IPIP, VXLAN, GENEVE, MPLS)।
-- `traffic66 capture.pcap` সর্বোচ্চ 3টি প্যাকেট ক্যাপচার (মোট 3 GB) ওয়েব UI-তে খোলে: পুরো ক্যাপচারের ফ্লো, ফলাফল, দেশ ও ফ্লো রেকর্ড, কোনো সেটআপ ছাড়াই।
-- web UI ও terminal UI-তে 13টি ভাষা।
-- Source available: মূল্যায়নের জন্য এবং 100 জনের কম মানুষের প্রতিষ্ঠানের
- জন্য বিনামূল্যে; বড় প্রতিষ্ঠান production ব্যবহারের 30 দিন পরে নিবন্ধন
- করে। কোনো কিছুই কখনো বন্ধ করা হয় না
- ([ট্রায়াল ও লাইসেন্স](#trial-and-licence) দেখুন)।
+sFlow, NetFlow ও IPFIX-এর জন্য flow analytics, একটিমাত্র প্রোগ্রামে: কে
+bandwidth ব্যবহার করছে, ট্রাফিক কোথায় যাচ্ছে, আর সংখ্যাগুলো ডিভাইসের নিজের
+interface counter-এর সাথে মেলে কি না — web UI ও terminal UI-তে।
+
+- Windows, Linux ও macOS-এর জন্য একটিই executable; কোনো database ইনস্টল করতে হয় না, offline-এও চলে।
+- যেকোনো UDP port-এ sFlow v5, NetFlow v5/v9 ও IPFIX, অথবা কোনো interface থেকে local capture।
+- নিজের সংখ্যাগুলো interface counter (sFlow বা SNMP)-এর সাথে মিলিয়ে দেখে এবং পার্থক্য থাকলে কেন তা জানায়।
+- scan, পাসওয়ার্ড অনুমান, lateral movement, অস্বাভাবিক upload, flood ও threat list-এর ট্রাফিক খুঁজে বের করে, sampling-এর মধ্যেও।
+- `traffic66 capture.pcap` কোনো সেটআপ ছাড়াই প্যাকেট ক্যাপচার বিশ্লেষণ করে।
+- 13টি ভাষা। মূল্যায়নের জন্য এবং 100 জনের কম মানুষের প্রতিষ্ঠানের জন্য বিনামূল্যে ([লাইসেন্স](#licence))।

-সব স্ক্রিনশট `traffic66 demo` থেকে নেওয়া, একটি simulated কোম্পানি নেটওয়ার্ক যা আপনি নিজেই চালাতে পারেন ([ডেমো চালিয়ে দেখুন](#1-try-the-demo) দেখুন)।
+সব স্ক্রিনশট `traffic66 demo` থেকে নেওয়া, একটি simulated কোম্পানি নেটওয়ার্ক।
## সূচিপত্র
1. [ডেমো চালিয়ে দেখুন](#1-try-the-demo)
-2. [ইনস্টল](#2-install) — [Linux](#linux) · [Windows](#windows) · [macOS](#macos)
+2. [ইনস্টল](#2-install)
3. [ইউজার ও পাসওয়ার্ড](#3-users-and-passwords)
4. [আপনার ডিভাইস থেকে flow পাঠান](#4-send-flows-from-your-devices)
5. [flow পৌঁছাচ্ছে কি না দেখুন](#5-check-that-flows-arrive)
-6. [সংখ্যাগুলো interface counter-এর সাথে মেলান](#6-make-the-numbers-match-the-interface-counters)
-7. [নাম, SNMP ও আপনার নিজের নেটওয়ার্ক](#7-names-snmp-and-your-own-networks)
-8. [দেশ, নেটওয়ার্ক ও threat list](#8-countries-networks-and-threat-lists)
-9. [web UI ব্যবহার](#9-using-the-web-ui)
-10. [Terminal UI](#10-terminal-ui)
-11. [Local capture](#11-local-capture)
-12. [অপশন](#12-options)
-13. [ডেটা, ব্যাকআপ, আপগ্রেড, আনইনস্টল](#13-data-backup-upgrade-uninstall)
-14. [নিরাপত্তা](#14-security)
-15. [সক্ষমতার হিসাব](#15-sizing)
-16. [সমস্যা সমাধান](#16-troubleshooting)
-17. [সোর্স থেকে বিল্ড](#17-build-from-source)
+6. [Interface ও counter](#6-interfaces-and-counters)
+7. [নাম, দেশ ও threat list](#7-names-countries-and-threat-lists)
+8. [web UI ব্যবহার](#8-using-the-web-ui)
+9. [অফলাইন pcap, terminal UI, local capture](#9-offline-pcap-terminal-ui-local-capture)
+10. [অপশন ও ডেটা](#10-options-and-data)
+11. [নিরাপত্তা, সক্ষমতার হিসাব, সমস্যা সমাধান](#11-security-sizing-troubleshooting)
## 1. ডেমো চালিয়ে দেখুন
আপনার সিস্টেমের archive
-[releases পেজ](https://github.com/githubflyideas/traffic66/releases) থেকে ডাউনলোড করুন:
-
-| সিস্টেম | Archive |
-|---|---|
-| Windows 10/11, Server 2016 বা নতুন (x64) | `traffic66-windows-amd64.zip` |
-| Linux x86-64: kernel 3.2 বা তার পরের যেকোনো distribution, CentOS 7 ও Alpine সহ | `traffic66-linux-amd64.tar.gz` |
-| Linux ARM64: একই distribution | `traffic66-linux-arm64.tar.gz` |
-| macOS 11 বা নতুন, Apple silicon | `traffic66-darwin-arm64.tar.gz` |
-| macOS 11 বা নতুন, Intel | `traffic66-darwin-amd64.tar.gz` |
-
-Linux:
+[releases পেজ](https://github.com/githubflyideas/traffic66/releases) থেকে
+ডাউনলোড করুন (Windows x64, kernel 3.2+ সহ Linux x86-64/ARM64, macOS 11+),
+unpack করে চালান:
```
-tar xzf traffic66-linux-amd64.tar.gz
-cd traffic66-linux-amd64
-./traffic66 demo -password try66
+./traffic66 demo -password try66 # Linux, macOS
+.\traffic66.exe demo -password try66 # Windows
```
-macOS (দ্বিতীয় লাইনটি macOS-কে ইন্টারনেট থেকে ডাউনলোড করা এমন প্রোগ্রাম চালাতে
-দেয় যা App Store থেকে আসেনি):
-
-```
-tar xzf traffic66-darwin-arm64.tar.gz
-xattr -dr com.apple.quarantine traffic66-darwin-arm64
-cd traffic66-darwin-arm64
-./traffic66 demo -password try66
-```
-
-Windows (PowerShell):
-
-```
-Expand-Archive traffic66-windows-amd64.zip .
-cd traffic66-windows-amd64
-.\traffic66.exe demo -password try66
-```
-
-http://127.0.0.1:8066 খুলুন এবং `admin` / `try66` দিয়ে সাইন ইন করুন। ডেমো
-একটি ছোট কোম্পানির নেটওয়ার্ক তৈরি করে, যাতে এক দিনের ইতিহাস আর চারটি
-simulated ডিভাইস থেকে live ট্রাফিক থাকে, সাথে একটি আক্রমণ:
-**সন্দেহজনক কার্যকলাপ** তার প্রতিটি ধাপ দেখায় (একটি scan, একটি port scan,
-পাসওয়ার্ড অনুমান, lateral movement, একটি control server-এ upload) এবং public
-website-এ একটি flood। তালিকার কোনো এন্ট্রিতে **বিস্তারিত** ক্লিক করুন, অথবা
-**সারসংক্ষেপ** থেকে শুরু করুন, **শীর্ষ ক্লায়েন্ট**-এ একটি host-এ ক্লিক করুন,
-**বিস্তারিত দেখুন** বেছে নিন, তারপর ক্লিক করে করে এগোন। Ctrl+C দিয়ে বন্ধ
-করুন। ডেমোর ডেটা প্রোগ্রামের পাশে
-`traffic66-demo`-তে থাকে; ডেমো নতুন করে শুরু করতে ওই ফোল্ডারটি মুছে দিন।
-
-ডেমো আসল installation-এর মতো একই port ব্যবহার করে (8066, এবং UDP 6343,
-2055, 4739)। আসলটির পাশাপাশি চালাতে অন্য port দিন:
-`traffic66 demo -password try66 -addr :8067 -listen ""`।
-
-Windows-এ আপনি সরাসরি `traffic66.exe`-এ double-click-ও করতে পারেন। এতে
-traffic66 আসলভাবে (ডেমো নয়) চালু হয় এবং আপনার browser-এ web UI খোলে; প্রথম
-চালুর পাসওয়ার্ড কালো window-তে দেখানো হয়, আর window বন্ধ করলে traffic66
-থেমে যায়। Windows যদি "Windows protected your PC" (Windows আপনার PC সুরক্ষিত
-করেছে) দেখায়, তাহলে **More info** (আরও তথ্য) → **Run anyway** (তবুও চালান)
-ক্লিক করুন।
+macOS-এ আগে `xattr -dr com.apple.quarantine ` চালান।
+http://127.0.0.1:8066 খুলে `admin` / `try66` দিয়ে সাইন ইন করুন: এক দিনের
+ইতিহাস আর চারটি simulated ডিভাইস থেকে live ট্রাফিক, সাথে একটি আক্রমণ যা
+**সন্দেহজনক কার্যকলাপ**-এ ধাপে ধাপে দেখানো হয়। Ctrl+C দিয়ে বন্ধ করুন; নতুন
+করে শুরু করতে `traffic66-demo` মুছে দিন। আসল installation-এর পাশাপাশি চালাতে:
+`-addr :8067 -listen ""`।
## 2. ইনস্টল
-traffic66 একটিমাত্র ফাইল। ইনস্টল মানে: এটিকে কোথাও রাখা, একটি data
-directory বেছে নেওয়া, পাসওয়ার্ড সেট করা, firewall খোলা এবং boot-এর সময় চালু
-হওয়ার ব্যবস্থা করা। উদাহরণে traffic66 মেশিনের জন্য `192.0.2.50` আর router-এর
-জন্য `192.0.2.1` ব্যবহার করা হয়েছে; এগুলো আপনার address দিয়ে বদলে নিন।
-
-Port:
+traffic66 একটিমাত্র ফাইল। Port: UDP 6343 (sFlow), 2055 (NetFlow), 4739
+(IPFIX), TCP 8066 (web UI); প্রতিটি UDP port সব protocol গ্রহণ করে।
-| Port | কাজ |
-|---|---|
-| UDP 6343 | sFlow (ডিফল্ট) |
-| UDP 2055 | NetFlow (ডিফল্ট) |
-| UDP 4739 | IPFIX (ডিফল্ট) |
-| TCP 8066 | web UI ও API |
-
-প্রতিটি UDP port সব protocol গ্রহণ করে, তাই সুবিধা হলে কোনো ডিভাইস NetFlow-ও
-6343-এ পাঠাতে পারে। port বদলাতে বা যোগ করতে `-listen` ব্যবহার করুন।
-
-
-
-### Linux
+**Linux** (systemd):
```
-sudo mkdir -p /opt/traffic66
-sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
+sudo mkdir -p /opt/traffic66 && sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
sudo useradd --system --no-create-home --shell /usr/sbin/nologin traffic66
sudo install -d -o traffic66 -g traffic66 /var/lib/traffic66
sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66
```
-শেষ কমান্ডটি ইউজার `admin`-এর পাসওয়ার্ড চায়।
-
-`/etc/systemd/system/traffic66.service` তৈরি করুন:
+`/etc/systemd/system/traffic66.service`:
```
[Unit]
Description=traffic66 flow analytics
After=network-online.target
-Wants=network-online.target
[Service]
User=traffic66
ExecStart=/opt/traffic66/traffic66 -data /var/lib/traffic66
Restart=on-failure
-# hard memory limit for the whole process (see Sizing)
MemoryMax=2G
-# only needed for local capture (-capture):
-#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
+#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN # only for local capture
[Install]
WantedBy=multi-user.target
```
-চালু করুন এবং বড় UDP buffer-এর অনুমতি দিন যাতে burst-এর সময় packet না হারায়:
-
-```
-echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf
-sudo sysctl --system
-sudo systemctl daemon-reload
-sudo systemctl enable --now traffic66
-sudo systemctl status traffic66
-journalctl -u traffic66 -f
-```
-
-Firewall, firewalld দিয়ে (RHEL, Rocky, Alma, Fedora):
-
-```
-sudo firewall-cmd --permanent --add-port=6343/udp --add-port=2055/udp --add-port=4739/udp --add-port=8066/tcp
-sudo firewall-cmd --reload
-```
-
-অথবা ufw দিয়ে (Ubuntu, Debian):
-
```
-sudo ufw allow 6343,2055,4739/udp
-sudo ufw allow 8066/tcp
+echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf && sudo sysctl --system
+sudo systemctl daemon-reload && sudo systemctl enable --now traffic66
+sudo firewall-cmd --permanent --add-port={6343,2055,4739}/udp --add-port=8066/tcp && sudo firewall-cmd --reload
```
-
-
-### Windows
+**Windows** (PowerShell, Administrator হিসেবে): `C:\traffic66`-এ unpack করুন,
+`C:\traffic66\traffic66.exe passwd` চালান, port খুলুন এবং boot-এর সময় চালু
+হওয়ার ব্যবস্থা করুন:
-`C:\traffic66`-এ unpack করুন এবং পাসওয়ার্ড সেট করুন (PowerShell,
-Administrator হিসেবে):
-
-```
-Expand-Archive traffic66-windows-amd64.zip C:\
-Rename-Item C:\traffic66-windows-amd64 C:\traffic66
-C:\traffic66\traffic66.exe passwd
```
-
-ডেটা প্রোগ্রামের পাশে `C:\traffic66\traffic66-data`-তে যায়।
-
-Firewall খুলুন:
-
-```
-New-NetFirewallRule -DisplayName "traffic66 flows" -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
-New-NetFirewallRule -DisplayName "traffic66 web" -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
-```
-
-foreground-এ চালিয়ে দেখতে `C:\traffic66\traffic66.exe` চালান এবং Ctrl+C দিয়ে
-বন্ধ করুন। boot থেকেই background-এ চালাতে, কেউ সাইন ইন না করলেও, এটিকে
-startup task হিসেবে register করুন:
-
-```
-$action = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
-$trigger = New-ScheduledTaskTrigger -AtStartup
-$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
-Register-ScheduledTask -TaskName traffic66 -Action $action -Trigger $trigger -Settings $settings -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
+New-NetFirewallRule -DisplayName traffic66 -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
+New-NetFirewallRule -DisplayName traffic66-web -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
+$a = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
+$s = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1)
+Register-ScheduledTask -TaskName traffic66 -Action $a -Trigger (New-ScheduledTaskTrigger -AtStartup) -Settings $s -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
Start-ScheduledTask -TaskName traffic66
```
-`-ExecutionTimeLimit ([TimeSpan]::Zero)` জরুরি: এটি ছাড়া Windows তিন দিন পর
-task থামিয়ে দেয়। থামাতে `Stop-ScheduledTask -TaskName
-traffic66`, সরাতে `Unregister-ScheduledTask -TaskName traffic66`।
-
-
-
-### macOS
-
-```
-sudo mkdir -p /usr/local/traffic66
-sudo tar xzf traffic66-darwin-arm64.tar.gz -C /usr/local/traffic66 --strip-components=1
-sudo xattr -dr com.apple.quarantine /usr/local/traffic66
-sudo /usr/local/traffic66/traffic66 passwd -data "/Library/Application Support/traffic66"
-```
-
-`/Library/LaunchDaemons/traffic66.plist` তৈরি করুন:
+`traffic66.exe`-এ double-click করলেও চলে: এটি web UI খোলে এবং প্রথম
+পাসওয়ার্ড তার window-তে দেখায়।
-```
-
-
-
-
- Labeltraffic66
- ProgramArguments
-
- /usr/local/traffic66/traffic66
- -data
- /Library/Application Support/traffic66
-
- RunAtLoad
- KeepAlive
- StandardErrorPath/Library/Logs/traffic66.log
-
-
-```
-
-চালু করুন, আবার বন্ধ করুন:
-
-```
-sudo launchctl bootstrap system /Library/LaunchDaemons/traffic66.plist
-tail -f /Library/Logs/traffic66.log
-sudo launchctl bootout system/traffic66
-```
-
-macOS firewall চালু থাকলে System Settings → Network → Firewall → Options-এ
-traffic66-এর জন্য incoming connection-এর অনুমতি দিন।
+**macOS**: `/usr/local/traffic66`-এ unpack করুন, quarantine flag সরান,
+`traffic66 passwd -data "/Library/Application Support/traffic66"` চালান, এবং
+একটি LaunchDaemon থেকে চালু করুন যার `ProgramArguments` হলো প্রোগ্রাম,
+`-data` ও ওই directory, সাথে `RunAtLoad` ও `KeepAlive`।
## 3. ইউজার ও পাসওয়ার্ড
-**সংক্ষেপে:** ইউজার ও পাসওয়ার্ড থাকে data directory-র একটিমাত্র ফাইল
-`password`-এ। এটি কখনো হাতে edit করবেন না: `traffic66 passwd` command ইউজার
-যোগ করে, বদলায়, তালিকা দেখায় ও মুছে ফেলে। `http://:8066`
-খুলে এদের যেকোনো একজন হিসেবে সাইন ইন করুন।
-
-
-
-### প্রথম সাইন ইন
-
প্রথমবার চালু হলে traffic66 একটি random পাসওয়ার্ডসহ ইউজার `admin` তৈরি করে
-এবং সেটি একবার দেখায়:
-
-```
-first start: sign in as user "admin" with password "3f9c2a7e5b1d8046"
-```
-
-- Windows-এ double-click করে চালু করলে: কালো window-তে।
-- terminal-এ চালু করলে: সেই terminal-এ।
-- Linux service: `journalctl -u traffic66 | grep "first start"`
-- macOS service: `grep "first start" /Library/Logs/traffic66.log`
-
-দেখতে পাননি? `traffic66 passwd` (নিচে দেখুন) দিয়ে নতুন সেট করুন। প্রথমবার
-চালুর আগে `traffic66 passwd` দিয়ে পাসওয়ার্ড সেট করে থাকলে, যেমনটা ওপরের
-install ধাপগুলোতে করা হয়, কিছুই generate হয় না।
-
-
-
-### ইউজার কোথায় রাখা হয়
-
-data directory-র `password` ফাইলে:
-
-| traffic66 কীভাবে চলে | ফাইল |
-|---|---|
-| unpack করে নিজের folder থেকে চালু (default) | প্রোগ্রামের পাশে `traffic66-data/password` |
-| Linux service (সেকশন 2) | `/var/lib/traffic66/password` |
-| Windows startup task (সেকশন 2) | `C:\traffic66\traffic66-data\password` |
-| macOS service (সেকশন 2) | `/Library/Application Support/traffic66/password` |
-| ডেমো | প্রোগ্রামের পাশে `traffic66-demo/password` |
-
-প্রতি ইউজারের জন্য এক লাইন। পাসওয়ার্ড salted hash হিসেবে রাখা হয়, তাই ফাইল
-থেকে কেউ সেগুলো আবার পড়তে পারে না, আপনিও না; পাসওয়ার্ড ভুলে গেলে নতুন সেট
-করুন। ফাইলটি শুধু এর owner পড়তে পারে।
-
-```
-# traffic66 login, one user per line; change with: traffic66 passwd
-admin:pbkdf2-sha256$210000$…
-alice:pbkdf2-sha256$210000$…
-```
-
-
-
-### ইউজার পরিচালনা
-
-এগুলো traffic66 মেশিনে চালান:
+এবং সেটি একবার দেখায় (window-তে, terminal-এ, অথবা
+`journalctl -u traffic66 | grep "first start"`)। ইউজাররা data directory-র
+`password`-এ salted hash হিসেবে থাকে এবং traffic66 মেশিনে একটি command দিয়ে
+পরিচালিত হয় (traffic66 `-data …` দিয়ে চললে সেটিও যোগ করুন):
| কাজ | Command |
|---|---|
| `admin`-এর পাসওয়ার্ড বদলানো | `traffic66 passwd` |
-| ইউজার `alice` যোগ করা, বা তার পাসওয়ার্ড বদলানো | `traffic66 passwd -user alice` |
-| ইউজার `alice` মুছে ফেলা | `traffic66 passwd -user alice -delete` |
+| `alice` যোগ করা বা তার পাসওয়ার্ড বদলানো | `traffic66 passwd -user alice` |
+| `alice` মুছে ফেলা | `traffic66 passwd -user alice -delete` |
| ইউজারদের তালিকা দেখা | `traffic66 passwd -list` |
-| random পাসওয়ার্ড সেট করে প্রিন্ট করা | `traffic66 passwd -generate` (অন্য ইউজারের জন্য `-user` সহ) |
-
-- command নতুন পাসওয়ার্ড দুবার চায় এবং আপনি যা টাইপ করেন তা দেখায় না।
- অন্তত 8 অক্ষর ব্যবহার করুন।
-- traffic66 `-data` দিয়ে চললে command-এও একই `-data` যোগ করুন। সেকশন 2-এর
- Linux service-এর জন্য:
-
- ```
- sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66 -user alice
- ```
-
- Windows-এ (PowerShell, Administrator হিসেবে):
-
- ```
- C:\traffic66\traffic66.exe passwd -user alice
- ```
-
-- পরিবর্তন সঙ্গে সঙ্গে কার্যকর হয়, restart লাগে না: নতুন পাসওয়ার্ড পরের সাইন
- ইনেই কাজ করে, আর মুছে ফেলা ইউজার খোলা browser থেকে sign out হয়ে যায়।
-- শেষ অবশিষ্ট ইউজারকে মোছা যায় না; আগে আরেকজন ইউজার যোগ করুন।
-- সব ইউজার একই জিনিস দেখে ও বদলাতে পারে; কোনো role নেই।
-
-
-
-### script ও container-এর জন্য পাসওয়ার্ড
-environment-এ `TRAFFIC66_PASSWORD=…`, বা command line-এ `-password …` দিলে
-traffic66 ওই run-এ ঠিক একজন ইউজারকেই গ্রহণ করে: `-user` দিয়ে দেওয়া ইউজার
-(default `admin`), ওই পাসওয়ার্ডসহ। তখন `password` ফাইল উপেক্ষা করা হয় এবং
-বদলানো হয় না। environment variable-ই ভালো: command line মেশিনের অন্য ইউজাররা
-দেখতে পায়।
-
-```
-TRAFFIC66_PASSWORD='s3cret-pass' traffic66 -user ops
-```
-
-এক মিনিটের মধ্যে পাঁচবার ভুল পাসওয়ার্ড দিলে সেই address এক মিনিটের জন্য block
-হয়।
+পরিবর্তন সঙ্গে সঙ্গে কার্যকর হয়। সব ইউজারের অধিকার একই। script ও
+container-এর জন্য `TRAFFIC66_PASSWORD=…` (বা `-password`) ওই run-এ শুধু ওই
+পাসওয়ার্ডসহ `-user`-কে গ্রহণ করে। এক মিনিটের মধ্যে পাঁচবার ভুল পাসওয়ার্ড দিলে
+সেই address এক মিনিটের জন্য block হয়।
## 4. আপনার ডিভাইস থেকে flow পাঠান
-প্রতিটি ডিভাইসকে traffic66 মেশিনের দিকে point করুন। কমান্ড model ও software
-version অনুযায়ী আলাদা হয়; ডিভাইসের manual দেখে নিন। সব উদাহরণে `192.0.2.50`
-হলো traffic66 আর `192.0.2.1` ডিভাইসের নিজের address।
-
-সাধারণ পরামর্শ:
-
-- active flow timeout 60 সেকেন্ড রাখুন। বেশি timeout হলে ট্রাফিক দেরিতে, বড়
- বড় চাংকে আসে।
-- ডিভাইস NetFlow/IPFIX sample করলে, তাকে sampler options export করতে দিন
- যাতে rate জানা যায়। traffic66 record-গুলো 1:1 গোনার বদলে rate না আসা পর্যন্ত
- ধরে রাখে।
-- হয় সব interface sample করুন, নয়তো শুধু edge interface, এক দিকেই। একই
- ট্রাফিক ঢোকার আর বেরোনোর সময় দুবার sample করলে সেটি দুবার গোনা হয়;
- **ইন্টারফেস মিলানো** এটি ধরিয়ে দেয়।
-- sFlow sampling rate: 1 Gb/s link-এ প্রায় 1:1000, 10 Gb/s-এ 1:4096,
- 40/100 Gb/s-এ 1:8192।
-
-Cisco IOS / IOS-XE (Flexible NetFlow):
+`192.0.2.50` হলো traffic66, `192.0.2.1` ডিভাইস। active timeout 60 সেকেন্ড
+রাখুন, NetFlow/IPFIX ডিভাইসকে তাদের sampler options export করতে দিন, এবং
+**প্রতিটি interface inbound** sample করুন (অথবা শুধু edge interface): তাহলে
+প্রতিটি packet একবারই গোনা হয়। sFlow rate: 1 Gb/s-এ প্রায় 1:1000, 10 Gb/s-এ
+1:4096, 40/100 Gb/s-এ 1:8192।
```
+! Cisco IOS-XE, NetFlow v9
flow exporter T66
destination 192.0.2.50
transport udp 2055
- export-protocol netflow-v9
option sampler-table
flow monitor T66
exporter T66
@@ -420,39 +161,8 @@ interface GigabitEthernet0/0/0
ip flow monitor T66 input
```
-Cisco NX-OS (sFlow):
-
-```
-feature sflow
-sflow collector-ip 192.0.2.50 vrf default
-sflow collector-port 6343
-sflow agent-ip 192.0.2.1
-sflow sampling-rate 4096
-sflow counter-poll-interval 30
-sflow data-source interface ethernet 1/1
-```
-
-Arista EOS (sFlow):
-
-```
-sflow sample 4096
-sflow destination 192.0.2.50
-sflow source-interface Management1
-sflow run
-```
-
-Juniper EX / QFX (sFlow):
-
-```
-set protocols sflow collector 192.0.2.50 udp-port 6343
-set protocols sflow sample-rate ingress 4096
-set protocols sflow polling-interval 30
-set protocols sflow interfaces ge-0/0/0
-```
-
-Huawei CloudEngine (sFlow):
-
```
+# Huawei CloudEngine, sFlow (H3C Comware is similar)
sflow agent ip 192.0.2.1
sflow collector 1 ip 192.0.2.50
interface 10GE1/0/1
@@ -463,46 +173,22 @@ interface 10GE1/0/1
sflow counter interval 30
```
-H3C Comware (sFlow):
-
-```
-sflow agent ip 192.0.2.1
-sflow collector 1 ip 192.0.2.50 port 6343
-interface Ten-GigabitEthernet1/0/1
- sflow sampling-rate 4096
- sflow flow collector 1
- sflow counter interval 30
- sflow counter collector 1
```
+# Juniper EX/QFX, sFlow
+set protocols sflow collector 192.0.2.50 udp-port 6343
+set protocols sflow sample-rate ingress 4096
+set protocols sflow interfaces ge-0/0/0
-MikroTik RouterOS 7 (NetFlow v9 / IPFIX):
+# Arista EOS, sFlow
+sflow sample 4096
+sflow destination 192.0.2.50
+sflow run
-```
+# MikroTik RouterOS 7
/ip traffic-flow set enabled=yes interfaces=all active-flow-timeout=1m
/ip traffic-flow target add dst-address=192.0.2.50 port=2055 version=9
-```
-FortiGate FortiOS 7.4.2 বা নতুন (NetFlow v9):
-
-```
-config system netflow
- config collectors
- edit 1
- set collector-ip 192.0.2.50
- set collector-port 2055
- next
- end
-end
-config system interface
- edit port1
- set netflow-sampler both
- next
-end
-```
-
-Linux server ও host, softflowd দিয়ে (NetFlow v9):
-
-```
+# Linux host, softflowd
softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
```
@@ -510,314 +196,113 @@ softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
## 5. flow পৌঁছাচ্ছে কি না দেখুন
-**সেটিংস** খুলুন। যে ডিভাইস কিছু পাঠায়, সেটি কয়েক সেকেন্ডের মধ্যে দেখা যায়,
-তার protocol, sampling rate, loss, শেষ packet আর status সহ। status সবুজ না
-হলে পাশের লেখাটি বলে দেয় কী সমস্যা আর কী বদলাতে হবে।
-
-**হারানো** গোনে সেই sample বা record, যা কখনো পৌঁছায়নি। sFlow-এর ক্ষেত্রে
-লেখাটি বলে দেয় সেগুলো কোথায় হারিয়েছে: এখানে আসার পথে (sequence number-এ
-ফাঁক: নেটওয়ার্ক, অথবা এই মেশিনের UDP receive buffer; `netstat -su`-এ receive
-buffer error বাড়তে থাকলে `net.core.rmem_max` বাড়ান), অথবা ডিভাইসের নিজের
-ভেতরে (ডিভাইস যে sample ফেলে দিয়েছে sFlow তা জানায়: তার sFlow export-এর rate
-সীমিত, তাই কম ঘন ঘন sample করুন বা ডিভাইসের সীমা বাড়ান)। দুই ক্ষেত্রেই মোট
-হিসাব পূরণ করা হয়; প্রতি host-এর বিস্তারিত নয়।
+**সেটিংস** কয়েক সেকেন্ডের মধ্যে কিছু পাঠানো প্রতিটি ডিভাইস দেখায়: protocol,
+sampling rate, loss, যে interface-গুলো এটি sample করে, এবং status সবুজ না হলে
+কী ঠিক করতে হবে। sFlow-এর loss দুই ভাগে দেখানো হয়: পথে হারানো
+(`netstat -su` buffer error দেখালে `net.core.rmem_max` বাড়ান) এবং ডিভাইস
+নিজেই যে sample ফেলে দিয়েছে।

-কোনো ডিভাইস না দেখা গেলে:
-
-1. traffic66 মেশিনে packet দেখুন (Linux, macOS):
- `sudo tcpdump -ni any udp port 6343 or udp port 2055 or udp port 4739`।
- সেখানে কিছু না থাকলে packet মেশিন পর্যন্ত পৌঁছাচ্ছেই না: ডিভাইসের
- configuration, routing আর পথের firewall পরীক্ষা করুন।
-2. packet আসছে কিন্তু **সেটিংস** খালি: local firewall সেগুলো drop করছে
- ([ইনস্টল](#2-install) দেখুন), অথবা traffic66 অন্য port-এ শুনছে
- (`-listen`)।
-3. কোনো ডিভাইস না ছুঁয়ে অন্য মেশিন থেকে পথটি পরীক্ষা করতে, সেখানে কয়েক
- সেকেন্ডের জন্য `traffic66 simulate -to 192.0.2.50` চালান। এটি simulated
- ডিভাইস থেকে sFlow, NetFlow ও IPFIX পাঠায়; সেগুলো তখন **সেটিংস**-এ ও ডেটায়
- দেখা যায়, তাই এর জন্য test installation ব্যবহার করাই ভালো।
-
-
-
-## 6. সংখ্যাগুলো interface counter-এর সাথে মেলান
-
-Flow-এর সংখ্যা আসলে অনুমান: sampled packet গুণ sampling rate। traffic66
-এগুলো ডিভাইসের নিজের interface counter-এর সাথে তুলনা করে এবং পার্থক্য
-**ইন্টারফেস মিলানো**-তে দেখায়; পার্থক্য শুধু sampling দিয়ে ব্যাখ্যা করা যায়
-তার চেয়ে বেশি হলে সম্ভাব্য কারণও দেখায়। প্রতিটি interface-এর একটি পূর্ণ-প্রস্থ
-bits/s chart এবং তার নিচে একটি packets/s chart আছে, তাতে ingress (সবুজ) ও
-egress (নীল) থাকে; ডিভাইসের নিজের counter bits/s chart-এ ড্যাশ রেখা হিসেবে
-দেখা যায়। তালিকায় একটি interface বেছে নিলে তার chart দেখা যায়।
-
-তালিকার প্রতিটি row-এ দুটি বোতাম আছে। **✎** interface-কে একটি নাম ও একটি ছোট
-ট্যাগ (যেমন *uplink*) দেয়, যা সব জায়গায় তার নামের পাশে দেখা যায়। **☆** এটিকে
-ডিফল্ট interface (**★**) করে; ডিফল্ট একটিই থাকে। তারপর পেজগুলো এটিতেই খোলে
-([web UI ব্যবহার](#9-using-the-web-ui)-এ **ইন্টারফেস** বাছাই দেখুন), এবং সারসংক্ষেপ
-এর bandwidth দেখায়। দুটোই সঙ্গে সঙ্গে **নাম**-এর `iface` লাইনে সংরক্ষিত হয়।
-
-Flow record-এ দুটি interface থাকে: যেটি দিয়ে packet এসেছে এবং যেটি দিয়ে
-বেরিয়েছে। তাই যে ডিভাইস শুধু কিছু interface স্যাম্পল করে, সেটি তাদের flow-এর
-অন্য প্রান্তগুলোও দেখায়। এই **বিপরীত ইন্টারফেস** তালিকার শেষে, ছোট ধূসর লেখায়,
-নিজস্ব শিরোনামের নিচে দেখানো হয়: তাদের সংখ্যায় শুধু সেই ট্রাফিক থাকে যা কোনো
-স্যাম্পল করা interface দিয়ে গেছে, তাদের সব ট্রাফিক নয়। পেজগুলোর ওপরের
-**ইন্টারফেস**-এ এগুলো দেওয়া হয় না। কোন interface একটি flow স্যাম্পল করেছে,
-traffic66 তা জানে sFlow-এর data source থেকে, অথবা NetFlow v9 ও IPFIX-এর
-flowDirection field (IPFIX 61) থেকে (ingress: input interface, egress: output
-interface)। এই field না থাকলে, যে interface ডিভাইসের অন্তত 90% ট্রাফিকে আছে
-সেটিকে স্যাম্পল করা ধরা হয়; এমন কোনোটি না থাকলে কোনো interface চিহ্নিত হয় না।
-**সেটিংস** প্রতিটি ডিভাইসের **স্যাম্পল ইন্টারফেস** দেখায়, এবং তার template
-**flowDirection (61) সহ** কি না। ডিভাইসের সব ট্রাফিক দেখতে প্রতিটি interface
-inbound স্যাম্পল করুন ([আপনার ডিভাইস থেকে flow
-পাঠান](#4-send-flows-from-your-devices) দেখুন)।
+কোনো ডিভাইস নেই? `sudo tcpdump -ni any udp port 6343 or udp port 2055
+or udp port 4739` চালান: সেখানে কিছু না থাকলে সমস্যা routing, firewall বা
+ডিভাইসের configuration-এ; packet আছে কিন্তু **সেটিংস**-এ কিছু নেই মানে local
+firewall বা `-listen`। অন্য মেশিন থেকে `traffic66 simulate -to 192.0.2.50`
+simulated ডিভাইস দিয়ে পথটি পরীক্ষা করে।
-
+
-তুলনার জন্য counter পেতে:
+## 6. Interface ও counter
-- sFlow ডিভাইস counter interval সেট থাকলে নিজেরাই সেগুলো পাঠায়
- (`sflow counter interval 30` বা এ জাতীয়)।
-- NetFlow ও IPFIX ডিভাইসের জন্য **সেটিংস → নাম**-এ একটি `snmp` লাইন যোগ করুন
- ([নাম](#7-names-snmp-and-your-own-networks) দেখুন)। তখন traffic66 প্রতি
- মিনিটে interface counter পড়ে।
+Flow-এর সংখ্যা অনুমান (sample × sampling rate)। **ইন্টারফেস মিলানো** এগুলো
+ডিভাইসের interface counter-এর সাথে তুলনা করে (sFlow counter, অথবা নাম-এ একটি
+`snmp` লাইনের মাধ্যমে SNMP) এবং পার্থক্য কেন তা জানায়: কিছু interface sample
+হচ্ছে না, একই ট্রাফিক দুবার sample হচ্ছে, পথে loss, অথবা sampling rate অজানা।
+প্রতিটি interface-এর একটি bits/s ও একটি packets/s chart আছে, ingress সবুজ ও
+egress নীল, counter ড্যাশ রেখায়।
-সংখ্যা মেলাতে traffic66 আগে থেকেই যা করে: ডিভাইস আসলে যে sampling rate
-প্রয়োগ করেছে সেটিই ব্যবহার করে, sampling rate জানা না যাওয়া পর্যন্ত
-NetFlow/IPFIX record ধরে রাখে, পথে হারানো export packet-এর ক্ষতিপূরণ করে,
-লম্বা flow-কে যত মিনিট সেটি চলেছে সেই মিনিটগুলোতে ভাগ করে দেয়, এবং
-NetFlow/IPFIX byte count-এ প্রতি packet-এ 18 byte Ethernet overhead যোগ করে
-(interface counter-এ এটি থাকে, IP-layer flow count-এ থাকে না; `-l2-overhead`
-দিয়ে বদলান)।
+প্রতিটি row-এ **✎** একটি নাম ও একটি ছোট ট্যাগ (যেমন *uplink*) দেয়, আর **☆**
+এটিকে ডিফল্ট interface (★) করে, যেটিতে পেজগুলো খোলে।
-বাকি পার্থক্যের সাধারণ কারণ, সবই **ইন্টারফেস মিলানো**-তে জানানো হয়: কিছু
-interface sample হচ্ছে না, একই ট্রাফিক দুটি interface-এ sample হচ্ছে, export
-packet traffic66-এ পৌঁছানোর আগেই হারাচ্ছে, অথবা sampling rate এখনও জানা নেই।
+যে ডিভাইস শুধু কিছু interface sample করে, সেটি ওই flow-গুলোর অন্য প্রান্তও
+দেখায়। এই **বিপরীত ইন্টারফেস** তালিকার শেষে ছোট ধূসর লেখায় দেখানো হয়: তাদের
+সংখ্যায় শুধু স্যাম্পল করা interface দিয়ে যাওয়া ট্রাফিক থাকে। স্যাম্পল করা
+interface জানা যায় sFlow-এর data source বা flowDirection field (IPFIX 61)
+থেকে; তা না থাকলে, ডিভাইসের 90% ট্রাফিকে থাকা interface।
-
+
-## 7. নাম, SNMP ও আপনার নিজের নেটওয়ার্ক
+traffic66 আগে থেকেই ডিভাইস যে rate প্রয়োগ করেছে সেটি ব্যবহার করে, অজানা rate-এর
+জন্য অপেক্ষা করে, export loss-এর ক্ষতিপূরণ করে, লম্বা flow-কে তাদের মিনিটগুলোতে
+ভাগ করে দেয়, এবং NetFlow/IPFIX-এ প্রতি packet-এ 18 byte Ethernet overhead যোগ
+করে (`-l2-overhead`)।
-কোনো host বা ডিভাইসের নাম দেওয়ার সবচেয়ে দ্রুত উপায়: যেকোনো পেজে তার address-এ
-ক্লিক করে **নাম দিন…** বেছে নিন। নাম টাইপ করে Enter চাপুন; সেটি সঙ্গে সঙ্গে
-সেভ হয় এবং সব জায়গায় খালি address-এর বদলে দেখানো হয়।
+
-নেটওয়ার্ক, interface ও SNMP-এর জন্য **সেটিংস → নাম** ব্যবহার করুন: ধরন বেছে
-নিন (host, network, device, interface, SNMP), address ও নাম লিখুন, তারপর
-**যোগ করুন** ক্লিক করুন। নিচের table-এ প্রতিটি নাম **বদলান** ও **মুছুন** সহ
-দেখানো হয়; একই address আবার যোগ করলে পুরোনো entry বদলে যায়। সেভ করার আগে
-address ও নেটওয়ার্ক যাচাই করা হয়।
+## 7. নাম, দেশ ও threat list
-নামগুলো data directory-তে `inventory.txt` হিসেবে সেভ হয়, প্রতি লাইনে একটি
-entry। **টেক্সট হিসেবে সম্পাদনা (উন্নত)** ফাইলটি দেখায়, আর আপনি ফাইলটি
-সরাসরিও edit করতে পারেন (`inventory.txt.example` দেখুন)। প্রতিটি লাইন ঐচ্ছিক।
+যেকোনো address-এ ক্লিক করে **নাম দিন…** বেছে নিন, অথবা **সেটিংস → নাম**
+ব্যবহার করুন। নামগুলো data directory-র `inventory.txt`-এ থাকে:
```
-# your networks: traffic between them is "internal"
-net 10.10.0.0/16 Office LAN
-net 203.0.113.0/24 Public servers country=JP
-
-# device names; "unsampled" if it exports every packet (1:1),
-# sampling=N if it samples 1:N but does not say so in its export
-device 192.0.2.1 Core router
-device 192.0.2.9 Branch firewall unsampled
-device 192.0.2.20 Edge router sampling=1000
-
-# interface names, by device address and ifIndex; speed in bits per second,
-# tag= a short tag, default = the interface the pages open on (one only)
-iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
-
-# host names shown instead of addresses
-host 10.10.3.27 Finance PC
-
-# read interface counters over SNMPv2c (IF-MIB 64-bit counters)
-snmp 192.0.2.1 public
-snmp 192.0.2.9 s3cret 10.99.0.9:161
+net 10.10.0.0/16 Office LAN # your networks
+net 203.0.113.0/24 Public servers country=JP # country: lines on the world map
+device 192.0.2.1 Core router
+device 192.0.2.9 Branch firewall unsampled # exports every packet
+device 192.0.2.20 Edge router sampling=1000 # rate it does not declare
+iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
+host 10.10.3.27 Finance PC
+snmp 192.0.2.1 public # read counters over SNMPv2c
+snmp 192.0.2.9 s3cret 10.99.0.9:161 # other management address
```
-- `net`: private range (10/8, 172.16/12, 192.168/16, 100.64/10) সবসময় আপনার
- ধরা হয়। আপনার public range যোগ করুন যাতে সেগুলোতে আসা-যাওয়া ট্রাফিকও আপনার
- হিসেবে গোনা হয়; নামটি **শীর্ষ 66**-এ segment অনুযায়ী গ্রুপ করলে এবং network
- অনুযায়ী flow-এর পথে দেখা যায়। `country=JP` (দুই অক্ষরের দেশ কোড) বলে
- নেটওয়ার্কটি কোথায়; তখন বিশ্ব মানচিত্র সেখান থেকে যেসব দেশের সাথে সেটি কথা
- বলে সেদিকে রেখা আঁকে।
-- `snmp [[:port]]`: device হলো সেই
- address যেখান থেকে flow আসে। ডিভাইস অন্য address-এ SNMP-র উত্তর দিলে
- management address যোগ করুন। SNMP দিয়ে পড়া interface description নাম হিসেবে
- ব্যবহার হয়, যদি না আপনি `iface` দিয়ে interface-এর নাম দেন। ডিভাইসের SNMP
- access list-এ traffic66 মেশিনকে অনুমতি দিন।
-- **সংরক্ষণ**-এ ক্লিক করলেই পরিবর্তন কার্যকর হয়; restart লাগে না।
-
-
-
-## 8. দেশ, নেটওয়ার্ক ও threat list
-
-দেশ ও নেটওয়ার্ক (AS) শুরু থেকেই কাজ করে: traffic66-এ DB-IP-এর বিনামূল্যের **IP to Country Lite** ও **IP to ASN Lite** ডেটাবেস অন্তর্নির্মিত (লাইসেন্স [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); "IP Geolocation by DB-IP", [db-ip.com](https://db-ip.com))। দেশ ও নেটওয়ার্ক দেখানো পেজগুলো ডেটার উৎস জানায়।
-
-অন্তর্নির্মিত কপিটি আপনার চালানো রিলিজের সময়ের। DB-IP প্রতি মাসে নতুন সংস্করণ প্রকাশ করে; **সেটিংস → দেশ ও নেটওয়ার্ক ডেটাবেস → DB-IP Lite এখনই আপডেট করুন** db-ip.com থেকে সর্বশেষটি ডাউনলোড করে (traffic66 চালানো সার্ভারের ইন্টারনেট লাগবে; ব্যর্থ হলে ওয়েব UI জানায়)।
+private range সবসময় আপনার ধরা হয়। **সংরক্ষণ**-এ পরিবর্তন কার্যকর হয়, restart
+লাগে না।
-অন্য কোনো বিনামূল্যের ডেটাবেসও ব্যবহার করতে পারেন। সেটি ডাউনলোড করে একই পেজে **ডেটাবেস ফাইল আপলোড করুন…** দিয়ে আপলোড করুন। ফাইলটি যাচাই করে ডেটা ডিরেক্টরিতে রাখা হয় এবং সঙ্গে সঙ্গে নতুন ট্রাফিকে ব্যবহার হয়; রিস্টার্ট লাগে না। আগে সংরক্ষিত ট্রাফিক সংরক্ষণের সময়ের দেশই রাখে।
-
-| ডেটাবেস | যা দেয় | লাইসেন্স | কোথায় পাবেন |
-|---|---|---|---|
-| DB-IP Lite (অন্তর্নির্মিত) | দেশ; নেটওয়ার্ক | CC BY 4.0, অ্যাকাউন্ট লাগে না | [db-ip.com/db/lite.php](https://db-ip.com/db/lite.php) |
-| MaxMind GeoLite2 Country ও ASN, `.mmdb` | দেশ; নেটওয়ার্ক | GeoLite2 EULA, বিনামূল্যের অ্যাকাউন্ট | [maxmind.com](https://www.maxmind.com/en/geolite2/signup) |
-| IPinfo Lite, `ipinfo_lite.mmdb` | দেশ ও নেটওয়ার্ক একটি ফাইলে | CC BY-SA 4.0, বিনামূল্যের অ্যাকাউন্ট | [ipinfo.io/lite](https://ipinfo.io/lite) |
-| IPtoASN, `ip2asn-combined.tsv.gz` | নেটওয়ার্ক ও তাদের দেশ | PDDL 1.0, অ্যাকাউন্ট লাগে না | [iptoasn.com](https://iptoasn.com) |
-
-আপনার নিজের ফাইল আগে ব্যবহার হয়; যা তাতে নেই তা অন্তর্নির্মিত DB-IP Lite দেখে। ফাইলের পাশে **মুছুন** বাকিগুলোতে ফিরিয়ে দেয়। পেজে দেখা যায় কোনটি ব্যবহার হচ্ছে এবং প্রতিটি ডেটাবেসের তারিখ।
-
-ওয়েব UI ছাড়া, ফাইলটি ডেটা ডিরেক্টরিতে `country.mmdb`, `asn.mmdb`, `both.mmdb` (দেশ ও নেটওয়ার্ক একসাথে থাকা ফাইল, যেমন IPinfo Lite) বা `asn.tsv.gz` নামে কপি করে traffic66 রিস্টার্ট করুন।
-
-**ভূগোল ও নেটওয়ার্ক** অন্য দেশের সঙ্গে ট্রাফিক বিশ্ব মানচিত্রে দেখায়: দেশ যত গাঢ়, ট্রাফিক তত বেশি। কোনো দেশের ওপর পয়েন্টার রাখলে তার ট্রাফিক দেখা যায়; ক্লিক করে ফিল্টার করুন বা তার flow records খুলুন। আপনার নেটওয়ার্কের দেশ দেওয়া থাকলে (`net` লাইনে `country=`, [নাম](#7-names-snmp-and-your-own-networks) দেখুন), সেই দেশ থেকে যেসব দেশের সাথে ট্রাফিক আদান-প্রদান হয় সেদিকে রেখা যায়, ট্রাফিক যত বেশি রেখা তত মোটা। দেশের সীমানা [Natural Earth](https://www.naturalearthdata.com) (পাবলিক ডোমেইন) থেকে।
+দেশ ও নেটওয়ার্ক (AS) শুরু থেকেই কাজ করে DB-IP-এর বিনামূল্যের Lite
+ডেটাবেস দিয়ে ([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), "IP
+Geolocation by DB-IP", [db-ip.com](https://db-ip.com)); **সেটিংস** সেগুলো আপডেট
+করে, অথবা তার বদলে MaxMind GeoLite2, IPinfo Lite বা IPtoASN ফাইল নেয়। মানচিত্রের
+সীমানা: [Natural Earth](https://www.naturalearthdata.com)।

-Threat list হলো সাধারণ text ফাইল, প্রতি লাইনে একটি address বা নেটওয়ার্ক
-(`#` বা `;`-এর পরের লেখা উপেক্ষা করা হয়), সেভ করা হয়
-`/threats/.txt` হিসেবে, যেমন:
-
-```
-mkdir -p /threats
-curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamhaus-drop.txt
-```
-
-list যোগ বা পরিবর্তনের পর traffic66 restart করুন। match-গুলো
-**হুমকির তথ্য**-তে list-এর নাম অনুযায়ী দেখা যায়।
+Threat list হলো text ফাইল, প্রতি লাইনে একটি address বা নেটওয়ার্ক,
+`/threats/.txt`-এ (যেমন Spamhaus DROP); বদলানোর পর restart করুন।
+match-গুলো **হুমকির তথ্য**-তে দেখা যায়।

-
-
-## 9. web UI ব্যবহার
-
-খুব কমই কিছু টাইপ করতে হবে। প্রতিটি পেজের প্রতিটি value — address, port,
-application, দেশ, ডিভাইস — ক্লিক করা যায়:
+
-- **শুধু এটি দেখান** / **এটি বাদ দিন** একটি filter যোগ করে। Filter top bar-এর
- নিচে দেখা যায় এবং সরিয়ে না দেওয়া পর্যন্ত প্রতিটি পেজে প্রযোজ্য থাকে।
-- **এর ফ্লো রেকর্ড দেখুন** মিলে যাওয়া আলাদা আলাদা flow খোলে।
-- **বিস্তারিত দেখুন** (host, ডিভাইস ও service) ওই একটি host বা service সম্পর্কে
- একটি পেজ খোলে: সময়ের সাথে application অনুযায়ী তার ট্রাফিক, সে কার সাথে কথা
- বলে, কোন service বা client, দেশ এবং তার সর্বশেষ flow। সেখানকার প্রতিটি value
- আবার ক্লিক করা যায়, তাই আরও গভীরে যেতে পারেন; browser-এর Back বোতাম ফিরিয়ে
- আনে।
-- **নাম দিন…** (host ও ডিভাইস) address-টিকে একটি নাম দেয়, যা তারপর থেকে সব
- জায়গায় দেখানো হয়।
-- **অনলাইনে খুঁজুন** address বা AS কোনো public lookup সাইটে খোলে।
-- **কপি করুন** value-টি কপি করে।
+## 8. web UI ব্যবহার
-পেজ:
+প্রতিটি পেজের প্রতিটি value ক্লিক করা যায়: **শুধু এটি দেখান** / **এটি বাদ
+দিন** (filter প্রতিটি পেজে প্রযোজ্য), **এর ফ্লো রেকর্ড দেখুন**, **বিস্তারিত
+দেখুন** (একটি host বা service সম্পর্কে একটি পেজ), **নাম দিন…**, **অনলাইনে
+খুঁজুন**, **কপি করুন**।
-| পেজ | কোন প্রশ্নের উত্তর দেয় |
+| পেজ | কী দেখায় |
|---|---|
-| সারসংক্ষেপ | বেছে নেওয়া interface-এর (অথবা ডিফল্টের, নইলে সবচেয়ে ব্যস্তটির) bandwidth bits/s-এ, interface যেমন দেখে তেমন ingress ও egress; এখন কত ট্রাফিক, application অনুযায়ী (**মোট**, অথবা শুধু আপনার নেটওয়ার্কের **আগত** বা **বহির্গামী** ট্রাফিক), গতকাল একই সময়ের তুলনায় (এক দিন পর্যন্ত range), গত সপ্তাহের তুলনায় (এক সপ্তাহ পর্যন্ত) বা আগের দিনগুলোর তুলনায় (আরও লম্বা range), যখন সেই সময়ের ডেটা থাকে; খোলা সন্দেহজনক কার্যকলাপ; দিক ও protocol; শীর্ষ client ও service |
-| শীর্ষ 66 | **সারণি**-তে খোলে, শীর্ষ 66-এর একটি table: ডিফল্টভাবে conversation (client, server, service, দেশ)। যেকোনো column heading-এ sort হয়; সংখ্যার column (ট্রাফিক, প্যাকেট, গড় প্যাকেট, flow) সময়সীমার সব ট্রাফিক থেকে শীর্ষ 66 আবার বাছে, তাই সবচেয়ে ছোট গড় প্যাকেট দিয়ে scan ও flood ধরা পড়ে। **গ্রুপের ভিত্তি**-তে application, নেটওয়ার্ক, segment, ডিভাইস, encapsulation ও VLAN-এ যাওয়া যায়। **সবচেয়ে সক্রিয় হোস্ট** শীর্ষ 30টি client ও server পাশাপাশি দেখায়, ট্রাফিক, প্যাকেট ও flow record সহ, সব ট্রাফিকের একটি row-এর ওপরে |
-| ট্রাফিকের বিস্তারিত | দুটি ring chart। **সার্ভার ও ক্লায়েন্ট**: ভেতরের বলয়ে সবচেয়ে ব্যস্ত 8টি server, বাইরের বলয়ে প্রতিটির client; **ক্লায়েন্ট ভেতরে** এটি উল্টে দেয় (ভেতরে client, বাইরে প্রতিটির ব্যবহৃত server), কারণ প্রায়ই একটি দিক অন্যটির চেয়ে বেশি ব্যাখ্যা করে। **সেবা**: সবচেয়ে ব্যস্ত service-এর একটি বলয়। কোনো অংশের ওপর পয়েন্টার রাখলে তার ট্রাফিক দেখা যায়; অন্য যেকোনো value-এর মতো তাতে click করুন |
-| ট্রাফিকের পথ | কোন host কোন দেশের দিকে কোন application ব্যবহার করে: সবচেয়ে ব্যস্ত 8টি host, বাকিগুলো "অন্যান্য" হিসেবে। **ক্লায়েন্ট → সার্ভার** client → service → server দেখায়; **সেগমেন্ট অনুযায়ী** host-এর বদলে নেটওয়ার্ক দেখায়। লম্বা নাম 22 অক্ষরে ছোট করা হয়; পুরো নাম দেখতে তার ওপর পয়েন্টার রাখুন |
-| সন্দেহজনক কার্যকলাপ | কীসে নজর দিতে হবে: scan, পাসওয়ার্ড অনুমান, lateral movement, অস্বাভাবিক upload, flood আর threat list-এর ট্রাফিক ([আরও](#findings)) |
-| হুমকির তথ্য | যেসব host আপনার threat list-এর address-এর সাথে কথা বলেছে, এবং কতটা পাঠিয়েছে |
-| ভূগোল ও নেটওয়ার্ক | দেশ অনুযায়ী ট্রাফিকের বিশ্ব মানচিত্র, আপনার নেটওয়ার্ক থেকে রেখা সহ; যেসব নেটওয়ার্ক (AS) থেকে ট্রাফিক এসেছে ও যেখানে গেছে, সময়ের সাথে bits/s ও packets/s-এ; দেশ ও নেটওয়ার্ক অনুযায়ী ট্রাফিক |
-| সেটিংস | ডিভাইস, sampling, প্রতিটি ডিভাইস কোন interface স্যাম্পল করে ও flowDirection পাঠায় কি না, loss, collector, SNMP, দেশ ও নেটওয়ার্ক ডেটাবেস, লোগো, এবং **নাম** |
-| ইন্টারফেস মিলানো | সময়ের সাথে প্রতিটি interface-এর ট্রাফিক bits/s-এ এবং, নিচে, packets/s-এ, ingress (সবুজ) ও egress (নীল), ডিভাইসের counter ড্যাশ রেখা হিসেবে; flow-এর সংখ্যা counter থেকে কতটা দূরে, সবচেয়ে খারাপগুলো আগে, কারণসহ; প্রতিটি interface-এর জন্য একটি নাম, একটি ট্যাগ ও ডিফল্ট |
-| ফ্লো রেকর্ড | কতগুলো flow record ছিল এবং কখন (প্রতি interval-এ একটি bar), আর record-গুলো নিজেই, নতুনগুলো আগে, পেজ ধরে ধরে, বেছে নেওয়া যায় এমন column সহ। শেষ 15 মিনিট দিয়ে খোলে, প্রতি 5 সেকেন্ডে আপডেট হয়; অন্য পেজের কোনো value থেকে (**এর ফ্লো রেকর্ড দেখুন**) খুললে সেই পেজের সময়সীমা রাখে, আর **লাইভে ফিরুন** আবার লাইভে নিয়ে যায় |
-| ডেটা পরিষ্কার | 120, 90, 60, 30 বা 7 দিনের চেয়ে পুরোনো ডেটা, বা সব ডেটা মুছে দেয়, প্রতিটিতে কতটা জায়গা খালি হয় তা সহ ([আরও](#13-data-backup-upgrade-uninstall)) |
-| অফলাইন pcap বিশ্লেষণ | pcap, pcapng ক্যাপচার লাইভ ডেটা থেকে আলাদা করে বিশ্লেষণ ([আরও](#অফলাইন-pcap-বিশ্লেষণ)) |
-
-সাইড মেনু পেজগুলোকে চারটি গ্রুপে দেখায়: ট্রাফিক (সারসংক্ষেপ, শীর্ষ 66,
-ট্রাফিকের বিস্তারিত, ট্রাফিকের পথ, ইন্টারফেস মিলানো, ফ্লো রেকর্ড), নিরাপত্তা
-(সন্দেহজনক কার্যকলাপ, হুমকির তথ্য, ভূগোল ও নেটওয়ার্ক), সেটিংস ও অফলাইন pcap
-বিশ্লেষণ, এবং একেবারে নিচে ডেটা পরিষ্কার। লোগোর নিচে version এবং server-এর
-তারিখ ও সময় থাকে।
-
-ট্রাফিক পেজগুলোর (সারসংক্ষেপ, শীর্ষ 66, ট্রাফিকের বিস্তারিত, ট্রাফিকের পথ, ভূগোল ও
-নেটওয়ার্ক, ফ্লো রেকর্ড এবং কোনো value-এর বিস্তারিত) ওপরে **ইন্টারফেস** আছে:
-**সব ইন্টারফেস**, অথবা একটি interface, যাতে এই পেজগুলো শুধু সেটির মধ্য দিয়ে
-যাওয়া ট্রাফিক (আগত বা বহির্গামী) দেখায়। এতে স্যাম্পল ইন্টারফেসগুলো ডিভাইস অনুযায়ী
-দলে দেখানো হয়, এবং এটি ডিফল্ট interface (★, **ইন্টারফেস
-মিলানো**-তে ঠিক করা) দিয়ে শুরু হয় এবং বাছাইটি লিংকের অংশ। সন্দেহজনক কার্যকলাপ,
-হুমকির তথ্য, ইন্টারফেস মিলানো ও সেটিংস সবসময় সব ট্রাফিক দেখায়। 7 বা 30 দিনের
-জন্য একটি interface বাছলে পেজগুলো ঘণ্টা ও দিনের summary-র বদলে flow record
-পড়ে, তাই বেশি সময় নেয় এবং ততদূর পেছনে যায় যতদিন flow record রাখা হয়
-(ডিফল্টভাবে 30 দিন)।
-
-পেজগুলোর ওপরে: time range (15 মিনিট থেকে 30 দিন, অথবা যেকোনো শুরু ও শেষের
-জন্য **নিজের মতো…**, 30 দিনের চেয়ে আগেরও), প্রতি 30 সেকেন্ডে automatic
-refresh, এবং **লিংক কপি করুন**, যা ঠিক বর্তমান view-এর (পেজ, time range ও
-filter) link কপি করে, যাতে সহকর্মীকে পাঠানো যায়। **শীর্ষ 66** ও **ট্রাফিকের
-বিস্তারিত**-এ **ডিভাইস**, **ক্লায়েন্ট**, **সার্ভার** ও
-**সেবা** সময়সীমার সবচেয়ে ব্যস্ত value-গুলো দেখায়: filter করতে একটি বেছে নিন
-বা টাইপ করুন; তারপর box খালি না করা পর্যন্ত filter প্রতিটি পেজে প্রযোজ্য থাকে।
-ভাষা browser অনুযায়ী ঠিক হয়; menu-র নিচে, **লগ আউট**-এর ওপরে বদলান। **সেটিংস**, **ফ্লো রেকর্ড** (লাইভ
-থাকাকালীন), **ডেটা পরিষ্কার** ও **অফলাইন pcap বিশ্লেষণ**-এ কোনো সময়সীমা নেই।
-
-ভাষার পাশেই রঙের থিম, iOS-এর system রঙের আদলে: **হালকা** (ডিফল্ট),
-**ধূসর**, **কালো** (দেয়ালের স্ক্রিনের জন্য), **ফিরোজা** ও **কমলা**। প্রতিবার
-click করলে পরেরটিতে যায়; পছন্দটি browser-এ রাখা থাকে।
-
-সময়ের chart-গুলো সবচেয়ে বড় 8টি value নির্দিষ্ট রঙে আর বাকিগুলো "অন্যান্য"
-হিসেবে দেখায়; legend প্রতিটি value-এর মোট দেখায় এবং অন্য যেকোনো value-এর মতোই
-তাতে click করা যায়। client ও server-এর chart বাকি অংশ আঁকে না, কারণ হাজার
-হাজার host থাকলে তা শীর্ষ 8টিকে চ্যাপ্টা করে দিত; legend তবুও তার মোট দেখায়।
-
-chart-গুলো সেখানেই শেষ হয় যেখানে ডেটা সম্পূর্ণ: sFlow-এ চলতি মিনিটে,
-NetFlow ও IPFIX-এ একটু আগে, ডিভাইসগুলোর flow export করতে যতটা সময় লাগে
-ততটা (traffic66 তা মাপে; সর্বোচ্চ 2 মিনিট)।
-
-6 ঘণ্টার চেয়ে লম্বা range পূর্ণ ঘণ্টা থেকে শুরু হয়, যাতে পেজের প্রতিটি
-সংখ্যা ঠিক একই সময় গোনে: "24 ঘণ্টা" মানে শেষ 24টি পূর্ণ ঘণ্টা আর চলতি
-ঘণ্টা। এই range-গুলোতে শীর্ষ 66 আসে ঘণ্টাভিত্তিক summary থেকে; সেখানে filter
-পাওয়া যায় না, আর পেজেই তা বলা থাকে। filter করতে ছোট range বেছে নিন। কথোপকথন (conversation) সবসময় flow-এর বিস্তারিত
-তথ্য পড়ে, তাই উচ্চ flow rate-এ লম্বা range-এ কিছুটা সময় লাগতে পারে; এক ঘণ্টা সবচেয়ে দ্রুত।
-
-পাশের menu দেখায় data কতটা disk ব্যবহার করছে আর কতটা খালি আছে; খালি জায়গার
-ওপর hover করলে দেখা যায় বর্তমান হারে রাখা দিনগুলোর বিস্তারিত তথ্যের জন্য কতটা
-জায়গা লাগবে (এক দিনের data জমা হলে হিসাব করা হয়)।
-
-সাইন-ইন পেজে আর menu-র ওপরে নিজের লোগো দেখাতে
-**সেটিংস → লোগো → লোগো আপলোড করুন…** ব্যবহার করুন: PNG, SVG, JPEG, WebP বা GIF,
-1 MB পর্যন্ত, 272 × 92 pixel-এ সবচেয়ে ভালো (অন্য আকার মানিয়ে নিতে scale করা
-হয়)। **বিল্ট-ইন লোগোতে ফিরুন** দিয়ে traffic66-এর লোগোতে ফেরা যায়।
-
-
-
-### সন্দেহজনক কার্যকলাপ
-
-**সন্দেহজনক কার্যকলাপ** দেখায় traffic66 flow-এর মধ্যে কী পেয়েছে, সবচেয়ে
-গুরুতরগুলো আগে। এটি প্রতি 5 মিনিটে শেষ 10 মিনিট পরীক্ষা করে; যা এক ঘণ্টা ধরে
-চলে তা একটিই এন্ট্রি যা বাড়তে থাকে, প্রতিটি পরীক্ষায় নতুন নয়।
-
-| কার্যকলাপ | এর মানে | গুরুত্ব |
-|---|---|---|
-| স্ক্যান | একটি address এক port-এ অনেক address-এ ছোট probe পাঠিয়েছে (TCP বা ping) | আপনার নেটওয়ার্কের ভেতর থেকে হলে উচ্চ, ইন্টারনেট থেকে হলে নিম্ন |
-| পোর্ট স্ক্যান | একটি address একটি host-এর অনেক port-এ ছোট probe পাঠিয়েছে | ভেতর থেকে উচ্চ, ইন্টারনেট থেকে নিম্ন |
-| পাসওয়ার্ড অনুমান | একটি login service-এ (SSH, RDP, SMB, database এবং অন্যান্য) অনেক ছোট connection | ভেতর থেকে উচ্চ, ইন্টারনেট থেকে নিম্ন |
-| ল্যাটেরাল মুভমেন্ট | আপনার নেটওয়ার্কের ভেতরে, এমন host-এ file sharing বা remote administration session (SMB, RDP, SSH, WinRM, VNC) যারা আগে কখনো ওই service দেয়নি | উচ্চ |
-| অস্বাভাবিক আপলোড | একটি internal host যা পেয়েছে তার চেয়ে অনেক বেশি পাঠিয়েছে (10 মিনিটে 100 MB, পাওয়া ডেটার তিন গুণ) এমন address-এ যার সাথে আগে কখনো ডেটা আদান-প্রদান হয়নি | উচ্চ |
-| ফ্লাড | একটি address-এ প্রতি সেকেন্ডে 20,000 বা তার বেশি ছোট packet, তার স্বাভাবিক হারের দশ গুণ | মাঝারি |
-| হুমকি তালিকা | আপনার কোনো threat list-এর address-এর সাথে ট্রাফিক | আপনার host তার সাথে connect করলে উচ্চ, তালিকাভুক্ত address বাইরে থেকে কড়া নাড়লে নিম্ন |
-
-প্রতিটি এন্ট্রি জানায় কে কার সাথে কী করেছে, কখন এবং কতক্ষণ ধরে, পেছনের
-সংখ্যাগুলোসহ, আর ডেটা কীভাবে sample করা হয়েছিল। **বিস্তারিত** host-এর পেজ
-খোলে, যেখানে তার সম্পর্কে পাওয়া কার্যকলাপও তালিকাভুক্ত থাকে।
-**সমাধান হয়েছে** এন্ট্রিটি বন্ধ করে; আবার ঘটলে নতুন একটি খোলে। **সমস্যা নয়**
-এটিকে চিরতরে বন্ধ করে: এটি আর কখনো জানানো হয় না। পাশের menu-তে
-**সন্দেহজনক কার্যকলাপ**-এর পাশের লাল সংখ্যাটি শেষ 24 ঘণ্টার খোলা উচ্চ ও মাঝারি
-এন্ট্রি গোনে।
-
-ল্যাটেরাল মুভমেন্ট আর অস্বাভাবিক upload-এর জন্য জানা দরকার কোনটা স্বাভাবিক,
-তাই এক দিনের ইতিহাস জমা হলে তবেই এগুলো জানানো হয়। প্রথমবার চালু হলে traffic66
-আগে থেকে থাকা ইতিহাস থেকে শেখে।
-
-Sampled data (sFlow, sampled NetFlow)-এ নিয়মগুলো sample যা দেখায় তা গোনে এবং
-কম সংখ্যা চায়, কিন্তু তখন প্রতিটিকে একটি ছোট probe-এর মতো দেখাতে হয়, যাতে
-ব্যস্ত স্বাভাবিক host এগুলো চালু না করে। sampling যা লুকিয়ে ফেলে তা খুঁজে
-পাওয়া যায় না: 1:4096 sampling-এর পেছনে, কয়েক ডজন host-এর একটি scan এত কম
-packet পাঠায় যে দেখা যায় না। ডেমোর আক্রমণ এমন একটি switch দিয়ে যায় যা
-1:4096 হারে sample করে, এবং পুরোটাই ধরা পড়ে; ডেমোর এক দিনের স্বাভাবিক ট্রাফিক
-থেকে কোনো কার্যকলাপ ধরা পড়ে না, শুধু website-এ কড়া নাড়া internet scanner
-ছাড়া।
-
-
+| সারসংক্ষেপ | বেছে নেওয়া interface-এর bandwidth; গতকাল বা গত সপ্তাহের তুলনায় application অনুযায়ী ট্রাফিক (মোট, আগত বা বহির্গামী); খোলা সন্দেহজনক কার্যকলাপ; শীর্ষ client ও service |
+| শীর্ষ 66 | শীর্ষ 66টি conversation, যেকোনো column অনুযায়ী sort করা যায়, অথবা application, নেটওয়ার্ক, segment, ডিভাইস, encapsulation, VLAN অনুযায়ী গ্রুপ করা; শীর্ষ 30 সবচেয়ে সক্রিয় host |
+| ট্রাফিকের বিস্তারিত | Ring chart: server ও তাদের client (বা উল্টোটা), এবং service |
+| ট্রাফিকের পথ | host → application → দেশ, অথবা client → service → server, অথবা নেটওয়ার্ক অনুযায়ী |
+| ইন্টারফেস মিলানো | সময়ের সাথে প্রতিটি interface তার counter-এর বিপরীতে; নাম, ট্যাগ, ডিফল্ট |
+| ফ্লো রেকর্ড | আলাদা আলাদা flow, প্রতি 5 সেকেন্ডে live বা যেকোনো সময়সীমার জন্য |
+| সন্দেহজনক কার্যকলাপ, হুমকির তথ্য | কীসে নজর দিতে হবে ([নিচে](#findings)); তালিকাভুক্ত address-এর সাথে ট্রাফিক |
+| ভূগোল ও নেটওয়ার্ক | দেশ অনুযায়ী বিশ্ব মানচিত্র, সময়ের সাথে নেটওয়ার্ক (AS) |
+| সেটিংস | ডিভাইস, sampling, loss, SNMP, ডেটাবেস, লোগো, নাম |
+| অফলাইন pcap বিশ্লেষণ, ডেটা পরিষ্কার | ক্যাপচার ফাইল ([নিচে](#9-offline-pcap-terminal-ui-local-capture)); পুরোনো ডেটা মোছা |
+
+পেজগুলোর ওপরে: **ইন্টারফেস** (সব, অথবা একটি স্যাম্পল করা interface; তখন
+ট্রাফিক পেজগুলো শুধু সেটির মধ্য দিয়ে যাওয়া ট্রাফিক দেখায়), time range (15
+মিনিট থেকে 30 দিন, বা নিজের মতো), প্রতি 30 s-এ refresh এবং ঠিক বর্তমান view-এর
+জন্য **লিংক কপি করুন**। ভাষা ও পাঁচটি রঙের থিম menu-র নিচে থাকে। Chart
+সেখানেই শেষ হয় যেখানে ডেটা সম্পূর্ণ: NetFlow/IPFIX-এ ডিভাইসগুলো যতটা দেরিতে
+export করে ততটা (সর্বোচ্চ 2 মিনিট)। 6 ঘণ্টার চেয়ে লম্বা range পূর্ণ ঘণ্টা থেকে
+শুরু হয়; 7 বা 30 দিনের জন্য একটি interface flow detail পড়ে, তাই বেশি সময় নেয়
+এবং ততদূর পেছনে যায় যতদিন detail রাখা হয়।

@@ -827,359 +312,118 @@ packet পাঠায় যে দেখা যায় না। ডেম

-একই সারসংক্ষেপ চীনা ভাষায়; প্রতিটি পেজ 13টি ভাষায় পাওয়া যায়:
-

-
-
-### অফলাইন pcap বিশ্লেষণ
-
-**অফলাইন pcap বিশ্লেষণ** Wireshark বা tcpdump-এর ক্যাপচার লাইভ ডেটার মতো একই পেজে দেখায়, তবে মেশায় না।
-
-এটি সব প্যাকেটকে ফ্লো-তে সংক্ষেপ করে: কে কার সঙ্গে, কতটা, কখন কথা বলেছে, আর কোনটা আক্রমণের মতো দেখায়। এটি প্রোটোকল ডিকোড করে না বা প্যাকেটের বিষয়বস্তু দেখায় না; একটি প্যাকেট বা একটি TCP স্ট্রিম দেখতে Wireshark ব্যবহার করুন।
-
-কমান্ড লাইন থেকে, কোনো সেটআপ ছাড়াই:
+
-```
-traffic66 office.pcap
-traffic66 a.pcap b.pcapng c.pcap
-```
+### সন্দেহজনক কার্যকলাপ
-traffic66 শুধু এই কম্পিউটারে (127.0.0.1, একটি ফাঁকা পোর্ট) চালু হয়, ঠিকানা, পাসওয়ার্ড ও একবার ব্যবহারযোগ্য সাইন-ইন লিংক দেখায় এবং ব্রাউজারে ক্যাপচার খোলে। সর্বোচ্চ 3টি ফাইল, মোট 3 GB; ফাইলগুলো যেখানে আছে সেখান থেকেই পড়া হয়, কখনো বদলানো হয় না। কিছুই সংগ্রহ বা পাঠানো হয় না, আর হোস্ট নামও খোঁজা হয় না (`-dns` দিয়ে চালু করুন)। Ctrl+C বন্ধ করে এবং ইমপোর্ট করা ডেটা মুছে দেয়। 2-কোর মেশিনে 1 GB ক্যাপচার প্রায় 5 সেকেন্ড (12 লাখ পূর্ণ আকারের প্যাকেট) থেকে 30 সেকেন্ডে (1.4 কোটি ছোট প্যাকেট) তৈরি হয়।
+প্রতি 5 মিনিটে শেষ 10 মিনিট পরীক্ষা করা হয়; যা এক ঘণ্টা ধরে চলে তা একটিই
+এন্ট্রি যা বাড়তে থাকে।
-```
-$ traffic66 office.pcap
+| কার্যকলাপ | এর মানে |
+|---|---|
+| স্ক্যান, পোর্ট স্ক্যান | এক port-এ অনেক host-এ, অথবা একটি host-এর অনেক port-এ ছোট probe |
+| পাসওয়ার্ড অনুমান | একটি login service-এ অনেক ছোট connection |
+| ল্যাটেরাল মুভমেন্ট | এমন internal host-এ file sharing বা remote administration, যারা আগে কখনো তা দেয়নি |
+| অস্বাভাবিক আপলোড | একটি নতুন address-এ 10 মিনিটে 100 MB, ফিরে আসা ডেটার তিন গুণ |
+| ফ্লাড | একটি address-এ প্রতি সেকেন্ডে 20,000+ ছোট packet, তার স্বাভাবিক হারের দশ গুণ |
+| হুমকি তালিকা | তালিকাভুক্ত address-এর সাথে ট্রাফিক |
+
+আপনার নেটওয়ার্কের ভেতর থেকে হলে এগুলো উচ্চ, ইন্টারনেট থেকে হলে নিম্ন।
+**সমাধান হয়েছে** এন্ট্রিটি বন্ধ করে, **সমস্যা নয়** এটিকে চিরতরে বন্ধ করে।
+ল্যাটেরাল মুভমেন্ট ও আপলোডের জন্য এক দিনের ইতিহাস লাগে। 1:4096 sampling-এর
+মধ্য দিয়েও ডেমোর আক্রমণ পুরোটাই ধরা পড়ে; খুব ছোট scan sampling-এর পেছনে
+লুকিয়ে থাকতে পারে।
-traffic66 0.3.1: analysing 1 capture file(s); nothing is collected or sent
- Web UI http://127.0.0.1:38217 (port 38217, this computer only)
- Sign in user admin, password gfhfhbuutz2e
- Open http://127.0.0.1:38217/auto?t=b9388f… (signs in once)
- Stop Ctrl+C; the imported data is deleted, your files are kept
-```
+
-চলমান traffic66-এর ওয়েব UI-তে:
+
-1. **ক্যাপচার ফাইল আপলোড করুন…**: `.pcap` বা `.pcapng`, সংকুচিত নয়। সর্বোচ্চ 3টি ফাইল, প্রতিটি 50 MB পর্যন্ত। ফাইলগুলো ফ্লো-তে রূপান্তরিত হয়ে আলাদা ডেটাবেসে (`/sandbox/`) যায়; লাইভ ডেটা, তার হিসাব ও ফলাফল বদলায় না।
-2. **বিশ্লেষণ**: সব পেজ (সংক্ষেপ, Top 66, ট্রাফিকের বিস্তারিত, ফলাফল, ফ্লো পথ, মানচিত্র, ফ্লো রেকর্ড) ক্যাপচারের পুরো সময় দেখায়। কমলা ব্যানারে ফাইলের নাম থাকে; **লাইভ ডেটায় ফিরুন** দিয়ে ফিরুন। প্রতিটি ফাইল একটি ডিভাইস হিসেবে দেখায়, তাই **ডিভাইস** বক্সে একটি করে ফাইল দেখা যায়।
-3. শনাক্তকরণের নিয়মগুলো ক্যাপচারেও চলে: স্ক্যান, পোর্ট স্ক্যান ও পাসওয়ার্ড অনুমান **সন্দেহজনক কার্যকলাপ**-এ আসে। যেসব নিয়মে এক দিনের ইতিহাস লাগে (ল্যাটারাল মুভমেন্ট, অস্বাভাবিক আপলোড) সেগুলো ক্যাপচারে প্রযোজ্য নয়।
-4. **মুছুন** একটি ফাইল ও তার ডেটা মুছে দেয়; **সব মুছুন** সব মুছে দেয়।
+## 9. অফলাইন pcap, terminal UI, local capture
-ডেমোতে আক্রমণসহ একটি উদাহরণ ক্যাপচার আছে।
+**অফলাইন pcap বিশ্লেষণ** প্যাকেট ক্যাপচার (pcap, pcapng) একই পেজে দেখায়, লাইভ
+ডেটা থেকে আলাদা রেখে: `traffic66 a.pcap b.pcapng` 127.0.0.1-এ চালু হয় এবং
+browser খোলে (সর্বোচ্চ 3টি ফাইল, 3 GB; Ctrl+C ইমপোর্ট করা ডেটা মুছে দেয়),
+অথবা ওই পেজে 50 MB পর্যন্ত 3টি ফাইল আপলোড করুন। এটি flow নিয়ে কাজ করে,
+প্যাকেটের বিষয়বস্তু নিয়ে নয়।

-## 10. Terminal UI
-
-```
-traffic66 tui # traffic66 on this machine
-traffic66 tui -server http://192.0.2.50:8066 -user admin -password …
-traffic66 -tui # collect and show the terminal UI in one process
-```
-
-traffic66 মেশিনে `traffic66 tui` data directory পড়তে পারলে নিজেই সাইন ইন করে
-নেয় (ডিফল্ট না হলে `-data` দিন)। traffic66 অন্য ইউজার হিসেবে চললে, যেমন
-service হিসেবে চলে, তার বদলে `-user` ও `-password` ব্যবহার করুন। `-lang`
-ভাষা বেছে নেয় (`en`, `zh`, `hi`,
-`es`, `ar`, `fr`, `bn`, `pt`, `ru`, `id`, `ur`, `ja`, `ko`)।
-
-Key: 1–8 পেজ, ↑↓ বাছাই, Enter বাছাই করা value-র action, f শুধু এটি দেখান,
-x বাদ দিন, / search, t time range, c filter মুছুন, w একই view browser-এ খুলুন,
-q বেরিয়ে যান।
+**Terminal UI**: traffic66 মেশিনে `traffic66 tui`, অথবা
+`traffic66 tui -server http://192.0.2.50:8066 -user admin -password …`।
+Key: 1–8 পেজ, Enter action, f শুধু এটি দেখান, x বাদ দিন, t time range, w
+browser-এ খুলুন, q বেরিয়ে যান; `-lang` ভাষা বেছে নেয়।


-
-
-## 11. Local capture
-
-Flow export গ্রহণ করা ছাড়াও traffic66 যে মেশিনে চলে তার কোনো network
-interface-এর packet থেকে নিজেই flow তৈরি করতে পারে। সে কী দেখতে পায় তা
-interface-এর ওপর নির্ভর করে:
-
-| Interface | traffic66 কী দেখে |
-|---|---|
-| switch-এর mirror (SPAN) port-এ যুক্ত একটি অতিরিক্ত network port | switch যত ট্রাফিক mirror করে সবই: পুরো একটি নেটওয়ার্ক বা uplink |
-| মেশিনের নিজের Ethernet বা Wi-Fi | শুধু এই মেশিনের নিজের ট্রাফিক |
-
-Wi-Fi adapter অন্য ডিভাইসের ট্রাফিক দেখতে পায় না। পুরো একটি Wi-Fi নেটওয়ার্ক
-দেখতে চাইলে router বা access point থেকে flow export করান (সেকশন 4), অথবা
-access point যে switch port-এ যুক্ত, সেটি mirror করুন।
-
-
-
-### Windows
-
-1. [Npcap](https://npcap.com) তার default option দিয়েই ইনস্টল করুন। যদি
- "Restrict Npcap driver's access to Administrators only" টিক দেন, তাহলে
- traffic66 Administrator হিসেবে চালান।
-2. Interface-এর তালিকা দেখুন (PowerShell):
-
- ```
- C:\traffic66\traffic66.exe interfaces
- ```
-
- ```
- # Name Address Adapter / device
- 1 Ethernet - Intel(R) Ethernet I219-V \Device\NPF_{4B8A2C1E-…}
- 2 Wi-Fi 192.168.1.23 Intel(R) Wi-Fi 6 AX201 \Device\NPF_{9F00AA11-…}
- 3 Loopback - Adapter for loopback traffic capture \Device\NPF_Loopback
- ```
-
- Name column হলো Windows-এর network settings-এ connection-এর নাম; যে
- interface ব্যবহার হচ্ছে, তার একটি address থাকে।
-3. Wi-Fi-তে capture করুন, নাম বা নম্বর দিয়ে:
-
- ```
- C:\traffic66\traffic66.exe -capture Wi-Fi
- C:\traffic66\traffic66.exe -capture 2
- ```
-
- নামে space থাকলে quote-এর মধ্যে লিখুন: `-capture "Ethernet 2"`। একাধিক
- interface-এ capture করতে `-capture` বারবার দিন। শুধু capture চাইলে, কোনো
- flow collector ছাড়া, `-listen=` যোগ করুন। সেকশন 2-এর startup task-এর জন্য
- option-টি `-Argument`-এ যোগ করুন:
- `-Argument '-data C:\traffic66\traffic66-data -capture Wi-Fi'`।
-
-
-
-### Linux
+**Local capture** একটি local interface থেকে flow তৈরি করে, সবচেয়ে ভালো হয়
+switch-এর mirror port-এ যুক্ত একটি port: `traffic66 interfaces` সেগুলোর তালিকা
+দেয়, `-capture eth1` (অথবা Windows-এর নাম বা নম্বর) capture করে। Linux-এ root
+বা `setcap cap_net_raw,cap_net_admin+ep` লাগে, macOS-এ root, Windows-এ
+[Npcap](https://npcap.com)। capture করা flow ডিভাইস `127.0.0.1` থেকে আসে।
-```
-traffic66 interfaces
-sudo setcap cap_net_raw,cap_net_admin+ep /opt/traffic66/traffic66
-traffic66 -capture eth1
-```
-
-Capture-এর জন্য root লাগে, অথবা `CAP_NET_RAW` ও `CAP_NET_ADMIN` capability:
-ওপরের `setcap` লাইন, অথবা সেকশন 2-এর systemd unit-এর `AmbientCapabilities`
-লাইন। Wi-Fi interface-এর নাম সাধারণত `wlan0` বা `wlp…` হয়।
-
-
-
-### macOS
-
-```
-traffic66 interfaces
-sudo traffic66 -capture en0
-```
-
-Capture-এর জন্য root লাগে; কিছু ইনস্টল করতে হয় না। MacBook-এ `en0` হলো Wi-Fi।
-
-
-
-### কাজ করছে কি না যাচাই করুন
-
-**সেটিংস** প্রতিটি capture করা interface দেখায়, capture method আর দেখা packet-এর
-সংখ্যাসহ। Flow-গুলো ডিভাইস `127.0.0.1` (এই মেশিন) থেকে আসছে বলে দেখায়,
-প্রতিটি পেজে, অন্য যেকোনো ডিভাইসের মতোই। দুবার দেখা packet (যেমন দুটি mirror
-port-এ) দুবার গোনা হয়।
-
-
+
-## 12. অপশন
+## 10. অপশন ও ডেটা
-`traffic66 -h` ও `traffic66 -h` সবকিছুর তালিকা দেয়।
-
-কমান্ড:
-
-| কমান্ড | |
-|---|---|
-| `traffic66` | flow সংগ্রহ করে ও web UI চালায় |
-| `traffic66 demo` | একই, একটি simulated নেটওয়ার্ক সহ |
-| `traffic66 tui` | চলমান traffic66-এর জন্য terminal UI |
-| `traffic66 passwd` | ইউজার যোগ করে, বদলায়, তালিকা দেখায় বা মুছে ফেলে (দেখুন [ইউজার ও পাসওয়ার্ড](#3-users-and-passwords)) |
-| `traffic66 simulate -to HOST` | কোনো collector-এ simulated export পাঠায় |
-| `traffic66 interfaces` | local capture-এর জন্য interface-এর তালিকা |
-| `traffic66 version` | version প্রিন্ট করে |
-
-`traffic66` ও `traffic66 demo`-এর অপশন:
+`traffic66 -h` সবকিছুর তালিকা দেয়। সবচেয়ে বেশি ব্যবহৃত:
| অপশন | ডিফল্ট | |
|---|---|---|
-| `-addr` | `:8066` | web UI-র address; শুধু এই মেশিনের জন্য `127.0.0.1:8066` |
| `-data` | প্রোগ্রামের পাশে `traffic66-data` | data directory |
-| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | UDP collector, `name=address` আকারে, comma দিয়ে আলাদা; খালি রাখলে বন্ধ |
-| `-user` | `admin` | প্রথম চালুতে তৈরি হওয়া ইউজারের নাম, এবং যে ইউজারের ক্ষেত্রে `-password` প্রযোজ্য |
-| `-password` | সেট করা নেই | এই run-এ শুধু এই পাসওয়ার্ডসহ `-user`-কে গ্রহণ করে, `password` ফাইল উপেক্ষা করে (`TRAFFIC66_PASSWORD`-ও) |
-| `-retention-days` | `30` | কত দিনের flow detail রাখা হবে; summary 400 দিন রাখা হয় |
-| `-memory` | `0.10` | physical memory-র কত অংশ database cache-এর জন্য, আর বাকি প্রোগ্রামের জন্য সমপরিমাণ soft limit (প্রতিটি অন্তত 256 MB) |
-| `-l2-overhead` | `18` | NetFlow/IPFIX byte count-এ প্রতি packet-এ যোগ করা byte |
+| `-addr` | `:8066` | web UI; শুধু এই মেশিনের জন্য `127.0.0.1:8066` |
+| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | UDP collector; খালি রাখলে বন্ধ |
+| `-retention-days` | `30` | কত দিনের flow detail; summary 400 দিন রাখা হয় |
+| `-memory` | `0.10` | database cache-এর জন্য RAM-এর অংশ |
| `-sampling-wait` | `5m` | record কতক্ষণ sampling rate-এর জন্য অপেক্ষা করবে |
-| `-capture` | | local interface-এ capture (একাধিকবার দেওয়া যায়) |
-| `-inventory` | `/inventory.txt` | নামের ফাইল |
-| `-asn` | `/asn.tsv.gz` | IP-to-ASN table (`.mmdb` ফাইল: সেগুলো আপলোড করুন, অথবা `/country.mmdb` ও `/asn.mmdb`, `/both.mmdb`) |
-| `-threat` | `/threats/*.txt` | অতিরিক্ত threat list, `name=path` আকারে (একাধিকবার দেওয়া যায়) |
-| `-dns-upstream` | system resolver | host name দেখানোর জন্য DNS server |
-| `-dns-rate` | `20` | প্রতি সেকেন্ডে সর্বোচ্চ reverse lookup |
-| `-dns-cache` | `2m` | host name কতক্ষণ cache-এ থাকবে |
+| `-capture` | | local interface (একাধিকবার দেওয়া যায়) |
| `-no-dns` | | কোনো reverse lookup নয় |
-| `-tui` | | সাথে terminal UI-ও খোলে |
-উদাহরণ: দ্বিতীয় একটি collector port, এক বছরের detail, আর web UI শুধু local
-মেশিনে:
+data directory-তে থাকে `raw/` (detail, প্রতি ঘণ্টায় একটি ফাইল),
+`traffic66.duckdb` (summary ও counter), `password`, `inventory.txt`,
+`license.json`, আপনার লোগো ও ডেটাবেস। ব্যাকআপ: traffic66 বন্ধ করে directory কপি
+করুন; আপগ্রেড: প্রোগ্রাম ফাইল বদলে দিন। **ডেটা পরিষ্কার** 7–120 দিনের চেয়ে
+পুরোনো ডেটা, বা সব ডেটা মুছে দেয়।
-```
-traffic66 -data /var/lib/traffic66 -listen "sflow=:6343,netflow=:2055,ipfix=:4739,netflow=:9995" -retention-days 365 -addr 127.0.0.1:8066
-```
+
-
+### লাইসেন্স
-## 13. ডেটা, ব্যাকআপ, আপগ্রেড, আনইনস্টল
+[PolyForm Noncommercial License 1.0.0](../LICENSE.md) এবং
+[Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md)-এর অধীনে source
+available (ইংরেজি পাঠ বাধ্যতামূলক): মূল্যায়নের জন্য এবং 100 জনের কম মানুষের
+প্রতিষ্ঠানের জন্য বিনামূল্যে; বড় প্রতিষ্ঠান production ব্যবহারের 30 দিন পরে
+নিবন্ধন করে; বিক্রি করা, অন্যদের জন্য host করা বা প্রতিদ্বন্দ্বী পণ্যের জন্য
+বাণিজ্যিক লাইসেন্স লাগে। কোনো কিছুই কখনো বন্ধ করা হয় না। প্রতিটি পেজের নিচে 8
+অঙ্কের ইনস্টলেশন নম্বর দেখায়; সেটি লেখককে পাঠান, আর যে `license.json` ফেরত
+পাবেন তা data directory-তে রাখুন। যোগাযোগ:
+।
-সবকিছু data directory-তে থাকে:
+
-| | |
-|---|---|
-| `raw/` | flow detail, প্রতি ঘণ্টায় একটি compressed ফাইল |
-| `traffic66.duckdb` | summary, interface counter ও চলতি ঘণ্টা |
-| `password` | login পাসওয়ার্ড (hashed) |
-| `inventory.txt` | নাম (**সেটিংস → নাম**) |
-| `license.json` | ইনস্টলেশন নম্বর ও লাইসেন্স ([ট্রায়াল ও লাইসেন্স](#trial-and-licence) দেখুন) |
-| `logo.png` (বা `.svg`, `.jpg`, `.webp`, `.gif`) | আপনার লোগো (**সেটিংস → লোগো**), যদি আপলোড করে থাকেন |
-| `country.mmdb`, `asn.mmdb`, `both.mmdb`, `asn.tsv.gz`, `dbip-country.mmdb`, `dbip-asn.mmdb`, `threats/`, `sandbox/` | আপনার যোগ করা দেশ ও নেটওয়ার্ক database এবং threat list |
-
-**ডেটা কতদিন রাখা হয়**: flow detail 30 দিন, summary (overview ও দীর্ঘ সময়সীমা) 400 দিন। এর চেয়ে পুরোনো ডেটা
-নিজে থেকেই মুছে যায়, প্রতি 5 মিনিটে যাচাই হয়; এ ছাড়া কিছু মোছা হয় না এবং অন্য কোনো সীমা নেই। detail-এর মেয়াদ
-`-retention-days` দিয়ে বদলান, যত দিন খুশি, যেমন `-retention-days 365`। ডিস্কের ব্যবহারও সেই অনুযায়ী বাড়ে:
-রাখা দিনগুলো না ধরলে সাইড মেনুর **খালি** লাল হয়ে যায়। ডিস্ক ভরে গেলে জায়গা খালি না হওয়া পর্যন্ত নতুন flow
-সংরক্ষণ করা যায় না।
-
-সাইড মেনুর **ডেটা পরিষ্কার** দরকার পড়ার আগেই ডেটা মুছে দেয়: 120, 90, 60, 30
-বা 7 দিনের চেয়ে পুরোনো, বা সব ডেটা। প্রতিটি বিকল্পে কতগুলো flow record মুছবে
-আর মোটামুটি কত ডিস্ক খালি হবে তা দেখায়, এবং মোছার আগে জিজ্ঞেস করে। flow
-record, ঘণ্টা ও দিনের summary, interface counter ও সন্দেহজনক কার্যকলাপ মুছে
-যায়; সব ডেটা মুছলে detection rule যা শিখেছে তাও reset হয়। এটি ফেরানো যায় না।
-
-- **ব্যাকআপ**: traffic66 বন্ধ করে directory কপি করুন। বন্ধ না করে কপি করলে
- `raw/`, `password` ও `inventory.txt` কপি করুন; তখন চলতি ঘণ্টা আর summary বাদ
- পড়ে।
-- **সরানো**: traffic66 বন্ধ করুন, directory সরান, নতুন জায়গার দিকে নির্দেশ করা
- `-data` দিয়ে চালু করুন।
-- **আপগ্রেড**: traffic66 বন্ধ করুন, প্রোগ্রাম ফাইল বদলান, আবার চালু করুন।
- ডেটা থেকে যায়। যেমন Linux-এ:
-
- ```
- sudo systemctl stop traffic66
- sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
- sudo systemctl start traffic66
- ```
-
-- **আনইনস্টল**: service বা startup task বন্ধ করে সরিয়ে দিন
- ([ইনস্টল](#2-install) দেখুন), তারপর প্রোগ্রাম ফোল্ডার ও data directory মুছে
- দিন।
-
-
-
-### ট্রায়াল ও লাইসেন্স
-
-traffic66 [PolyForm Noncommercial License 1.0.0](../LICENSE.md) এবং
-[Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md)-এর অধীনে
-source available; দুটিরই ইংরেজি পাঠ বাধ্যতামূলক। সংক্ষেপে:
-
-- **মূল্যায়ন**, পরীক্ষা, ডেভেলপমেন্ট ও ডেমো: সবার জন্য বিনামূল্যে, কোনো
- সময়সীমা ছাড়া।
-- 100 জনের কম কর্মী ও কন্ট্রাক্টর আছে এমন প্রতিষ্ঠানের **production
- ব্যবহার** (আসল ট্রাফিক, প্রতিষ্ঠানের কাজের জন্য): বিনামূল্যে।
-- **বড় প্রতিষ্ঠানের** production ব্যবহার: 30 দিন বিনামূল্যে, তারপর লেখকের
- কাছ থেকে একটি নিবন্ধন লাইসেন্স লাগবে।
-- কন্ট্রাক্টর ও সেবা প্রদানকারীরা কোনো গ্রাহকের জন্য, সেই গ্রাহকের নিজস্ব
- deployment-এ এটি চালাতে পারেন; তখন গ্রাহকের আকারই বিবেচ্য।
-- বাণিজ্যিক লাইসেন্স ছাড়া অনুমোদিত নয়: এটি বিক্রি করা বা কোনো পণ্যে যুক্ত
- করা, hosted বা multi-tenant সেবা হিসেবে অন্যদের দেওয়া, অথবা প্রতিদ্বন্দ্বী
- পণ্য।
-
-নিবন্ধন লাইসেন্সের ফি, পরিধি ও মেয়াদ প্রতিটি ক্ষেত্রে আলাদাভাবে ঠিক হয়, এবং
-এটি বিনামূল্যেও হতে পারে। যোগাযোগ: ।
-
-প্রতিটি ইনস্টলেশনে ট্রায়াল দেখায়, যেখানে লাইসেন্স লাগে না সেখানেও। প্রথমবার
-চালু হলে traffic66 data directory-তে
-8 অঙ্কের ইনস্টলেশন নম্বর সহ `license.json` লেখে। প্রতিটি পেজের নিচে ট্রায়ালের
-কত দিন বাকি তা দেখায়, তারপর ট্রায়াল শেষ হয়েছে বলে দেখায়। কোনো অবস্থাতেই
-কিছু বন্ধ হয় না: সব feature চলতে থাকে।
-
-নিবন্ধন করতে লেখককে ইনস্টলেশন নম্বরটি পাঠান (এটি প্রতিটি পেজের নিচেও দেখা
-যায়)। লাইসেন্স একটি নতুন `license.json` হিসেবে ফিরে আসে; পুরোনোটির জায়গায়
-সেটি data directory-তে রাখুন। traffic66 চালু হওয়ার সময় এবং প্রতি 4 ঘণ্টায়
-এটি যাচাই হয়, তাই restart লাগে না; তারপর পেজের নিচে দেখায় কার নামে লাইসেন্স
-এবং কত দিন বাকি।
-
-
-
-## 14. নিরাপত্তা
-
-- web UI সাধারণ HTTP ব্যবহার করে: পাসওয়ার্ড ও ডেটা encryption ছাড়াই নেটওয়ার্ক
- দিয়ে যায়। যে নেটওয়ার্কে পুরো ভরসা নেই, সেখানে শুধু এই মেশিনে শুনুন
- (`-addr 127.0.0.1:8066`) এবং সামনে একটি TLS reverse proxy বসান, যেমন
- [Caddy](https://caddyserver.com) দিয়ে:
- `caddy reverse-proxy --from traffic66.example.com --to 127.0.0.1:8066`।
- অথবা VPN বা SSH tunnel দিয়ে ঢুকুন:
- `ssh -L 8066:127.0.0.1:8066 user@192.0.2.50`, তারপর
- http://127.0.0.1:8066 খুলুন।
-- UDP collector port শুধু আপনার ডিভাইসগুলোর address থেকে অনুমতি দিন।
-- `inventory.txt`-এ SNMP community সাধারণ লেখায় (clear text) থাকে; read-only
- community ব্যবহার করুন।
-
-
-
-## 15. সক্ষমতার হিসাব
-
-2-core মেশিনে প্রতি সেকেন্ডে 5,000 flow-এ মাপা হয়েছে: detail প্রতিদিন প্রায়
-12 GB disk নেয়, সাথে চলতি ঘণ্টার জন্য প্রায় 1.5 GB; প্রোগ্রাম নেয় একটি
-core-এর ছয় ভাগের এক ভাগ। লম্বা time range-এর overview আসে
-summary থেকে এবং 0.2 s-এর কম সময় নেয়। detail-এর ওপর query প্রতি ঘণ্টায় প্রায়
-2 কোটি 20 লাখ row scan করে: 1 ঘণ্টায় একটি host 1 s-এর কম, সব conversation-এর
-1 ঘণ্টার Top 66 প্রায় 9 s; সময় range-এর সাথে বাড়ে আর বেশি core-এ কমে।
-
-তাই 5,000 flows/s-এ 30 দিনের জন্য disk প্রায় 360 GB; আপনার flow rate
-(**সেটিংস**-এ দেখা যায়) ও `-retention-days` অনুযায়ী আনুপাতিক হিসাব করুন।
-
-Memory: `-memory` (ডিফল্ট RAM-এর 10%, অন্তত 256 MB) database cache সীমিত
-করে, আর বাকি প্রোগ্রাম একই আকারের soft limit পায়। প্রতি সেকেন্ডে 5,000
-flow-এ প্রোগ্রামের নিজস্ব data (decoding, duplicate detection, batch) নেয়
-প্রায় 90 MB; মোট 0.6–0.8 GB ধরে নিন, তাই 2 GB RAM-এর মেশিনই যথেষ্ট। টানা
-10 মিনিট collection চলাকালে (8 GB মেশিনে peak 0.58 GB) এবং 2 GB মেশিনের
-limit নিয়ে এর এগারো গুণ rate-এ এক ঘণ্টার flow load করার সময় (peak 0.74 GB)
-মাপা হয়েছে।
-
-`-memory` একটি budget, hard cap নয়: Go-র limit soft, আর database অল্প
-সময়ের জন্য তার ভাগের চেয়ে বেশি নিতে পারে। Hard cap-এর জন্য operating
-system-এর limit ব্যবহার করুন: systemd unit-এ `MemoryMax=` (সেকশন 2) অথবা
-container-এর memory limit। `-memory`-র ভাগের প্রায় 2.5 গুণ এবং অন্তত 1 GB
-রাখুন; ডিফল্ট ভাগে 8 GB পর্যন্ত মেশিনের জন্য `MemoryMax=2G` উপযুক্ত। তখন
-মেশিনের memory ফুরিয়ে যাওয়ার বদলে traffic66 restart হয়।
-
-
-
-## 16. সমস্যা সমাধান
-
-| লক্ষণ | কারণ ও সমাধান |
-|---|---|
-| ডিভাইস **সেটিংস**-এ নেই | packet পৌঁছাচ্ছে না: [flow পৌঁছাচ্ছে কি না দেখুন](#5-check-that-flows-arrive) দেখুন |
-| "waiting for the sampling rate" | ডিভাইস এখনও sampler options পাঠায়নি; বেশিরভাগই কয়েক মিনিটের মধ্যে আবার পাঠায়। কখনো না পাঠালে সেগুলো export করান (Cisco-তে `option sampler-table`) অথবা সত্যিই 1:1 হলে নাম-এ সেটিকে `unsampled` চিহ্নিত করুন, অথবা তার `device` লাইনে `sampling=N` দিয়ে rate দিন। তারপর **সেটিংস**-এ ডিভাইসের পাঠানো template-গুলো দেখা যায়, যাতে বোঝা যায় সেটি কী ঘোষণা করছে |
-| সংখ্যা interface counter-এর চেয়ে কম | **ইন্টারফেস মিলানো** দেখুন: পথে loss, interface sample হচ্ছে না, অথবা flow এখনও ডিভাইসের cache-এ (active timeout 60 s-এর বেশি) |
-| সংখ্যা interface counter-এর চেয়ে বেশি | একই ট্রাফিক দুটি interface বা দুটি ডিভাইসে sample হচ্ছে |
-| কোনো দেশ বা নেটওয়ার্ক নেই ("অজানা") | কোনো database লোড করা নেই: **সেটিংস**-এ একটি আপলোড করুন, [দেশ](#8-countries-networks-and-threat-lists) দেখুন |
-| পেজে "ডেটাবেস তার মেমরি সীমায় পৌঁছেছে এবং উত্তর দিতে পারেনি" | ছোট সময়সীমা বেছে নিন, অথবা বড় `-memory` দিয়ে চালু করুন; বিস্তারিত log-এ আছে |
-| পাসওয়ার্ড ভুলে গেছেন | traffic66 মেশিনে `traffic66 passwd` (traffic66 `-data` দিয়ে চললে `-data` যোগ করুন) |
-| `Conflicting lock is held` | অন্য একটি traffic66 ইতিমধ্যে এই data directory ব্যবহার করছে |
-| `receive buffer is only … KB` | Linux UDP buffer সীমিত রাখে: `net.core.rmem_max=16777216` সেট করুন ([Linux](#linux) দেখুন) |
-| `cannot create the data directory` | এই ইউজারের জন্য প্রোগ্রাম ফোল্ডার writable নয়: `-data` দিন |
-| macOS: "cannot be opened" বা "developer cannot be verified" | `xattr -dr com.apple.quarantine ` |
-| Windows: "Windows protected your PC" (Windows আপনার PC সুরক্ষিত করেছে) | **More info** (আরও তথ্য) → **Run anyway** (তবুও চালান); প্রোগ্রামটি এখনও signed নয় |
-| Windows capture: Npcap পাওয়া যায়নি | [Npcap](https://npcap.com) ইনস্টল করুন |
-| `address already in use` | অন্য কোনো প্রোগ্রাম port-টি ব্যবহার করছে: `-addr` বা `-listen` দিয়ে অন্য port বেছে নিন |
-
-
-
-## 17. সোর্স থেকে বিল্ড
-
-Go 1.24 এবং একটি C compiler (gcc বা clang; Windows-এ MinGW-w64):
+## 11. নিরাপত্তা, সক্ষমতার হিসাব, সমস্যা সমাধান
-```
-git clone https://github.com/githubflyideas/traffic66
-cd traffic66
-scripts/build.sh 0.1.0 traffic66
-```
+web UI সাধারণ HTTP: যে নেটওয়ার্কে ভরসা নেই সেখানে `-addr 127.0.0.1:8066`
+ব্যবহার করুন, একটি TLS proxy-র পেছনে (`caddy reverse-proxy --from
+traffic66.example.com --to 127.0.0.1:8066`) অথবা SSH tunnel দিয়ে। UDP port শুধু
+আপনার ডিভাইসগুলো থেকে অনুমতি দিন। SNMP community সাধারণ লেখায় (clear text)
+রাখা হয়; read-only community ব্যবহার করুন।
+
+2 core-এ প্রতি সেকেন্ডে 5,000 flow-এ: detail-এর প্রতিদিন প্রায় 12 GB disk (30
+দিনে 360 GB), একটি core-এর ছয় ভাগের এক ভাগ, 0.6–0.8 GB memory। লম্বা range-এর
+overview 0.2 s-এর কম সময় নেয়; সব conversation-এর 1 ঘণ্টার Top 66 প্রায় 9 s।
+
+| লক্ষণ | সমাধান |
+|---|---|
+| "waiting for the sampling rate" | sampler options export করান, অথবা device লাইনে `sampling=N` / `unsampled` |
+| counter-এর চেয়ে কম | interface sample হচ্ছে না, loss, অথবা active timeout 60 s-এর বেশি |
+| counter-এর চেয়ে বেশি | একই ট্রাফিক দুটি interface বা ডিভাইসে sample হচ্ছে |
+| পাসওয়ার্ড ভুলে গেছেন | traffic66 মেশিনে `traffic66 passwd` |
+| `Conflicting lock is held` | অন্য একটি traffic66 এই data directory ব্যবহার করছে |
+| `address already in use` | `-addr` বা `-listen` দিয়ে অন্য port বেছে নিন |
+| Windows "protected your PC" | **More info** (আরও তথ্য) → **Run anyway** (তবুও চালান) |
+
+সোর্স থেকে বিল্ড: Go 1.24 ও একটি C compiler, তারপর `scripts/build.sh 0.1.0 traffic66`।
diff --git a/docs/README.es.md b/docs/README.es.md
index bc7ceea..3ced14b 100644
--- a/docs/README.es.md
+++ b/docs/README.es.md
@@ -2,345 +2,128 @@
# traffic66
-Análisis de flujos sFlow, NetFlow e IPFIX en un solo programa. Recibe las
-exportaciones de flujos de switches, routers y firewalls, las guarda en una
-base de datos embebida y muestra quién consume el ancho de banda, adónde va
-el tráfico y si las cifras cuadran con los contadores de interfaz de los
-propios equipos, tanto en una interfaz web como en una interfaz de terminal.
-
-- Un solo ejecutable para Windows, Linux y macOS. Sin base de datos que
- instalar, sin runtime, funciona sin conexión.
-- sFlow v5, NetFlow v5, NetFlow v9 e IPFIX en cualquier puerto UDP; captura
- local opcional desde una interfaz de red o un puerto espejo.
-- Contrasta sus cifras con los contadores de interfaz (contadores sFlow o
- SNMP) y explica por qué difieren cuando no coinciden.
-- Detecta en los flujos escaneos, adivinación de contraseñas, movimiento
- lateral, subidas inusuales, inundaciones y tráfico de listas de amenazas,
- también a través del muestreo, y los muestra como hallazgos que atender.
-- Listas Top 66, quién habla con quién en gráficos de anillos (servidores
- y sus clientes, servicios y sus servidores), tráfico en el tiempo por
- interfaz y red (AS), rutas de tráfico, países en un mapa del mundo,
- coincidencias con listas de amenazas, registros de flujo, encapsulación
- (GRE, IPIP, VXLAN, GENEVE, MPLS).
-- `traffic66 captura.pcap` abre hasta 3 capturas de paquetes (3 GB en total) en la interfaz web: flujos, hallazgos, países y registros de toda la captura, sin configurar nada.
-- 13 idiomas en la interfaz web y en la de terminal.
-- Código fuente disponible: gratis para evaluación y para organizaciones
- de menos de 100 personas; las organizaciones más grandes se registran
- tras 30 días de uso en producción. Nunca se desactiva nada (vea
- [Prueba y licencia](#trial-and-licence)).
+Análisis de flujos sFlow, NetFlow e IPFIX en un solo programa: quién consume
+el ancho de banda, adónde va el tráfico y si las cifras cuadran con los
+contadores de interfaz de los propios equipos, en una interfaz web y en una
+interfaz de terminal.
+
+- Un solo ejecutable para Windows, Linux y macOS; sin base de datos que instalar, funciona sin conexión.
+- sFlow v5, NetFlow v5/v9 e IPFIX en cualquier puerto UDP, o captura local desde una interfaz.
+- Contrasta sus cifras con los contadores de interfaz (sFlow o SNMP) y explica por qué difieren.
+- Detecta escaneos, adivinación de contraseñas, movimiento lateral, subidas inusuales, inundaciones y tráfico de listas de amenazas, también a través del muestreo.
+- `traffic66 capture.pcap` analiza capturas de paquetes sin configurar nada.
+- 13 idiomas. Gratis para evaluación y para organizaciones de menos de 100 personas ([licencia](#licence)).

-Todas las capturas de pantalla proceden de `traffic66 demo`, una red de empresa simulada que puede ejecutar usted mismo (vea [Probar la demo](#1-try-the-demo)).
+Todas las capturas de pantalla proceden de `traffic66 demo`, una red de empresa simulada.
## Contenido
1. [Probar la demo](#1-try-the-demo)
-2. [Instalación](#2-install) — [Linux](#linux) · [Windows](#windows) · [macOS](#macos)
+2. [Instalación](#2-install)
3. [Usuarios y contraseñas](#3-users-and-passwords)
4. [Enviar flujos desde los equipos](#4-send-flows-from-your-devices)
5. [Comprobar que llegan los flujos](#5-check-that-flows-arrive)
-6. [Hacer que las cifras cuadren con los contadores de interfaz](#6-make-the-numbers-match-the-interface-counters)
-7. [Nombres, SNMP y redes propias](#7-names-snmp-and-your-own-networks)
-8. [Países, redes y listas de amenazas](#8-countries-networks-and-threat-lists)
-9. [Uso de la interfaz web](#9-using-the-web-ui)
-10. [Interfaz de terminal](#10-terminal-ui)
-11. [Captura local](#11-local-capture)
-12. [Opciones](#12-options)
-13. [Datos, copia de seguridad, actualización, desinstalación](#13-data-backup-upgrade-uninstall)
-14. [Seguridad](#14-security)
-15. [Dimensionamiento](#15-sizing)
-16. [Resolución de problemas](#16-troubleshooting)
-17. [Compilar desde el código fuente](#17-build-from-source)
+6. [Interfaces y contadores](#6-interfaces-and-counters)
+7. [Nombres, países y listas de amenazas](#7-names-countries-and-threat-lists)
+8. [Uso de la interfaz web](#8-using-the-web-ui)
+9. [Análisis offline de pcap, interfaz de terminal, captura local](#9-offline-pcap-terminal-ui-local-capture)
+10. [Opciones y datos](#10-options-and-data)
+11. [Seguridad, dimensionamiento, solución de problemas](#11-security-sizing-troubleshooting)
## 1. Probar la demo
Descargue el archivo para su sistema desde la
-[página de versiones](https://github.com/githubflyideas/traffic66/releases):
-
-| Sistema | Archivo |
-|---|---|
-| Windows 10/11, Server 2016 o posterior (x64) | `traffic66-windows-amd64.zip` |
-| Linux x86-64: cualquier distribución con kernel 3.2 o posterior, incluidos CentOS 7 y Alpine | `traffic66-linux-amd64.tar.gz` |
-| Linux ARM64: las mismas distribuciones | `traffic66-linux-arm64.tar.gz` |
-| macOS 11 o posterior, Apple silicon | `traffic66-darwin-arm64.tar.gz` |
-| macOS 11 o posterior, Intel | `traffic66-darwin-amd64.tar.gz` |
-
-Linux:
-
-```
-tar xzf traffic66-linux-amd64.tar.gz
-cd traffic66-linux-amd64
-./traffic66 demo -password try66
-```
-
-macOS (la segunda línea permite que macOS ejecute un programa descargado de
-internet que no procede de la App Store):
+[página de versiones](https://github.com/githubflyideas/traffic66/releases)
+(Windows x64, Linux x86-64/ARM64 con kernel 3.2+, macOS 11+), descomprímalo y ejecute:
```
-tar xzf traffic66-darwin-arm64.tar.gz
-xattr -dr com.apple.quarantine traffic66-darwin-arm64
-cd traffic66-darwin-arm64
-./traffic66 demo -password try66
+./traffic66 demo -password try66 # Linux, macOS
+.\traffic66.exe demo -password try66 # Windows
```
-Windows (PowerShell):
-
-```
-Expand-Archive traffic66-windows-amd64.zip .
-cd traffic66-windows-amd64
-.\traffic66.exe demo -password try66
-```
-
-Abra http://127.0.0.1:8066 e inicie sesión como `admin` / `try66`. La demo
-monta la red de una pequeña empresa con un día de historial y tráfico en
-vivo de cuatro equipos simulados, e incluye un ataque: **Hallazgos**
-muestra cada uno de sus pasos (un escaneo, un escaneo de puertos,
-adivinación de contraseñas, movimiento lateral, una subida a un servidor de
-control) y una inundación contra el sitio web público. Haga clic en
-**Detalles** en un hallazgo, o empiece en **Resumen**, haga clic en un host
-de **Principales clientes**, elija **Ver detalles** y siga haciendo clic a
-partir de ahí. Deténgala con Ctrl+C. Los datos de la demo se guardan en
-`traffic66-demo`, junto al programa; borre esa carpeta para empezar la demo
-desde cero.
-
-La demo usa los mismos puertos que una instalación real (8066 y UDP 6343,
-2055, 4739). Para ejecutarla junto a una real, asígnele otros puertos:
-`traffic66 demo -password try66 -addr :8067 -listen ""`.
-
-En Windows también puede simplemente hacer doble clic en `traffic66.exe`.
-Eso inicia traffic66 de verdad (no la demo) y abre la interfaz web en su
-navegador; la contraseña del primer arranque aparece en la ventana negra, y
-al cerrar la ventana se detiene traffic66. Si Windows muestra
-"Windows protegió su PC", haga clic en **Más información** →
-**Ejecutar de todas formas**.
+En macOS ejecute antes `xattr -dr com.apple.quarantine `. Abra
+http://127.0.0.1:8066 como `admin` / `try66`: un día de historial y tráfico
+en vivo de cuatro equipos simulados, incluido un ataque mostrado paso a paso
+en **Hallazgos**. Ctrl+C la detiene; borre `traffic66-demo` para empezar de
+cero. Para ejecutarla junto a una instalación real: `-addr :8067 -listen ""`.
## 2. Instalación
-traffic66 es un único archivo. Instalarlo consiste en colocarlo en algún
-sitio, elegir un directorio de datos, fijar una contraseña, abrir el
-firewall y hacer que arranque con el sistema. En los ejemplos, `192.0.2.50`
-es la máquina de traffic66 y `192.0.2.1` un router; sustitúyalas por sus
-direcciones.
-
-Puertos:
-
-| Puerto | Uso |
-|---|---|
-| UDP 6343 | sFlow (por defecto) |
-| UDP 2055 | NetFlow (por defecto) |
-| UDP 4739 | IPFIX (por defecto) |
-| TCP 8066 | interfaz web y API |
-
-Todos los puertos UDP aceptan todos los protocolos, así que un equipo puede
-enviar NetFlow al 6343 si resulta más cómodo. Cambie o añada puertos con
-`-listen`.
+traffic66 es un solo archivo. Puertos: UDP 6343 (sFlow), 2055 (NetFlow), 4739
+(IPFIX), TCP 8066 (interfaz web); cada puerto UDP acepta cualquier protocolo.
-
-
-### Linux
+**Linux** (systemd):
```
-sudo mkdir -p /opt/traffic66
-sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
+sudo mkdir -p /opt/traffic66 && sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
sudo useradd --system --no-create-home --shell /usr/sbin/nologin traffic66
sudo install -d -o traffic66 -g traffic66 /var/lib/traffic66
sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66
```
-El último comando pide la contraseña del usuario `admin`.
-
-Cree `/etc/systemd/system/traffic66.service`:
+`/etc/systemd/system/traffic66.service`:
```
[Unit]
Description=traffic66 flow analytics
After=network-online.target
-Wants=network-online.target
[Service]
User=traffic66
ExecStart=/opt/traffic66/traffic66 -data /var/lib/traffic66
Restart=on-failure
-# hard memory limit for the whole process (see Sizing)
MemoryMax=2G
-# only needed for local capture (-capture):
-#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
+#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN # only for local capture
[Install]
WantedBy=multi-user.target
```
-Arránquelo y permita búferes UDP más grandes para no perder ráfagas:
-
-```
-echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf
-sudo sysctl --system
-sudo systemctl daemon-reload
-sudo systemctl enable --now traffic66
-sudo systemctl status traffic66
-journalctl -u traffic66 -f
-```
-
-Firewall, con firewalld (RHEL, Rocky, Alma, Fedora):
-
-```
-sudo firewall-cmd --permanent --add-port=6343/udp --add-port=2055/udp --add-port=4739/udp --add-port=8066/tcp
-sudo firewall-cmd --reload
-```
-
-o con ufw (Ubuntu, Debian):
-
-```
-sudo ufw allow 6343,2055,4739/udp
-sudo ufw allow 8066/tcp
-```
-
-
-
-### Windows
-
-Descomprima en `C:\traffic66` y fije la contraseña (PowerShell como
-administrador):
-
```
-Expand-Archive traffic66-windows-amd64.zip C:\
-Rename-Item C:\traffic66-windows-amd64 C:\traffic66
-C:\traffic66\traffic66.exe passwd
+echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf && sudo sysctl --system
+sudo systemctl daemon-reload && sudo systemctl enable --now traffic66
+sudo firewall-cmd --permanent --add-port={6343,2055,4739}/udp --add-port=8066/tcp && sudo firewall-cmd --reload
```
-Los datos van a `C:\traffic66\traffic66-data`, junto al programa.
-
-Abra el firewall:
+**Windows** (PowerShell como administrador): descomprima en `C:\traffic66`,
+ejecute `C:\traffic66\traffic66.exe passwd`, abra los puertos y haga que
+arranque con el sistema:
```
-New-NetFirewallRule -DisplayName "traffic66 flows" -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
-New-NetFirewallRule -DisplayName "traffic66 web" -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
-```
-
-Para probarlo en primer plano, ejecute `C:\traffic66\traffic66.exe` y
-deténgalo con Ctrl+C. Para que corra en segundo plano desde el arranque, sin
-que nadie haya iniciado sesión, regístrelo como tarea de inicio:
-
-```
-$action = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
-$trigger = New-ScheduledTaskTrigger -AtStartup
-$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
-Register-ScheduledTask -TaskName traffic66 -Action $action -Trigger $trigger -Settings $settings -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
+New-NetFirewallRule -DisplayName traffic66 -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
+New-NetFirewallRule -DisplayName traffic66-web -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
+$a = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
+$s = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1)
+Register-ScheduledTask -TaskName traffic66 -Action $a -Trigger (New-ScheduledTaskTrigger -AtStartup) -Settings $s -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
Start-ScheduledTask -TaskName traffic66
```
-`-ExecutionTimeLimit ([TimeSpan]::Zero)` es importante: sin él, Windows
-detiene la tarea a los tres días. Deténgala con `Stop-ScheduledTask -TaskName
-traffic66` y elimínela con `Unregister-ScheduledTask -TaskName traffic66`.
-
-
-
-### macOS
-
-```
-sudo mkdir -p /usr/local/traffic66
-sudo tar xzf traffic66-darwin-arm64.tar.gz -C /usr/local/traffic66 --strip-components=1
-sudo xattr -dr com.apple.quarantine /usr/local/traffic66
-sudo /usr/local/traffic66/traffic66 passwd -data "/Library/Application Support/traffic66"
-```
-
-Cree `/Library/LaunchDaemons/traffic66.plist`:
-
-```
-
-
-
-
- Labeltraffic66
- ProgramArguments
-
- /usr/local/traffic66/traffic66
- -data
- /Library/Application Support/traffic66
-
- RunAtLoad
- KeepAlive
- StandardErrorPath/Library/Logs/traffic66.log
-
-
-```
+También funciona hacer doble clic en `traffic66.exe`: abre la interfaz web
+y muestra la primera contraseña en su ventana.
-Arrancarlo y volver a detenerlo:
-
-```
-sudo launchctl bootstrap system /Library/LaunchDaemons/traffic66.plist
-tail -f /Library/Logs/traffic66.log
-sudo launchctl bootout system/traffic66
-```
-
-Si el firewall de macOS está activo, permita las conexiones entrantes para
-traffic66 en Ajustes del Sistema → Red → Firewall → Opciones.
+**macOS**: descomprima en `/usr/local/traffic66`, quite la marca de
+cuarentena, ejecute `traffic66 passwd -data "/Library/Application Support/traffic66"`
+y arránquelo desde un LaunchDaemon cuyos `ProgramArguments` sean el
+programa, `-data` y ese directorio, con `RunAtLoad` y `KeepAlive`.
## 3. Usuarios y contraseñas
-**En resumen:** los usuarios y las contraseñas están en un solo archivo,
-`password`, en el directorio de datos. Nunca se edita a mano: el comando
-`traffic66 passwd` añade, cambia, lista y elimina usuarios. Abra
-`http://:8066` e inicie sesión con uno de ellos.
-
-
-
-### El primer inicio de sesión
-
-En su primer arranque, traffic66 crea el usuario `admin` con una contraseña
-aleatoria y la muestra una sola vez:
-
-```
-first start: sign in as user "admin" with password "3f9c2a7e5b1d8046"
-```
-
-- Iniciado con doble clic en Windows: en la ventana negra.
-- En una terminal: en la terminal.
-- Servicio de Linux: `journalctl -u traffic66 | grep "first start"`
-- Servicio de macOS: `grep "first start" /Library/Logs/traffic66.log`
-
-¿No la vio? Fije una nueva con `traffic66 passwd` (más abajo). Si fijó una
-contraseña con `traffic66 passwd` antes del primer arranque, como hacen los
-pasos de instalación anteriores, no se genera ninguna.
-
-
-
-### Dónde se guardan los usuarios
-
-En el archivo `password` del directorio de datos:
-
-| Cómo se ejecuta traffic66 | Archivo |
-|---|---|
-| Descomprimido y arrancado desde su carpeta (predeterminado) | `traffic66-data/password` junto al programa |
-| Servicio de Linux (sección 2) | `/var/lib/traffic66/password` |
-| Tarea de inicio de Windows (sección 2) | `C:\traffic66\traffic66-data\password` |
-| Servicio de macOS (sección 2) | `/Library/Application Support/traffic66/password` |
-| Demo | `traffic66-demo/password` junto al programa |
-
-Una línea por usuario. Las contraseñas se guardan como hashes con sal, así
-que nadie puede recuperarlas del archivo, ni siquiera usted; si se olvida
-una contraseña, fije una nueva. Solo el propietario puede leer el archivo.
-
-```
-# traffic66 login, one user per line; change with: traffic66 passwd
-admin:pbkdf2-sha256$210000$…
-alice:pbkdf2-sha256$210000$…
-```
-
-
-
-### Gestión de usuarios
-
-Ejecute esto en la máquina de traffic66:
+En el primer arranque traffic66 crea el usuario `admin` con una contraseña
+aleatoria y la muestra una sola vez (en la ventana, en el terminal o con
+`journalctl -u traffic66 | grep "first start"`). Los usuarios se guardan como
+hashes con sal en `password` dentro del directorio de datos y se gestionan
+con un solo comando en la máquina de traffic66 (añada `-data …` si traffic66
+se ejecuta con esa opción):
| Para | Comando |
|---|---|
@@ -348,76 +131,27 @@ Ejecute esto en la máquina de traffic66:
| Añadir el usuario `alice`, o cambiar su contraseña | `traffic66 passwd -user alice` |
| Eliminar el usuario `alice` | `traffic66 passwd -user alice -delete` |
| Listar los usuarios | `traffic66 passwd -list` |
-| Fijar una contraseña aleatoria y mostrarla | `traffic66 passwd -generate` (con `-user` para otros usuarios) |
-
-- El comando pide la nueva contraseña dos veces y no muestra lo que escribe.
- Use al menos 8 caracteres.
-- Si traffic66 se ejecuta con `-data`, añada el mismo `-data` al comando.
- Para el servicio de Linux de la sección 2:
-
- ```
- sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66 -user alice
- ```
-
- En Windows (PowerShell como administrador):
-
- ```
- C:\traffic66\traffic66.exe passwd -user alice
- ```
-
-- Los cambios se aplican de inmediato, sin reiniciar: una contraseña nueva
- sirve en el siguiente inicio de sesión, y un usuario eliminado pierde la
- sesión en los navegadores abiertos.
-- No se puede eliminar el último usuario que queda; añada otro antes.
-- Todos los usuarios ven y pueden cambiar lo mismo; no hay roles.
-
-
-
-### Contraseñas para scripts y contenedores
-
-`TRAFFIC66_PASSWORD=…` en el entorno, o `-password …` en la línea de
-comandos, hace que traffic66 acepte exactamente un usuario en esa ejecución:
-el indicado con `-user` (por defecto `admin`) con esa contraseña. El archivo
-`password` se ignora entonces y no se modifica. Es preferible la variable de
-entorno: las líneas de comandos son visibles para los demás usuarios de la
-máquina.
-```
-TRAFFIC66_PASSWORD='s3cret-pass' traffic66 -user ops
-```
-
-Tras cinco contraseñas incorrectas en un minuto, la dirección queda
-bloqueada durante un minuto.
+Los cambios se aplican al instante. Todos los usuarios tienen los mismos
+permisos. Para scripts y contenedores, `TRAFFIC66_PASSWORD=…` (o `-password`)
+acepta en esa ejecución solo `-user` con esa contraseña. Cinco contraseñas
+erróneas en un minuto bloquean la dirección durante un minuto.
## 4. Enviar flujos desde los equipos
-Apunte cada equipo a la máquina de traffic66. Los comandos varían según el
-modelo y la versión de software; consulte el manual de su equipo. En todos
-los ejemplos, `192.0.2.50` es traffic66 y `192.0.2.1` la dirección del
-propio equipo.
-
-Recomendaciones generales:
-
-- Ponga el timeout de flujo activo en 60 segundos. Con timeouts más largos
- el tráfico llega tarde y en grandes bloques.
-- Si el equipo muestrea NetFlow/IPFIX, haga que exporte sus opciones de
- sampler para que se conozca la tasa. traffic66 retiene los registros hasta
- que llega la tasa en lugar de contarlos 1:1.
-- Muestree todas las interfaces o solo las de borde, en un solo sentido.
- Muestrear el mismo tráfico a la entrada y a la salida lo cuenta dos veces;
- **Verificación de interfaces** lo señala.
-- Tasa de muestreo sFlow: en torno a 1:1000 para enlaces de 1 Gb/s, 1:4096
- para 10 Gb/s y 1:8192 para 40/100 Gb/s.
-
-Cisco IOS / IOS-XE (Flexible NetFlow):
+`192.0.2.50` es traffic66 y `192.0.2.1` el equipo. Fije el timeout activo en
+60 segundos, deje que los equipos NetFlow/IPFIX exporten sus opciones de
+muestreador y muestree **cada interfaz en entrada** (o solo las interfaces
+de borde): así cada paquete cuenta una sola vez. Tasas sFlow: alrededor de
+1:1000 para 1 Gb/s, 1:4096 para 10 Gb/s, 1:8192 para 40/100 Gb/s.
```
+! Cisco IOS-XE, NetFlow v9
flow exporter T66
destination 192.0.2.50
transport udp 2055
- export-protocol netflow-v9
option sampler-table
flow monitor T66
exporter T66
@@ -427,39 +161,8 @@ interface GigabitEthernet0/0/0
ip flow monitor T66 input
```
-Cisco NX-OS (sFlow):
-
-```
-feature sflow
-sflow collector-ip 192.0.2.50 vrf default
-sflow collector-port 6343
-sflow agent-ip 192.0.2.1
-sflow sampling-rate 4096
-sflow counter-poll-interval 30
-sflow data-source interface ethernet 1/1
-```
-
-Arista EOS (sFlow):
-
-```
-sflow sample 4096
-sflow destination 192.0.2.50
-sflow source-interface Management1
-sflow run
-```
-
-Juniper EX / QFX (sFlow):
-
-```
-set protocols sflow collector 192.0.2.50 udp-port 6343
-set protocols sflow sample-rate ingress 4096
-set protocols sflow polling-interval 30
-set protocols sflow interfaces ge-0/0/0
-```
-
-Huawei CloudEngine (sFlow):
-
```
+# Huawei CloudEngine, sFlow (H3C Comware is similar)
sflow agent ip 192.0.2.1
sflow collector 1 ip 192.0.2.50
interface 10GE1/0/1
@@ -470,46 +173,22 @@ interface 10GE1/0/1
sflow counter interval 30
```
-H3C Comware (sFlow):
-
-```
-sflow agent ip 192.0.2.1
-sflow collector 1 ip 192.0.2.50 port 6343
-interface Ten-GigabitEthernet1/0/1
- sflow sampling-rate 4096
- sflow flow collector 1
- sflow counter interval 30
- sflow counter collector 1
```
+# Juniper EX/QFX, sFlow
+set protocols sflow collector 192.0.2.50 udp-port 6343
+set protocols sflow sample-rate ingress 4096
+set protocols sflow interfaces ge-0/0/0
-MikroTik RouterOS 7 (NetFlow v9 / IPFIX):
+# Arista EOS, sFlow
+sflow sample 4096
+sflow destination 192.0.2.50
+sflow run
-```
+# MikroTik RouterOS 7
/ip traffic-flow set enabled=yes interfaces=all active-flow-timeout=1m
/ip traffic-flow target add dst-address=192.0.2.50 port=2055 version=9
-```
-
-FortiGate FortiOS 7.4.2 o posterior (NetFlow v9):
-```
-config system netflow
- config collectors
- edit 1
- set collector-ip 192.0.2.50
- set collector-port 2055
- next
- end
-end
-config system interface
- edit port1
- set netflow-sampler both
- next
-end
-```
-
-Servidores y hosts Linux, con softflowd (NetFlow v9):
-
-```
+# Linux host, softflowd
softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
```
@@ -517,339 +196,120 @@ softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
## 5. Comprobar que llegan los flujos
-Abra **Configuración**. Cada equipo que envía algo aparece en segundos, con su
-protocolo, tasa de muestreo, pérdidas, último paquete y un estado. Cuando el
-estado no está en verde, el texto de al lado indica qué falla y qué hay que
-cambiar.
-
-**Perdidos** cuenta las muestras o registros que nunca llegaron. Para sFlow
-el texto indica dónde se perdieron: por el camino (saltos en los números
-de secuencia: la red, o el búfer de recepción UDP de esta máquina; si
-`netstat -su` muestra errores de búfer de recepción en aumento, suba
-`net.core.rmem_max`), o en el propio equipo (sFlow informa de las muestras
-que descartó el equipo: su exportación sFlow tiene un límite de ritmo, así
-que muestree con menos frecuencia o suba el límite del equipo). Los totales
-se compensan en ambos casos; el detalle por host no.
+**Configuración** muestra en segundos cada equipo que envía algo: protocolo,
+tasa de muestreo, pérdidas, las interfaces que muestrea y qué corregir
+cuando el estado no está en verde. Las pérdidas de sFlow se dividen en
+pérdidas por el camino (suba `net.core.rmem_max` si `netstat -su` muestra
+errores de búfer) y muestras que descartó el propio equipo.

-Si un equipo no aparece:
-
-1. Observe si llegan paquetes a la máquina de traffic66 (Linux, macOS):
- `sudo tcpdump -ni any udp port 6343 or udp port 2055 or udp port 4739`.
- Si no se ve nada, los paquetes no llegan a la máquina: revise la
- configuración del equipo, el enrutamiento y los firewalls del camino.
-2. Llegan paquetes pero **Configuración** sigue vacía: el firewall local los
- descarta (vea [Instalación](#2-install)) o traffic66 escucha en otros
- puertos (`-listen`).
-3. Para probar el camino desde otra máquina sin tocar ningún equipo, ejecute
- allí `traffic66 simulate -to 192.0.2.50` durante unos segundos. Envía
- sFlow, NetFlow e IPFIX desde equipos simulados, que luego aparecen en
- **Configuración** y en los datos, así que mejor hágalo en una instalación de
- pruebas.
-
-
-
-## 6. Hacer que las cifras cuadren con los contadores de interfaz
-
-Las cifras de flujo son estimaciones: paquetes muestreados por la tasa de
-muestreo. traffic66 las compara con los contadores de interfaz del propio
-equipo y muestra la diferencia en **Verificación de interfaces**, con la
-causa probable cuando es mayor de lo que explica el propio muestreo. Cada
-interfaz tiene un gráfico en bits/s a todo el ancho y, debajo, otro en
-paquetes/s, con la entrada (verde) y la salida (azul); los contadores del
-propio equipo aparecen como líneas discontinuas en el gráfico de bits/s. Al
-elegir una interfaz en la lista se muestran sus gráficos.
-
-Cada fila de la lista tiene dos botones. **✎** da a la interfaz un nombre y
-una etiqueta corta (como *uplink*), que aparece junto a su nombre en todas
-partes. **☆** la convierte en la interfaz predeterminada (**★**); solo hay
-una. Las páginas se abren entonces en ella (vea la opción **Interfaz** en
-[Uso de la interfaz web](#9-using-the-web-ui)), y el resumen muestra su
-ancho de banda. Ambos se guardan al momento en la línea `iface` de Nombres.
-
-Los registros de flujo nombran dos interfaces: aquella por la que entró un
-paquete y aquella por la que salió. Por eso, un equipo que muestrea solo
-algunas interfaces muestra también los otros extremos de sus flujos. Esas
-**Interfaces del otro extremo** aparecen al final, en letra gris más
-pequeña, bajo su propio encabezado: sus cifras contienen solo el tráfico
-que pasó por una interfaz muestreada, no todo su tráfico. No se ofrecen en
-**Interfaz** encima de las páginas. traffic66 sabe qué interfaz muestreó un
-flujo por la fuente de datos de sFlow, o por el campo flowDirection (IPFIX
-61) de NetFlow v9 e IPFIX (ingress: la interfaz de entrada, egress: la
-interfaz de salida). Sin ese campo, una interfaz presente en al menos el
-90 % del tráfico de un equipo se toma como la muestreada; si no hay
-ninguna, no se marca ninguna interfaz. **Configuración** muestra, para cada
-equipo, las interfaces muestreadas (**Muestreo en:**) y si sus plantillas
-llevan flowDirection (**con flowDirection (61)**). Para ver todo el tráfico
-de un equipo, muestree cada interfaz en entrada (vea [Enviar flujos desde
-los equipos](#4-send-flows-from-your-devices)).
+¿Falta un equipo? Ejecute `sudo tcpdump -ni any udp port 6343 or udp port 2055
+or udp port 4739`: si no aparece nada, el problema es el enrutamiento, un
+firewall o la configuración del equipo; si llegan paquetes pero no hay nada
+en **Configuración**, es el firewall local o `-listen`.
+`traffic66 simulate -to 192.0.2.50` desde otra máquina prueba el camino con
+equipos simulados.
-
+
-Para disponer de contadores con los que comparar:
+## 6. Interfaces y contadores
-- Los equipos sFlow los envían por su cuenta cuando hay un intervalo de
- contadores configurado (`sflow counter interval 30` o similar).
-- Para equipos NetFlow e IPFIX, añada una línea `snmp` en
- **Configuración → Nombres** (vea [Nombres](#7-names-snmp-and-your-own-networks)).
- traffic66 lee entonces los contadores de interfaz cada minuto.
+Las cifras de flujo son estimaciones (muestras × tasa de muestreo).
+**Verificación de interfaces** las compara con los contadores de interfaz
+del equipo (contadores sFlow, o SNMP mediante una línea `snmp` en Nombres) y
+explica por qué difieren: interfaces sin muestrear, el mismo tráfico
+muestreado dos veces, pérdidas por el camino o una tasa de muestreo
+desconocida. Cada interfaz tiene un gráfico en bits/s y otro en paquetes/s,
+la entrada en verde y la salida en azul, los contadores discontinuos.
-Lo que traffic66 ya hace para que las cifras cuadren: usa la tasa de
-muestreo que el equipo aplicó realmente, retiene los registros NetFlow/IPFIX
-hasta conocer la tasa de muestreo, compensa los paquetes de exportación
-perdidos por el camino, reparte los flujos largos entre los minutos que
-duraron y suma 18 bytes por paquete de overhead Ethernet a los bytes de
-NetFlow/IPFIX (los contadores de interfaz lo incluyen, los recuentos de
-flujo a nivel IP no; se cambia con `-l2-overhead`).
+En cada fila, **✎** asigna un nombre y una etiqueta corta (como *uplink*) y
+**☆** la convierte en la interfaz predeterminada (★), en la que se abren las
+páginas.
-Motivos habituales de una diferencia residual, todos indicados en
-**Verificación de interfaces**: hay interfaces sin muestrear, el mismo
-tráfico se muestrea en dos interfaces, se pierden paquetes de exportación
-antes de llegar a traffic66 o aún no se conoce la tasa de muestreo.
+Un equipo que muestrea solo algunas interfaces muestra también los otros
+extremos de esos flujos. Estas **interfaces del otro extremo** aparecen al
+final en letra pequeña y gris: solo contienen el tráfico que pasa por la
+interfaz muestreada. La interfaz muestreada se conoce por la fuente de datos
+de sFlow o por el campo flowDirection (IPFIX 61); sin él, es la interfaz que
+lleva el 90% del tráfico del equipo.
-
+
-## 7. Nombres, SNMP y redes propias
+traffic66 ya usa la tasa que aplicó el equipo, espera a las tasas
+desconocidas, compensa las pérdidas de exportación, reparte los flujos
+largos entre sus minutos y añade 18 bytes por paquete de sobrecarga
+Ethernet a NetFlow/IPFIX (`-l2-overhead`).
-La forma más rápida de ponerle nombre a un host o a un equipo: haga clic en
-su dirección en cualquier página y elija **Ponerle nombre…**. Escriba el
-nombre y pulse Enter; se guarda al momento y se muestra en todas partes en
-lugar de la dirección sin más.
+
-Para redes, interfaces y SNMP, use **Configuración → Nombres**: elija el tipo
-(host, red, dispositivo, interfaz, SNMP), rellene la dirección y el nombre,
-y haga clic en **Añadir**. La tabla de abajo lista todos los nombres con
-**Editar** y **Borrar**; añadir de nuevo la misma dirección sustituye la
-entrada anterior. Las direcciones y redes se comprueban antes de guardar.
+## 7. Nombres, países y listas de amenazas
-Los nombres se guardan como `inventory.txt` en el directorio de datos, una
-entrada por línea. **Editar como texto (avanzado)** muestra ese archivo, y
-también puede editarlo directamente (vea `inventory.txt.example`). Todas
-las líneas son opcionales.
+Haga clic en cualquier dirección y elija **Ponerle nombre…**, o use
+**Configuración → Nombres**. Los nombres se guardan en `inventory.txt`
+dentro del directorio de datos:
```
-# your networks: traffic between them is "internal"
-net 10.10.0.0/16 Office LAN
-net 203.0.113.0/24 Public servers country=JP
-
-# device names; "unsampled" if it exports every packet (1:1),
-# sampling=N if it samples 1:N but does not say so in its export
-device 192.0.2.1 Core router
-device 192.0.2.9 Branch firewall unsampled
-device 192.0.2.20 Edge router sampling=1000
-
-# interface names, by device address and ifIndex; speed in bits per second,
-# tag= a short tag, default = the interface the pages open on (one only)
-iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
-
-# host names shown instead of addresses
-host 10.10.3.27 Finance PC
-
-# read interface counters over SNMPv2c (IF-MIB 64-bit counters)
-snmp 192.0.2.1 public
-snmp 192.0.2.9 s3cret 10.99.0.9:161
+net 10.10.0.0/16 Office LAN # your networks
+net 203.0.113.0/24 Public servers country=JP # country: lines on the world map
+device 192.0.2.1 Core router
+device 192.0.2.9 Branch firewall unsampled # exports every packet
+device 192.0.2.20 Edge router sampling=1000 # rate it does not declare
+iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
+host 10.10.3.27 Finance PC
+snmp 192.0.2.1 public # read counters over SNMPv2c
+snmp 192.0.2.9 s3cret 10.99.0.9:161 # other management address
```
-- `net`: los rangos privados (10/8, 172.16/12, 192.168/16, 100.64/10) se
- consideran siempre propios. Añada sus rangos públicos para que el tráfico
- hacia y desde ellos también cuente como propio; el nombre aparece en
- **Top 66** agrupado por segmento y en las rutas de tráfico por segmento.
- `country=JP` (un código de país de dos letras) indica dónde está la red;
- el mapa del mundo traza entonces líneas desde ella hasta los países con
- los que se comunica.
-- `snmp [[:port]]`: el equipo es
- la dirección de la que vienen los flujos. Añada la dirección de gestión
- cuando el equipo responda a SNMP en otra dirección. Las descripciones de
- interfaz leídas por SNMP se usan como nombres, salvo que nombre la
- interfaz con `iface`. Permita la máquina de traffic66 en la lista de
- acceso SNMP del equipo.
-- Los cambios se aplican al pulsar **Guardar**; no hace falta reiniciar.
-
-
-
-## 8. Países, redes y listas de amenazas
-
-Los países y las redes (AS) funcionan desde el primer momento: traffic66 incluye las bases de datos gratuitas **IP to Country Lite** e **IP to ASN Lite** de DB-IP (licencia [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); "IP Geolocation by DB-IP", [db-ip.com](https://db-ip.com)). Las páginas que muestran países y redes indican de dónde vienen los datos.
-
-La copia incluida es la de la versión que usa. DB-IP publica una nueva cada mes; **Configuración → Base de datos de países y redes → Actualizar DB-IP Lite ahora** descarga la última de db-ip.com (el servidor donde corre traffic66 necesita acceso a internet; si falla, la interfaz lo indica).
-
-También puede usar otra base de datos gratuita. Descárguela y súbala en la misma página con **Subir un archivo de base de datos…**. Se comprueba, se guarda en el directorio de datos y se usa para el tráfico nuevo al instante, sin reiniciar. El tráfico ya guardado conserva el país con el que se guardó.
+Los rangos privados siempre son suyos. Los cambios se aplican con
+**Guardar**, sin reiniciar.
-| Base de datos | Da | Licencia | Dónde obtenerla |
-|---|---|---|---|
-| DB-IP Lite (incluida) | países; redes | CC BY 4.0, sin cuenta | [db-ip.com/db/lite.php](https://db-ip.com/db/lite.php) |
-| MaxMind GeoLite2 Country y ASN, `.mmdb` | países; redes | GeoLite2 EULA, cuenta gratuita | [maxmind.com](https://www.maxmind.com/en/geolite2/signup) |
-| IPinfo Lite, `ipinfo_lite.mmdb` | países y redes en un solo archivo | CC BY-SA 4.0, cuenta gratuita | [ipinfo.io/lite](https://ipinfo.io/lite) |
-| IPtoASN, `ip2asn-combined.tsv.gz` | redes con su país | PDDL 1.0, sin cuenta | [iptoasn.com](https://iptoasn.com) |
-
-Primero se usan sus archivos; lo que no cubren lo responde la DB-IP Lite incluida. **Quitar** junto a un archivo vuelve al resto. La página muestra lo que está en uso y la fecha de cada base de datos.
-
-Sin la interfaz web, copie el archivo al directorio de datos como `country.mmdb`, `asn.mmdb`, `both.mmdb` (un archivo con países y redes, como IPinfo Lite) o `asn.tsv.gz` y reinicie traffic66.
-
-**Geografía y redes** muestra en un mapa del mundo el tráfico con otros países: cuanto más oscuro, más tráfico. Al pasar el ratón sobre un país se ve su tráfico; al hacer clic se puede filtrar o abrir sus registros de flujo. Cuando sus redes tienen un país (`country=` en una línea `net`, vea [Nombres](#7-names-snmp-and-your-own-networks)), unas líneas van de ese país a los países con los que intercambian tráfico, más gruesas cuanto más tráfico. Los contornos de los países son de [Natural Earth](https://www.naturalearthdata.com) (dominio público).
+Los países y las redes (AS) funcionan de entrada con las bases gratuitas
+Lite de DB-IP ([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), "IP
+Geolocation by DB-IP", [db-ip.com](https://db-ip.com)); **Configuración**
+las actualiza, o acepta en su lugar archivos de MaxMind GeoLite2, IPinfo Lite
+o IPtoASN. Contornos del mapa: [Natural Earth](https://www.naturalearthdata.com).

-Las listas de amenazas son archivos de texto plano con una dirección o red
-por línea (se ignora lo que va tras `#` o `;`), guardados como
-`/threats/.txt`, por ejemplo:
-
-```
-mkdir -p /threats
-curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamhaus-drop.txt
-```
-
-Reinicie traffic66 después de añadir o modificar listas. Las coincidencias
-aparecen en **Inteligencia de amenazas**, por nombre de lista.
+Las listas de amenazas son archivos de texto con una dirección o red por
+línea en `/threats/.txt` (por ejemplo Spamhaus DROP); reinicie
+tras modificarlas. Las coincidencias aparecen en **Inteligencia de
+amenazas**.

-
+
-## 9. Uso de la interfaz web
+## 8. Uso de la interfaz web
-Casi nunca hace falta escribir. Cualquier valor de cualquier página (una
-dirección, un puerto, una aplicación, un país, un equipo) admite clic:
+Se puede hacer clic en cualquier valor de cualquier página: **Mostrar solo
+esto** / **Excluir esto** (los filtros se aplican a todas las páginas),
+**Ver sus registros de flujo**, **Ver detalles** (una página sobre un host
+o servicio), **Ponerle nombre…**, **Buscarlo en línea**, **Copiar**.
-- **Mostrar solo esto** / **Excluir esto** añade un filtro. Los filtros
- aparecen bajo la barra superior y se aplican a todas las páginas hasta
- que los quite.
-- **Ver sus registros de flujo** abre los flujos individuales
- correspondientes.
-- **Ver detalles** (hosts, equipos y servicios) abre una página sobre ese
- host o servicio: su tráfico en el tiempo por aplicación, con quién habla,
- qué servicios o clientes, países y sus últimos flujos. Ahí también se
- puede hacer clic en cualquier valor, así que puede seguir profundizando;
- el botón Atrás del navegador vuelve.
-- **Ponerle nombre…** (hosts y equipos) le da un nombre a la dirección, que
- se muestra en todas partes a partir de entonces.
-- **Buscarlo en línea** abre la dirección o el AS en un sitio público de
- consulta.
-- **Copiar** copia el valor.
-
-Páginas:
-
-| Página | Qué responde |
+| Página | Qué muestra |
|---|---|
-| Resumen | El ancho de banda de la interfaz elegida (o de la predeterminada, o si no de la de más tráfico) en bits/s, entrada y salida vistas desde la interfaz; cuánto tráfico hay ahora, por aplicación (**Total**, o solo el tráfico **Entrante** o **Saliente** de sus redes), frente a la misma hora de ayer (periodos de hasta un día), la semana pasada (hasta una semana) o los días anteriores (periodos más largos), cuando hay datos de entonces; hallazgos abiertos; dirección y protocolo; principales clientes y servicios |
-| Top 66 | Se abre en **Tabla**, 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. **Interlocutores principales** muestra 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 |
-| Detalles del tráfico | Dos gráficos de anillos. **Servidores y clientes**: el anillo interior son los 8 servidores con más tráfico, el exterior los clientes de cada uno; **Clientes dentro** le da la vuelta (clientes dentro, fuera los servidores que usa cada uno), ya que a menudo un lado explica más que el otro. **Servicios**: un anillo con los servicios con más tráfico. Al pasar el ratón sobre un segmento se ve su tráfico; se hace clic en él como en cualquier valor |
-| 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. Los nombres largos se acortan a 22 caracteres; al pasar el ratón se ve el nombre completo |
-| 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)) |
-| Inteligencia de amenazas | Hosts que hablaron con direcciones de sus listas de amenazas y cuánto enviaron |
-| Geografía y redes | Un mapa del mundo del tráfico por país, con líneas desde sus redes; 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 |
-| Configuración | Equipos, muestreo, las interfaces que muestrea cada equipo y si envía flowDirection, pérdidas, colectores, SNMP, la base de datos de países y redes, el logotipo y **Nombres** |
-| Verificación de interfaces | Tráfico de cada interfaz en el tiempo en bits/s y, debajo, paquetes/s, entrada (verde) y salida (azul), con los contadores del equipo como líneas discontinuas; cuánto se alejan las cifras de flujo de los contadores, de peor a mejor, con motivos; un nombre, una etiqueta y la predeterminada para cada interfaz |
-| Registros de flujo | Cuántos registros de flujo hubo y cuándo (una barra por intervalo), y los registros mismos, del más reciente al más antiguo, página a página, con columnas seleccionables. Se abre en los últimos 15 minutos, actualizados cada 5 segundos; abierta desde un valor de otra página (**Ver sus registros de flujo**) conserva el rango de tiempo de esa página, y **Volver a tiempo real** regresa |
-| Limpieza de datos | Borra los datos de más de 120, 90, 60, 30 o 7 días, o todos, indicando cuánto libera cada opción ([más](#13-data-backup-upgrade-uninstall)) |
-| Análisis offline de pcap | Capturas de paquetes (pcap, pcapng) analizadas aparte de los datos en vivo ([más](#análisis-offline-de-pcap)) |
-
-El menú lateral agrupa las páginas en cuatro bloques: tráfico (Resumen,
-Top 66, Detalles del tráfico, Rutas de tráfico, Verificación de
-interfaces, Registros de flujo), seguridad (Hallazgos, Inteligencia de
-amenazas, Geografía y redes), Configuración y Análisis offline de pcap, y
-Limpieza de datos al final. Bajo el logotipo aparecen la versión y
-la fecha y hora del servidor.
-
-Encima de las páginas de tráfico (Resumen, Top 66, Detalles del tráfico,
-Rutas de tráfico, Geografía y redes, Registros de flujo y el detalle de un
-valor) está **Interfaz**: **Todas las interfaces**, o una interfaz, para que
-estas páginas muestren solo el tráfico que pasa por ella (de entrada o de
-salida). Lista las interfaces muestreadas, agrupadas por equipo, y empieza
-en la interfaz predeterminada (★, fijada en **Verificación de
-interfaces**) y la elección forma parte del enlace.
-Hallazgos, Inteligencia de amenazas, Verificación de interfaces y
-Configuración siempre abarcan todo el tráfico. Para una interfaz en 7 o 30
-días las páginas leen los registros de flujo en lugar de los resúmenes por
-hora y por día, así que tardan más y llegan hasta donde se conservan los
-registros de flujo (30 días por defecto).
-
-Encima de las páginas: rango de tiempo (de 15 minutos a 30 días, o
-**Personalizado…** para cualquier inicio y fin, también más allá de 30
-días), refresco automático cada 30 segundos y **Copiar enlace**, que copia
-un enlace exactamente a la vista actual (página, rango de tiempo y
-filtros) para enviárselo a un compañero. En **Top 66** y **Detalles del
-tráfico**, **Dispositivo**, **Cliente**, **Servidor** y **Servicio**
-listan los valores con más tráfico del rango:
-elija uno, o escríbalo, para filtrar; el filtro se aplica entonces a todas
-las páginas hasta que vacíe el cuadro. El idioma sigue al del navegador; se
-cambia al final del menú, encima de **Cerrar sesión**. Configuración,
-Registros de flujo (en tiempo real), Limpieza de datos y Análisis offline
-de pcap no tienen rango de tiempo.
-
-Junto al idioma está el tema de colores, inspirado en los colores del
-sistema de iOS: **Claro** (el predeterminado), **Gris**, **Negro** (para
-pantallas de pared), **Turquesa** y **Naranja**. Cada clic pasa al
-siguiente; la elección se guarda en el navegador.
-
-Los gráficos en el tiempo muestran los 8 valores mayores en colores fijos y
-el resto como Otros; la leyenda da el total de cada valor y se puede hacer
-clic en ella como en cualquier otro valor. Los gráficos de clientes y
-servidores dejan el resto fuera del dibujo, ya que con miles de hosts
-aplanaría a los 8 primeros; la leyenda sigue dando su total.
-
-Los gráficos terminan donde los datos están completos: con sFlow en el minuto
-actual, con NetFlow e IPFIX un poco antes, tanto como tarden los dispositivos
-en exportar sus flujos (traffic66 lo mide; como máximo 2 minutos).
-
-Los rangos de más de 6 horas empiezan en una hora en punto, de modo que
-todas las cifras de la página cuentan exactamente el mismo tiempo: "24 horas"
-abarca las últimas 24 horas completas más la actual. En estos rangos, Top 66
-sale de resúmenes horarios; ahí no hay filtros, y la página lo indica. Elija
-un rango más corto para filtrar. Las conversaciones siempre leen el detalle de flujos,
-así que en rangos largos con muchos flujos pueden tardar; una hora es lo más rápido.
-
-El menú lateral muestra cuánto disco usan los datos y cuánto queda libre;
-pase el ratón por el espacio libre para ver cuánto necesitan, al ritmo
-actual, los días de detalle que se conservan (se estima en cuanto hay un
-día de datos).
-
-Para mostrar su propio logotipo en la página de inicio de sesión y arriba
-del menú, use **Configuración → Logotipo → Subir un logotipo…**: PNG, SVG, JPEG,
-WebP o GIF, hasta 1 MB, idealmente de 272 × 92 píxeles (otros tamaños se
-ajustan). **Usar el logotipo integrado** vuelve al de traffic66.
-
-
-
-### Hallazgos
-
-**Hallazgos** enumera lo que traffic66 encontró en los flujos, empezando por
-lo más grave. Revisa los últimos 10 minutos cada 5 minutos; algo que dura
-una hora es un solo hallazgo que crece, no uno nuevo en cada revisión.
-
-| Hallazgo | Qué significa | Gravedad |
-|---|---|---|
-| Escaneo | Una dirección envió pequeñas sondas a muchas direcciones en un mismo puerto (TCP o ping) | Alta desde dentro de su red, baja desde internet |
-| Escaneo de puertos | Una dirección envió pequeñas sondas a muchos puertos de un mismo host | Alta desde dentro, baja desde internet |
-| Adivinación de contraseñas | Muchas conexiones cortas a un servicio de inicio de sesión (SSH, RDP, SMB, bases de datos y otros) | Alta desde dentro, baja desde internet |
-| Movimiento lateral | Dentro de su red, sesiones de compartición de archivos o de administración remota (SMB, RDP, SSH, WinRM, VNC) hacia hosts que nunca antes ofrecieron ese servicio | Alta |
-| Subida inusual | Un host interno envió mucho más de lo que recibió (100 MB en 10 minutos, el triple de lo recibido) a una dirección con la que no había intercambiado datos antes | Alta |
-| Inundación | 20.000 o más paquetes pequeños por segundo hacia una dirección, diez veces su ritmo habitual | Media |
-| Lista de amenazas | Tráfico con una dirección de una de sus listas de amenazas | Alta cuando su host se conectó a ella, baja cuando la dirección listada llamó desde fuera |
-
-Cada hallazgo dice quién hizo qué a quién, cuándo y durante cuánto tiempo,
-con las cifras que lo respaldan y cómo se muestrearon los datos.
-**Detalles** abre la página del host, que también enumera los hallazgos
-sobre él. **Resuelto** cierra un hallazgo; si vuelve a ocurrir, se abre uno
-nuevo. **No es un problema** lo cierra para siempre: no se vuelve a
-notificar. El número rojo junto a **Hallazgos** en el menú lateral cuenta
-los hallazgos abiertos de gravedad alta y media de las últimas 24 horas.
-
-El movimiento lateral y las subidas inusuales necesitan saber qué es
-normal, así que se notifican en cuanto hay un día de historial. En el
-primer arranque, traffic66 aprende del historial que ya tiene.
-
-Con datos muestreados (sFlow, NetFlow muestreado), las reglas cuentan lo que
-muestran las muestras y piden menos, pero entonces cada una debe parecer una
-sonda corta, de modo que los hosts normales con mucha actividad no las
-disparan. Lo que el muestreo oculta no se puede encontrar: tras un muestreo
-1:4096, un escaneo de unas decenas de hosts envía demasiado pocos paquetes
-para verse. El ataque de la demo pasa por un switch que muestrea a 1:4096 y
-se encuentra entero; un día de tráfico normal de la demo no produce ningún
-hallazgo salvo el escáner de internet que llama a la puerta del sitio web.
-
-
+| Resumen | El ancho de banda de la interfaz elegida; tráfico por aplicación (total, entrante o saliente) frente a ayer o la semana pasada; hallazgos abiertos; principales clientes y servicios |
+| Top 66 | Las 66 primeras conversaciones, ordenables por cualquier columna, o agrupadas por aplicación, red, segmento, equipo, encapsulación, VLAN; los 30 interlocutores principales |
+| Detalles del tráfico | Gráficos de anillos: servidores y sus clientes (o al revés), y servicios |
+| Rutas de tráfico | Host → aplicación → país, o cliente → servicio → servidor, o por red |
+| Verificación de interfaces | Cada interfaz en el tiempo frente a sus contadores; nombres, etiquetas, la predeterminada |
+| Registros de flujo | Los flujos individuales, en vivo cada 5 segundos o para cualquier rango de tiempo |
+| Hallazgos, Inteligencia de amenazas | Qué requiere atención ([más abajo](#findings)); tráfico con direcciones listadas |
+| Geografía y redes | Un mapa del mundo por país, redes (AS) en el tiempo |
+| Configuración | Equipos, muestreo, pérdidas, SNMP, bases de datos, logotipo, nombres |
+| Análisis offline de pcap, Limpieza de datos | Archivos de captura ([más abajo](#9-offline-pcap-terminal-ui-local-capture)); borrado de datos antiguos |
+
+Encima de las páginas: **Interfaz** (todas, o una interfaz muestreada; las
+páginas de tráfico muestran entonces solo el tráfico que pasa por ella), el
+rango de tiempo (de 15 minutos a 30 días, o personalizado), actualización
+cada 30 s y **Copiar enlace** para la vista exacta. El idioma y cinco temas
+de color están al pie del menú. Los gráficos terminan donde los datos están
+completos: con NetFlow/IPFIX, tan tarde como exporten los equipos (como
+mucho 2 minutos). Los rangos de más de 6 horas empiezan en una hora en
+punto; una interfaz durante 7 o 30 días lee el detalle de flujos, así que es
+más lento y llega solo hasta donde se conserva el detalle.

@@ -859,375 +319,121 @@ hallazgo salvo el escáner de internet que llama a la puerta del sitio web.

-El mismo resumen en chino; todas las páginas están disponibles en 13 idiomas:
-

-
-
-### Análisis offline de pcap
-
-**Análisis offline de pcap** muestra capturas de Wireshark o tcpdump con las mismas páginas que los datos en vivo, sin mezclarlas.
-
-Resume todos los paquetes en flujos: quién habló con quién, cuánto, cuándo y qué parece un ataque. No decodifica protocolos ni muestra el contenido de los paquetes; para un paquete o un flujo TCP, use Wireshark.
-
-Desde la línea de comandos, sin configurar nada:
+
-```
-traffic66 office.pcap
-traffic66 a.pcap b.pcapng c.pcap
-```
+### Hallazgos
-traffic66 arranca solo en este equipo (127.0.0.1, un puerto libre), muestra la dirección, la contraseña y un enlace de acceso de un solo uso, y abre el navegador en la captura. Hasta 3 archivos, 3 GB en total; se leen donde están y nunca se modifican. No se recoge ni se envía nada, y no se resuelven nombres de host (`-dns` lo activa). Ctrl+C detiene y borra los datos importados. En una máquina de 2 núcleos, una captura de 1 GB está lista en unos 5 segundos (1,2 millones de paquetes grandes) a 30 segundos (14 millones de paquetes pequeños).
+Se comprueban cada 5 minutos sobre los últimos 10; algo que dura una hora es
+un único hallazgo que va creciendo.
-```
-$ traffic66 office.pcap
+| Hallazgo | Qué significa |
+|---|---|
+| Escaneo, escaneo de puertos | Pequeñas sondas a muchos hosts en un puerto, o a muchos puertos de un host |
+| Adivinación de contraseñas | Muchas conexiones cortas a un servicio de inicio de sesión |
+| Movimiento lateral | Compartición de archivos o administración remota hacia hosts internos que nunca antes la ofrecieron |
+| Subida inusual | 100 MB en 10 minutos a una dirección nueva, el triple de lo que volvió |
+| Inundación | 20.000+ paquetes pequeños/s hacia una dirección, diez veces su ritmo habitual |
+| Lista de amenazas | Tráfico con una dirección listada |
+
+Desde dentro de su red son de gravedad alta, desde internet baja.
+**Resuelto** cierra un hallazgo, **No es un problema** lo silencia para
+siempre. El movimiento lateral y las subidas necesitan un día de historial.
+A través de un muestreo 1:4096 el ataque de la demo se detecta por completo;
+los escaneos muy pequeños pueden ocultarse tras el muestreo.
-traffic66 0.3.1: analysing 1 capture file(s); nothing is collected or sent
- Web UI http://127.0.0.1:38217 (port 38217, this computer only)
- Sign in user admin, password gfhfhbuutz2e
- Open http://127.0.0.1:38217/auto?t=b9388f… (signs in once)
- Stop Ctrl+C; the imported data is deleted, your files are kept
-```
+
-En la interfaz web de un traffic66 en marcha:
+
-1. **Subir archivos de captura…**: `.pcap` o `.pcapng`, sin comprimir. Hasta 3 archivos, cada uno de 50 MB como máximo. Los archivos se convierten en flujos en una base de datos propia (`/sandbox/`); los datos en vivo, sus cifras y hallazgos no se tocan.
-2. **Analizar**: todas las páginas (resumen, Top 66, detalles del tráfico, hallazgos, rutas, mapa, registros de flujo) muestran los archivos durante todo su tiempo. Una barra naranja nombra los archivos; **Volver a los datos en vivo** vuelve. Cada archivo aparece como un dispositivo, así que el cuadro **Dispositivo** muestra un archivo cada vez.
-3. Las reglas de detección se aplican a la captura: barridos, escaneos de puertos y adivinación de contraseñas aparecen en **Hallazgos**. Las reglas que necesitan un día de historial (movimiento lateral, subidas inusuales) no se aplican a una captura.
-4. **Eliminar** borra un archivo y sus datos; **Eliminar todo** lo borra todo.
+## 9. Análisis offline de pcap, interfaz de terminal, captura local
-La demo incluye una captura de ejemplo con un ataque.
+**Análisis offline de pcap** muestra capturas de paquetes (pcap, pcapng) con
+las mismas páginas, aparte de los datos en vivo: `traffic66 a.pcap b.pcapng`
+arranca en 127.0.0.1 y abre el navegador (hasta 3 archivos, 3 GB; Ctrl+C
+borra los datos importados), o suba en esa página hasta 3 archivos de 50 MB.
+Trabaja con flujos, no con el contenido de los paquetes.

-## 10. Interfaz de terminal
-
-```
-traffic66 tui # traffic66 on this machine
-traffic66 tui -server http://192.0.2.50:8066 -user admin -password …
-traffic66 -tui # collect and show the terminal UI in one process
-```
-
-En la máquina de traffic66, `traffic66 tui` inicia sesión por sí solo si
-puede leer el directorio de datos (indique `-data` si no es el de por
-defecto). Si traffic66 se ejecuta con otro usuario, como ocurre con un
-servicio, use `-user` y `-password`. `-lang` elige el idioma (`en`, `zh`,
-`hi`, `es`, `ar`, `fr`, `bn`, `pt`, `ru`, `id`, `ur`, `ja`, `ko`).
-
-Teclas: 1–8 páginas, ↑↓ seleccionar, Enter acciones sobre el valor
-seleccionado, f mostrar solo, x excluir, / buscar, t rango de tiempo,
-c quitar filtros, w abrir la misma vista en un navegador, q salir.
+**Interfaz de terminal**: `traffic66 tui` en la máquina de traffic66, o
+`traffic66 tui -server http://192.0.2.50:8066 -user admin -password …`.
+Teclas: 1–8 páginas, Enter acciones, f mostrar solo, x excluir, t rango de
+tiempo, w abrir en un navegador, q salir; `-lang` elige el idioma.


-
-
-## 11. Captura local
-
-Además de recibir exportaciones de flujos, traffic66 puede generar flujos por
-sí mismo a partir de los paquetes de una interfaz de red de la máquina en la
-que se ejecuta. Lo que ve depende de la interfaz:
-
-| Interfaz | Qué ve traffic66 |
-|---|---|
-| Un puerto de red libre conectado al puerto espejo (SPAN) de un switch | Todo el tráfico que replica el switch: una red entera o un enlace de subida |
-| El Ethernet o la Wi-Fi de la propia máquina | Solo el tráfico de esta máquina |
-
-Los adaptadores Wi-Fi no ven el tráfico de otros equipos. Para ver toda una
-red Wi-Fi, haga que el router o el punto de acceso exporte flujos (sección 4),
-o ponga en espejo el puerto del switch al que está conectado el punto de
-acceso.
-
-
-
-### Windows
-
-1. Instale [Npcap](https://npcap.com) con las opciones predeterminadas. Si
- marca "Restrict Npcap driver's access to Administrators only", ejecute
- traffic66 como administrador.
-2. Liste las interfaces (PowerShell):
-
- ```
- C:\traffic66\traffic66.exe interfaces
- ```
-
- ```
- # Name Address Adapter / device
- 1 Ethernet - Intel(R) Ethernet I219-V \Device\NPF_{4B8A2C1E-…}
- 2 Wi-Fi 192.168.1.23 Intel(R) Wi-Fi 6 AX201 \Device\NPF_{9F00AA11-…}
- 3 Loopback - Adapter for loopback traffic capture \Device\NPF_Loopback
- ```
+**Captura local** construye flujos desde una interfaz local, idealmente un
+puerto conectado al puerto espejo de un switch: `traffic66 interfaces` las
+lista y `-capture eth1` (o un nombre o número de Windows) captura. Linux
+necesita root o `setcap cap_net_raw,cap_net_admin+ep`, macOS root, Windows
+[Npcap](https://npcap.com). Los flujos capturados provienen del equipo
+`127.0.0.1`.
- La columna Name es el nombre de la conexión en la configuración de red de
- Windows; la interfaz en uso tiene una dirección.
-3. Capture en la Wi-Fi, por nombre o por número:
+
- ```
- C:\traffic66\traffic66.exe -capture Wi-Fi
- C:\traffic66\traffic66.exe -capture 2
- ```
-
- Ponga entre comillas los nombres con espacios: `-capture "Ethernet 2"`.
- Repita `-capture` para capturar en varias interfaces. Añada `-listen=` si
- solo quiere captura y ningún colector de flujos. Para la tarea de inicio de
- la sección 2, añada la opción a `-Argument`:
- `-Argument '-data C:\traffic66\traffic66-data -capture Wi-Fi'`.
-
-
-
-### Linux
-
-```
-traffic66 interfaces
-sudo setcap cap_net_raw,cap_net_admin+ep /opt/traffic66/traffic66
-traffic66 -capture eth1
-```
+## 10. Opciones y datos
-La captura requiere root o las capacidades `CAP_NET_RAW` y `CAP_NET_ADMIN`:
-la línea `setcap` de arriba, o la línea `AmbientCapabilities` de la unidad
-systemd de la sección 2. Las interfaces Wi-Fi suelen llamarse `wlan0` o
-`wlp…`.
-
-
-
-### macOS
-
-```
-traffic66 interfaces
-sudo traffic66 -capture en0
-```
-
-La captura requiere root; no hay nada que instalar. En los MacBook, `en0` es
-la Wi-Fi.
-
-
-
-### Comprobar que funciona
-
-**Configuración** muestra cada interfaz capturada con el método de captura y el
-número de paquetes vistos. Los flujos aparecen como procedentes del equipo
-`127.0.0.1` (esta máquina), en todas las páginas, igual que los de cualquier
-otro equipo. Los paquetes vistos dos veces (por ejemplo, en dos puertos
-espejo) se cuentan dos veces.
-
-
-
-## 12. Opciones
-
-`traffic66 -h` y `traffic66 -h` lo listan todo.
-
-Comandos:
-
-| Comando | |
-|---|---|
-| `traffic66` | recoge flujos y sirve la interfaz web |
-| `traffic66 demo` | lo mismo, con una red simulada |
-| `traffic66 tui` | interfaz de terminal para un traffic66 en marcha |
-| `traffic66 passwd` | añade, cambia, lista o elimina usuarios (vea [Usuarios y contraseñas](#3-users-and-passwords)) |
-| `traffic66 simulate -to HOST` | envía exportaciones simuladas a un colector |
-| `traffic66 interfaces` | lista las interfaces para captura local |
-| `traffic66 version` | muestra la versión |
-
-Opciones de `traffic66` y `traffic66 demo`:
+`traffic66 -h` lo lista todo. Las más usadas:
| Opción | Por defecto | |
|---|---|---|
-| `-addr` | `:8066` | dirección de la interfaz web; `127.0.0.1:8066` solo para esta máquina |
| `-data` | `traffic66-data` junto al programa | directorio de datos |
-| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | colectores UDP como `name=address`, separados por comas; vacío los desactiva |
-| `-user` | `admin` | nombre del usuario creado en el primer arranque, y del usuario al que se aplica `-password` |
-| `-password` | sin definir | en esta ejecución acepta solo `-user` con esta contraseña, sin usar el archivo `password` (también `TRAFFIC66_PASSWORD`) |
-| `-retention-days` | `30` | días de detalle de flujos que se conservan; los resúmenes se guardan 400 días |
-| `-memory` | `0.10` | fracción de la memoria física para la caché de la base de datos, y otro tanto como límite blando para el resto del programa (cada uno al menos 256 MB) |
-| `-l2-overhead` | `18` | bytes por paquete sumados a los bytes de NetFlow/IPFIX |
+| `-addr` | `:8066` | interfaz web; `127.0.0.1:8066` solo para esta máquina |
+| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | colectores UDP; vacío los desactiva |
+| `-retention-days` | `30` | días de detalle de flujos; los resúmenes se guardan 400 días |
+| `-memory` | `0.10` | fracción de la RAM para la caché de la base de datos |
| `-sampling-wait` | `5m` | cuánto esperan los registros a una tasa de muestreo |
-| `-capture` | | captura en una interfaz local (repetible) |
-| `-inventory` | `/inventory.txt` | archivo de nombres |
-| `-asn` | `/asn.tsv.gz` | tabla IP-a-ASN (archivos `.mmdb`: súbalos, o `/country.mmdb` y `/asn.mmdb`, `/both.mmdb`) |
-| `-threat` | `/threats/*.txt` | lista de amenazas adicional como `name=path` (repetible) |
-| `-dns-upstream` | resolver del sistema | servidor DNS para mostrar nombres de host |
-| `-dns-rate` | `20` | máximo de resoluciones inversas por segundo |
-| `-dns-cache` | `2m` | cuánto tiempo se guardan en caché los nombres de host |
+| `-capture` | | interfaz local (repetible) |
| `-no-dns` | | sin resoluciones inversas |
-| `-tui` | | abre también la interfaz de terminal |
-Ejemplo: un segundo puerto de colector, un año de detalle y la interfaz web
-solo en la máquina local:
+El directorio de datos contiene `raw/` (detalle, un archivo por hora),
+`traffic66.duckdb` (resúmenes y contadores), `password`, `inventory.txt`,
+`license.json`, su logotipo y las bases de datos. Para hacer una copia de
+seguridad, detenga traffic66 y cópielo; para actualizar, reemplace el
+archivo del programa. **Limpieza de datos** borra los datos de más de 7–120
+días, o todos.
-```
-traffic66 -data /var/lib/traffic66 -listen "sflow=:6343,netflow=:2055,ipfix=:4739,netflow=:9995" -retention-days 365 -addr 127.0.0.1:8066
-```
+
-
+### Licencia
-## 13. Datos, copia de seguridad, actualización, desinstalación
+Código fuente disponible bajo la [PolyForm Noncommercial License 1.0.0](../LICENSE.md)
+y la [Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md) (el texto
+en inglés es el vinculante): gratis para evaluación y para organizaciones de
+menos de 100 personas; las organizaciones más grandes se registran tras 30
+días de uso en producción; vender, alojar para terceros o productos
+competidores requieren una licencia comercial. Nunca se desactiva nada. El
+pie de cada página muestra el número de instalación de 8 dígitos; envíelo
+al autor y ponga el `license.json` que reciba en el directorio de datos.
+Contacto: .
-El directorio de datos lo contiene todo:
+
-| | |
-|---|---|
-| `raw/` | detalle de flujos, un archivo comprimido por hora |
-| `traffic66.duckdb` | resúmenes, contadores de interfaz y la hora en curso |
-| `password` | contraseñas de acceso (con hash) |
-| `inventory.txt` | nombres (**Configuración → Nombres**) |
-| `license.json` | número de instalación y licencia (vea [Prueba y licencia](#trial-and-licence)) |
-| `logo.png` (o `.svg`, `.jpg`, `.webp`, `.gif`) | su logotipo (**Configuración → Logotipo**), si subió uno |
-| `country.mmdb`, `asn.mmdb`, `both.mmdb`, `asn.tsv.gz`, `dbip-country.mmdb`, `dbip-asn.mmdb`, `threats/`, `sandbox/` | bases de datos de países y redes y listas de amenazas que haya añadido |
-
-**Cuánto tiempo se guardan los datos**: el detalle de flujos 30 días; los resúmenes (vista general y periodos largos)
-400 días. Lo más antiguo se borra automáticamente, con una comprobación cada 5 minutos; no se borra nada más ni hay
-otro límite. Cambie el periodo del detalle con `-retention-days`, cualquier número de días, por ejemplo
-`-retention-days 365`. El uso de disco crece con él: **Libre** en el menú lateral se pone en rojo cuando los días
-guardados no caben. Si el disco se llena, los nuevos flujos no se pueden guardar hasta liberar espacio.
-
-**Limpieza de datos** en el menú lateral borra datos antes de que haga
-falta: los de más de 120, 90, 60, 30 o 7 días, o todos. Para cada opción
-indica cuántos registros de flujo se van y cuánto disco libera
-aproximadamente, y pide confirmación antes de borrar. Se borran los
-registros de flujo, los resúmenes por hora y por día, los contadores de
-interfaz y los hallazgos; borrar todos los datos también reinicia lo que
-han aprendido las reglas de detección. No se puede deshacer.
-
-- **Copia de seguridad**: detenga traffic66 y copie el directorio. Sin
- detenerlo, copie `raw/`, `password` e `inventory.txt`; en ese caso faltan
- la hora en curso y los resúmenes.
-- **Traslado**: detenga traffic66, mueva el directorio y arranque con
- `-data` apuntando a la nueva ubicación.
-- **Actualización**: detenga traffic66, sustituya el archivo del programa y
- vuelva a arrancarlo. Los datos se conservan. En Linux, por ejemplo:
-
- ```
- sudo systemctl stop traffic66
- sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
- sudo systemctl start traffic66
- ```
-
-- **Desinstalación**: detenga y elimine el servicio o la tarea de inicio
- (vea [Instalación](#2-install)) y después borre la carpeta del programa y
- el directorio de datos.
-
-
-
-### Prueba y licencia
-
-traffic66 es de código fuente disponible bajo la
-[PolyForm Noncommercial License 1.0.0](../LICENSE.md) y la
-[Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md); el texto en
-inglés de ambas es el vinculante. En resumen:
-
-- **Evaluación**, pruebas, desarrollo y demostraciones: gratis para
- cualquiera, sin límite de tiempo.
-- **Uso en producción** (tráfico real, para las operaciones de una
- organización) por una organización con menos de 100 empleados y
- contratistas: gratis.
-- Uso en producción por **organizaciones más grandes**: gratis durante 30
- días; después se necesita una licencia de registro del autor.
-- Contratistas y proveedores de servicios pueden ejecutarlo para un
- cliente, en un despliegue propio de ese cliente; decide el tamaño del
- cliente.
-- No se permite sin una licencia comercial: venderlo o integrarlo en un
- producto, ofrecerlo a terceros como servicio alojado o multiinquilino, o
- un producto competidor.
-
-Las tarifas, el alcance y la duración de una licencia de registro se
-fijan caso por caso, y puede ser gratuita. Contacto:
-.
-
-Toda instalación muestra la prueba, también donde no se necesita
-licencia. En el primer arranque traffic66 escribe `license.json` en el
-directorio de datos con un número de instalación de 8 cifras. El pie de cada página muestra cuántos días de prueba quedan y,
-después, que la prueba ha terminado. En ningún caso se desactiva nada:
-todas las funciones siguen funcionando.
-
-Para registrarse, envíe al autor el número de instalación (que también
-aparece al pie de cada página). La licencia llega como un nuevo
-`license.json`; póngalo en el directorio de datos en lugar del anterior. Se
-comprueba al arrancar traffic66 y cada 4 horas, así que no hace falta
-reiniciar; el pie de la página muestra entonces a quién está licenciado y
-cuántos días quedan.
-
-
-
-## 14. Seguridad
-
-- La interfaz web usa HTTP sin cifrar: contraseñas y datos viajan por la red
- en claro. En redes que no sean de plena confianza, escuche solo en esta
- máquina (`-addr 127.0.0.1:8066`) y ponga delante un proxy inverso con TLS,
- por ejemplo con [Caddy](https://caddyserver.com):
- `caddy reverse-proxy --from traffic66.example.com --to 127.0.0.1:8066`.
- O acceda por VPN o por un túnel SSH:
- `ssh -L 8066:127.0.0.1:8066 user@192.0.2.50` y abra
- http://127.0.0.1:8066.
-- Permita los puertos UDP de colector solo desde las direcciones de sus
- equipos.
-- Las comunidades SNMP de `inventory.txt` se guardan en texto plano; use una
- comunidad de solo lectura.
-
-
-
-## 15. Dimensionamiento
-
-Medido a 5.000 flujos por segundo en una máquina de 2 núcleos: el detalle
-ocupa unos 12 GB de disco al día más aproximadamente 1,5 GB para la hora en
-curso, y el programa una sexta parte de un núcleo.
-Las vistas generales de rangos largos salen de resúmenes y tardan menos de
-0,2 s. Las consultas sobre el detalle recorren unos 22 millones de filas por
-hora: un host durante 1 hora tarda menos de 1 s, un Top 66 de 1 hora de
-todas las conversaciones unos 9 s; el tiempo crece con el rango y baja con
-más núcleos.
-
-Por tanto, 30 días a 5.000 flujos/s ocupan unos 360 GB de disco; escálelo
-según su tasa de flujos (visible en **Configuración**) y `-retention-days`.
-
-Memoria: `-memory` (por defecto el 10 % de la RAM, al menos 256 MB) limita
-la caché de la base de datos, y el resto del programa recibe un límite
-blando del mismo tamaño. A 5.000 flujos por segundo, los datos propios del
-programa (decodificación, detección de duplicados, lotes) ocupan unos
-90 MB; en total cuente con 0,6–0,8 GB, así que basta una máquina con 2 GB
-de RAM. Medido durante 10 minutos de captura continua (pico de 0,58 GB en
-una máquina de 8 GB) y al cargar una hora de flujos a once veces esa tasa
-con los límites de una máquina de 2 GB (pico de 0,74 GB).
-
-`-memory` es un presupuesto, no un tope estricto: el límite de Go es blando y
-la base de datos puede superar brevemente su parte. Para un tope estricto use
-el del sistema operativo: `MemoryMax=` en la unidad systemd (sección 2) o el
-límite de memoria de un contenedor. Reserve unas 2,5 veces la parte de
-`-memory` y al menos 1 GB; `MemoryMax=2G` sirve para máquinas de hasta 8 GB
-con la parte por defecto. Así se reinicia traffic66 en lugar de quedarse la
-máquina sin memoria.
-
-
-
-## 16. Resolución de problemas
-
-| Síntoma | Causa y solución |
-|---|---|
-| El equipo no aparece en **Configuración** | Los paquetes no llegan: vea [Comprobar que llegan los flujos](#5-check-that-flows-arrive) |
-| "waiting for the sampling rate" | El equipo aún no ha enviado sus opciones de sampler; la mayoría las reenvía en pocos minutos. Si no lo hace nunca, expórtelas (`option sampler-table` en Cisco) o márquelo como `unsampled` en Nombres si de verdad es 1:1, o indique su tasa con `sampling=N` en su línea `device`. **Configuración** muestra entonces las plantillas que envió el equipo, para ver qué declara |
-| Cifras por debajo de los contadores de interfaz | Vea **Verificación de interfaces**: pérdidas por el camino, interfaces sin muestrear o flujos aún en la caché del equipo (timeout activo superior a 60 s) |
-| Cifras por encima de los contadores de interfaz | El mismo tráfico se muestrea en dos interfaces o en dos equipos |
-| No hay países ni redes ("Desconocido") | No hay ninguna base de datos cargada: suba una en **Configuración**; vea [Países](#8-countries-networks-and-threat-lists) |
-| "La base de datos llegó a su límite de memoria y no pudo responder" en una página | Elija un intervalo más corto o inicie con un `-memory` mayor; los detalles están en el registro |
-| Contraseña olvidada | `traffic66 passwd` en la máquina de traffic66 (añada `-data` si traffic66 se ejecuta con él) |
-| `Conflicting lock is held` | Otro traffic66 ya usa este directorio de datos |
-| `receive buffer is only … KB` | Linux limita los búferes UDP: fije `net.core.rmem_max=16777216` (vea [Linux](#linux)) |
-| `cannot create the data directory` | Este usuario no puede escribir en la carpeta del programa: indique `-data` |
-| macOS: "cannot be opened" o "developer cannot be verified" | `xattr -dr com.apple.quarantine ` |
-| Windows: "Windows protegió su PC" | **Más información** → **Ejecutar de todas formas**; el programa aún no está firmado |
-| Captura en Windows: no se encuentra Npcap | Instale [Npcap](https://npcap.com) |
-| `address already in use` | Otro programa usa el puerto: elija otros con `-addr` o `-listen` |
-
-
-
-## 17. Compilar desde el código fuente
-
-Go 1.24 y un compilador de C (gcc o clang; MinGW-w64 en Windows):
+## 11. Seguridad, dimensionamiento, solución de problemas
-```
-git clone https://github.com/githubflyideas/traffic66
-cd traffic66
-scripts/build.sh 0.1.0 traffic66
-```
+La interfaz web es HTTP simple: en redes no confiables use
+`-addr 127.0.0.1:8066` detrás de un proxy TLS (`caddy reverse-proxy --from traffic66.example.com --to
+127.0.0.1:8066`) o un túnel SSH. Permita los puertos UDP solo desde sus
+equipos. Las comunidades SNMP se guardan en texto claro; use comunidades de
+solo lectura.
+
+A 5.000 flujos/s en 2 núcleos: unos 12 GB de disco por día de detalle
+(360 GB para 30 días), una sexta parte de un núcleo, 0,6–0,8 GB de memoria.
+Los resúmenes de rangos largos tardan menos de 0,2 s; un Top 66 de una hora
+de todas las conversaciones, unos 9 s.
+
+| Síntoma | Solución |
+|---|---|
+| "esperando la tasa de muestreo" | Exporte las opciones del muestreador, o `sampling=N` / `unsampled` en la línea del equipo |
+| Por debajo de los contadores | Interfaces sin muestrear, pérdidas o un timeout activo de más de 60 s |
+| Por encima de los contadores | El mismo tráfico muestreado en dos interfaces o equipos |
+| Olvidó la contraseña | `traffic66 passwd` en la máquina de traffic66 |
+| `Conflicting lock is held` | Otro traffic66 usa este directorio de datos |
+| `address already in use` | Elija otros puertos con `-addr` o `-listen` |
+| Windows: "Windows protegió su PC" | **Más información** → **Ejecutar de todas formas** |
+
+Compilar desde el código fuente: Go 1.24 y un compilador de C, luego `scripts/build.sh 0.1.0 traffic66`.
diff --git a/docs/README.fr.md b/docs/README.fr.md
index 63c9736..93366e7 100644
--- a/docs/README.fr.md
+++ b/docs/README.fr.md
@@ -2,354 +2,130 @@
# traffic66
-Analyse de flux sFlow, NetFlow et IPFIX en un seul programme. Il collecte
-les exports de flux des switchs, routeurs et pare-feu, les stocke dans une
-base de données embarquée et montre qui consomme la bande passante, où va
-le trafic et si les chiffres concordent avec les compteurs d'interface des
-équipements eux-mêmes, dans une interface web et dans une interface
-terminal.
-
-- Un seul exécutable pour Windows, Linux et macOS. Pas de base de données à
- installer, pas de runtime, fonctionne hors ligne.
-- sFlow v5, NetFlow v5, NetFlow v9 et IPFIX sur n'importe quel port UDP ;
- capture locale facultative sur une interface réseau ou un port miroir.
-- Vérifie ses propres chiffres par rapport aux compteurs d'interface
- (compteurs sFlow ou SNMP) et explique pourquoi ils diffèrent le cas
- échéant.
-- Repère dans les flux les scans, les essais de mots de passe, les
- mouvements latéraux, les envois inhabituels, les inondations et le trafic
- des listes de menaces, y compris à travers l'échantillonnage, et les
- présente comme des détections à traiter.
-- Classements Top 66, qui parle à qui en graphiques en anneaux (serveurs
- et leurs clients, services et leurs serveurs), trafic dans le temps par
- interface et réseau (AS), chemins du trafic, pays sur une carte du
- monde, correspondances avec des listes de menaces, enregistrements de
- flux, encapsulation (GRE, IPIP, VXLAN, GENEVE, MPLS).
-- `traffic66 capture.pcap` ouvre jusqu'à 3 captures de paquets (3 Go au total) dans l'interface web : flux, détections, pays et enregistrements sur toute la capture, sans rien configurer.
-- 13 langues dans l'interface web et dans l'interface terminal.
-- Source disponible : gratuit pour l'évaluation et pour les organisations
- de moins de 100 personnes ; les organisations plus grandes s'enregistrent
- après 30 jours d'utilisation en production. Rien n'est jamais désactivé
- (voir [Essai et licence](#trial-and-licence)).
+Analyse de flux sFlow, NetFlow et IPFIX en un seul programme : qui consomme
+la bande passante, où va le trafic et si les chiffres concordent avec les
+compteurs d'interface des équipements eux-mêmes, dans une interface web et
+dans une interface terminal.
+
+- Un seul exécutable pour Windows, Linux et macOS ; pas de base de données à installer, fonctionne hors ligne.
+- sFlow v5, NetFlow v5/v9 et IPFIX sur n'importe quel port UDP, ou capture locale sur une interface.
+- Vérifie ses chiffres par rapport aux compteurs d'interface (sFlow ou SNMP) et explique pourquoi ils diffèrent.
+- Repère les scans, les essais de mots de passe, les mouvements latéraux, les envois inhabituels, les inondations et le trafic des listes de menaces, y compris à travers l'échantillonnage.
+- `traffic66 capture.pcap` analyse des captures de paquets sans rien configurer.
+- 13 langues. Gratuit pour l'évaluation et pour les organisations de moins de 100 personnes ([licence](#licence)).

-Toutes les captures d'écran proviennent de `traffic66 demo`, un réseau d'entreprise simulé que vous pouvez lancer vous-même (voir [Essayer la démo](#1-try-the-demo)).
+Toutes les captures d'écran proviennent de `traffic66 demo`, un réseau d'entreprise simulé.
## Sommaire
1. [Essayer la démo](#1-try-the-demo)
-2. [Installation](#2-install) — [Linux](#linux) · [Windows](#windows) · [macOS](#macos)
+2. [Installation](#2-install)
3. [Utilisateurs et mots de passe](#3-users-and-passwords)
4. [Envoyer les flux depuis vos équipements](#4-send-flows-from-your-devices)
5. [Vérifier que les flux arrivent](#5-check-that-flows-arrive)
-6. [Faire concorder les chiffres avec les compteurs d'interface](#6-make-the-numbers-match-the-interface-counters)
-7. [Noms, SNMP et vos propres réseaux](#7-names-snmp-and-your-own-networks)
-8. [Pays, réseaux et listes de menaces](#8-countries-networks-and-threat-lists)
-9. [Utiliser l'interface web](#9-using-the-web-ui)
-10. [Interface terminal](#10-terminal-ui)
-11. [Capture locale](#11-local-capture)
-12. [Options](#12-options)
-13. [Données, sauvegarde, mise à jour, désinstallation](#13-data-backup-upgrade-uninstall)
-14. [Sécurité](#14-security)
-15. [Dimensionnement](#15-sizing)
-16. [Dépannage](#16-troubleshooting)
-17. [Compiler depuis les sources](#17-build-from-source)
+6. [Interfaces et compteurs](#6-interfaces-and-counters)
+7. [Noms, pays et listes de menaces](#7-names-countries-and-threat-lists)
+8. [Utiliser l'interface web](#8-using-the-web-ui)
+9. [Analyse hors ligne de pcap, interface terminal, capture locale](#9-offline-pcap-terminal-ui-local-capture)
+10. [Options et données](#10-options-and-data)
+11. [Sécurité, dimensionnement, dépannage](#11-security-sizing-troubleshooting)
## 1. Essayer la démo
-Téléchargez l'archive correspondant à votre système sur la
-[page des versions](https://github.com/githubflyideas/traffic66/releases) :
-
-| Système | Archive |
-|---|---|
-| Windows 10/11, Server 2016 ou plus récent (x64) | `traffic66-windows-amd64.zip` |
-| Linux x86-64 : toute distribution avec un noyau 3.2 ou ultérieur, y compris CentOS 7 et Alpine | `traffic66-linux-amd64.tar.gz` |
-| Linux ARM64 : mêmes distributions | `traffic66-linux-arm64.tar.gz` |
-| macOS 11 ou plus récent, Apple silicon | `traffic66-darwin-arm64.tar.gz` |
-| macOS 11 ou plus récent, Intel | `traffic66-darwin-amd64.tar.gz` |
-
-Linux :
-
-```
-tar xzf traffic66-linux-amd64.tar.gz
-cd traffic66-linux-amd64
-./traffic66 demo -password try66
-```
-
-macOS (la deuxième ligne autorise macOS à lancer un programme téléchargé
-sur internet qui ne vient pas de l'App Store) :
+Téléchargez l'archive de votre système depuis la
+[page des versions](https://github.com/githubflyideas/traffic66/releases)
+(Windows x64, Linux x86-64/ARM64 avec noyau 3.2+, macOS 11+), décompressez-la et lancez :
```
-tar xzf traffic66-darwin-arm64.tar.gz
-xattr -dr com.apple.quarantine traffic66-darwin-arm64
-cd traffic66-darwin-arm64
-./traffic66 demo -password try66
+./traffic66 demo -password try66 # Linux, macOS
+.\traffic66.exe demo -password try66 # Windows
```
-Windows (PowerShell) :
-
-```
-Expand-Archive traffic66-windows-amd64.zip .
-cd traffic66-windows-amd64
-.\traffic66.exe demo -password try66
-```
-
-Ouvrez http://127.0.0.1:8066 et connectez-vous avec `admin` / `try66`. La
-démo construit le réseau d'une petite entreprise avec une journée
-d'historique et du trafic en direct provenant de quatre équipements
-simulés, dont une attaque : **Détections** en montre chaque étape (un
-scan, un scan de ports, des essais de mots de passe, un mouvement latéral,
-un envoi vers un serveur de contrôle) ainsi qu'une inondation du site web
-public. Cliquez sur **Détails** sur une détection, ou commencez par
-**Vue d'ensemble**, cliquez sur un hôte dans **Principaux clients**,
-choisissez **Voir les détails** et continuez à cliquer de proche en
-proche. Arrêtez-la avec Ctrl+C. Les données de la démo sont conservées dans
-`traffic66-demo` à côté du programme ; supprimez ce dossier pour repartir
-de zéro.
-
-La démo utilise les mêmes ports qu'une vraie installation (8066, et UDP
-6343, 2055, 4739). Pour la lancer à côté d'une installation réelle,
-donnez-lui d'autres ports :
-`traffic66 demo -password try66 -addr :8067 -listen ""`.
-
-Sous Windows, vous pouvez aussi simplement double-cliquer sur
-`traffic66.exe`. traffic66 démarre alors pour de bon (pas la démo) et ouvre
-l'interface web dans votre navigateur ; le mot de passe du premier démarrage
-s'affiche dans la fenêtre noire, et fermer la fenêtre arrête traffic66. Si
-Windows affiche "Windows a protégé votre ordinateur", cliquez sur
-**Informations complémentaires** → **Exécuter quand même**.
+Sous macOS, lancez d'abord `xattr -dr com.apple.quarantine `. Ouvrez
+http://127.0.0.1:8066 en tant que `admin` / `try66` : une journée
+d'historique et du trafic en direct venant de quatre équipements simulés,
+dont une attaque montrée étape par étape dans **Détections**. Ctrl+C
+l'arrête ; supprimez `traffic66-demo` pour repartir de zéro. Pour la lancer
+à côté d'une vraie installation : `-addr :8067 -listen ""`.
## 2. Installation
-traffic66 tient en un seul fichier. L'installer consiste à le déposer
-quelque part, choisir un répertoire de données, définir un mot de passe,
-ouvrir le pare-feu et le lancer au démarrage. Les exemples utilisent
-`192.0.2.50` pour la machine traffic66 et `192.0.2.1` pour un routeur ;
-remplacez-les par vos adresses.
-
-Ports :
-
-| Port | Usage |
-|---|---|
-| UDP 6343 | sFlow (par défaut) |
-| UDP 2055 | NetFlow (par défaut) |
-| UDP 4739 | IPFIX (par défaut) |
-| TCP 8066 | interface web et API |
-
-Chaque port UDP accepte tous les protocoles : un équipement peut donc
-envoyer du NetFlow sur le 6343 si c'est plus simple. Modifiez ou ajoutez
-des ports avec `-listen`.
+traffic66 tient en un seul fichier. Ports : UDP 6343 (sFlow), 2055
+(NetFlow), 4739 (IPFIX), TCP 8066 (interface web) ; chaque port UDP accepte
+tous les protocoles.
-
-
-### Linux
+**Linux** (systemd) :
```
-sudo mkdir -p /opt/traffic66
-sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
+sudo mkdir -p /opt/traffic66 && sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
sudo useradd --system --no-create-home --shell /usr/sbin/nologin traffic66
sudo install -d -o traffic66 -g traffic66 /var/lib/traffic66
sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66
```
-La dernière commande demande le mot de passe de l'utilisateur `admin`.
-
-Créez `/etc/systemd/system/traffic66.service` :
+`/etc/systemd/system/traffic66.service` :
```
[Unit]
Description=traffic66 flow analytics
After=network-online.target
-Wants=network-online.target
[Service]
User=traffic66
ExecStart=/opt/traffic66/traffic66 -data /var/lib/traffic66
Restart=on-failure
-# hard memory limit for the whole process (see Sizing)
MemoryMax=2G
-# only needed for local capture (-capture):
-#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
+#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN # only for local capture
[Install]
WantedBy=multi-user.target
```
-Démarrez-le et autorisez des tampons UDP plus grands pour ne pas perdre les
-rafales :
-
```
-echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf
-sudo sysctl --system
-sudo systemctl daemon-reload
-sudo systemctl enable --now traffic66
-sudo systemctl status traffic66
-journalctl -u traffic66 -f
+echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf && sudo sysctl --system
+sudo systemctl daemon-reload && sudo systemctl enable --now traffic66
+sudo firewall-cmd --permanent --add-port={6343,2055,4739}/udp --add-port=8066/tcp && sudo firewall-cmd --reload
```
-Pare-feu, avec firewalld (RHEL, Rocky, Alma, Fedora) :
+**Windows** (PowerShell en tant qu'administrateur) : décompressez dans
+`C:\traffic66`, lancez `C:\traffic66\traffic66.exe passwd`, ouvrez les ports
+et faites-le démarrer au boot :
```
-sudo firewall-cmd --permanent --add-port=6343/udp --add-port=2055/udp --add-port=4739/udp --add-port=8066/tcp
-sudo firewall-cmd --reload
-```
-
-ou avec ufw (Ubuntu, Debian) :
-
-```
-sudo ufw allow 6343,2055,4739/udp
-sudo ufw allow 8066/tcp
-```
-
-
-
-### Windows
-
-Décompressez dans `C:\traffic66` et définissez le mot de passe (PowerShell
-en tant qu'administrateur) :
-
-```
-Expand-Archive traffic66-windows-amd64.zip C:\
-Rename-Item C:\traffic66-windows-amd64 C:\traffic66
-C:\traffic66\traffic66.exe passwd
-```
-
-Les données vont dans `C:\traffic66\traffic66-data`, à côté du programme.
-
-Ouvrez le pare-feu :
-
-```
-New-NetFirewallRule -DisplayName "traffic66 flows" -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
-New-NetFirewallRule -DisplayName "traffic66 web" -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
-```
-
-Pour l'essayer au premier plan, lancez `C:\traffic66\traffic66.exe` et
-arrêtez-le avec Ctrl+C. Pour qu'il tourne en arrière-plan dès le
-démarrage, sans session ouverte, enregistrez-le comme tâche de démarrage :
-
-```
-$action = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
-$trigger = New-ScheduledTaskTrigger -AtStartup
-$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
-Register-ScheduledTask -TaskName traffic66 -Action $action -Trigger $trigger -Settings $settings -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
+New-NetFirewallRule -DisplayName traffic66 -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
+New-NetFirewallRule -DisplayName traffic66-web -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
+$a = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
+$s = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1)
+Register-ScheduledTask -TaskName traffic66 -Action $a -Trigger (New-ScheduledTaskTrigger -AtStartup) -Settings $s -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
Start-ScheduledTask -TaskName traffic66
```
-`-ExecutionTimeLimit ([TimeSpan]::Zero)` est important : sans lui, Windows
-arrête la tâche au bout de trois jours. Arrêtez-la avec `Stop-ScheduledTask -TaskName
-traffic66`, supprimez-la avec `Unregister-ScheduledTask -TaskName traffic66`.
-
-
+Double-cliquer sur `traffic66.exe` fonctionne aussi : il ouvre l'interface
+web et affiche le premier mot de passe dans sa fenêtre.
-### macOS
-
-```
-sudo mkdir -p /usr/local/traffic66
-sudo tar xzf traffic66-darwin-arm64.tar.gz -C /usr/local/traffic66 --strip-components=1
-sudo xattr -dr com.apple.quarantine /usr/local/traffic66
-sudo /usr/local/traffic66/traffic66 passwd -data "/Library/Application Support/traffic66"
-```
-
-Créez `/Library/LaunchDaemons/traffic66.plist` :
-
-```
-
-
-
-
- Labeltraffic66
- ProgramArguments
-
- /usr/local/traffic66/traffic66
- -data
- /Library/Application Support/traffic66
-
- RunAtLoad
- KeepAlive
- StandardErrorPath/Library/Logs/traffic66.log
-
-
-```
-
-Pour le démarrer, puis l'arrêter :
-
-```
-sudo launchctl bootstrap system /Library/LaunchDaemons/traffic66.plist
-tail -f /Library/Logs/traffic66.log
-sudo launchctl bootout system/traffic66
-```
-
-Si le pare-feu de macOS est actif, autorisez les connexions entrantes pour
-traffic66 dans Réglages Système → Réseau → Coupe-feu → Options.
+**macOS** : décompressez dans `/usr/local/traffic66`, retirez l'attribut de
+quarantaine, lancez `traffic66 passwd -data "/Library/Application Support/traffic66"`
+et démarrez-le depuis un LaunchDaemon dont les `ProgramArguments` sont le
+programme, `-data` et ce répertoire, avec `RunAtLoad` et `KeepAlive`.
## 3. Utilisateurs et mots de passe
-**En bref :** les utilisateurs et les mots de passe se trouvent dans un seul
-fichier, `password`, dans le répertoire de données. Vous ne le modifiez
-jamais à la main : la commande `traffic66 passwd` ajoute, modifie, liste et
-supprime les utilisateurs. Ouvrez `http://:8066` et
-connectez-vous avec l'un d'eux.
-
-
-
-### La première connexion
-
Au premier démarrage, traffic66 crée l'utilisateur `admin` avec un mot de
-passe aléatoire et l'affiche une seule fois :
-
-```
-first start: sign in as user "admin" with password "3f9c2a7e5b1d8046"
-```
-
-- Lancé par double-clic sous Windows : dans la fenêtre noire.
-- Dans un terminal : dans le terminal.
-- Service Linux : `journalctl -u traffic66 | grep "first start"`
-- Service macOS : `grep "first start" /Library/Logs/traffic66.log`
-
-Vous l'avez manqué ? Définissez-en un nouveau avec `traffic66 passwd`
-(ci-dessous). Si vous avez défini un mot de passe avec `traffic66 passwd`
-avant le premier démarrage, comme le font les étapes d'installation
-ci-dessus, aucun n'est généré.
-
-
-
-### Où sont enregistrés les utilisateurs
-
-Dans le fichier `password` du répertoire de données :
-
-| Mode d'exécution de traffic66 | Fichier |
-|---|---|
-| Décompressé et lancé depuis son dossier (par défaut) | `traffic66-data/password` à côté du programme |
-| Service Linux (section 2) | `/var/lib/traffic66/password` |
-| Tâche de démarrage Windows (section 2) | `C:\traffic66\traffic66-data\password` |
-| Service macOS (section 2) | `/Library/Application Support/traffic66/password` |
-| Démo | `traffic66-demo/password` à côté du programme |
-
-Une ligne par utilisateur. Les mots de passe sont stockés sous forme de
-hachages salés : personne ne peut les relire dans le fichier, pas même vous ;
-si un mot de passe est oublié, définissez-en un nouveau. Seul le
-propriétaire du fichier peut le lire.
-
-```
-# traffic66 login, one user per line; change with: traffic66 passwd
-admin:pbkdf2-sha256$210000$…
-alice:pbkdf2-sha256$210000$…
-```
-
-
-
-### Gérer les utilisateurs
-
-Exécutez ces commandes sur la machine traffic66 :
+passe aléatoire et l'affiche une seule fois (dans la fenêtre, le terminal
+ou `journalctl -u traffic66 | grep "first start"`). Les utilisateurs sont
+enregistrés sous forme de hachages salés dans `password` dans le répertoire
+de données et se gèrent avec une seule commande sur la machine traffic66
+(ajoutez `-data …` si traffic66 tourne avec cette option) :
| Pour | Commande |
|---|---|
@@ -357,78 +133,29 @@ Exécutez ces commandes sur la machine traffic66 :
| Ajouter l'utilisateur `alice`, ou changer son mot de passe | `traffic66 passwd -user alice` |
| Supprimer l'utilisateur `alice` | `traffic66 passwd -user alice -delete` |
| Lister les utilisateurs | `traffic66 passwd -list` |
-| Définir un mot de passe aléatoire et l'afficher | `traffic66 passwd -generate` (avec `-user` pour les autres utilisateurs) |
-
-- La commande demande deux fois le nouveau mot de passe et n'affiche pas ce
- que vous tapez. Utilisez au moins 8 caractères.
-- Si traffic66 tourne avec `-data`, ajoutez le même `-data` à la commande.
- Pour le service Linux de la section 2 :
-
- ```
- sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66 -user alice
- ```
-
- Sous Windows (PowerShell en tant qu'administrateur) :
-
- ```
- C:\traffic66\traffic66.exe passwd -user alice
- ```
-
-- Les modifications s'appliquent immédiatement, sans redémarrage : un
- nouveau mot de passe fonctionne dès la connexion suivante, et un
- utilisateur supprimé est déconnecté des navigateurs ouverts.
-- Le dernier utilisateur restant ne peut pas être supprimé ; ajoutez-en
- d'abord un autre.
-- Tous les utilisateurs voient et peuvent modifier les mêmes choses ; il n'y
- a pas de rôles.
-
-
-### Mots de passe pour les scripts et les conteneurs
-
-`TRAFFIC66_PASSWORD=…` dans l'environnement, ou `-password …` sur la ligne
-de commande, fait accepter à traffic66 un seul utilisateur pour cette
-exécution : celui désigné par `-user` (`admin` par défaut), avec ce mot de
-passe. Le fichier `password` est alors ignoré et n'est pas modifié. Préférez
-la variable d'environnement : les lignes de commande sont visibles par les
-autres utilisateurs de la machine.
-
-```
-TRAFFIC66_PASSWORD='s3cret-pass' traffic66 -user ops
-```
-
-Après cinq mots de passe erronés en une minute, l'adresse est bloquée
+Les changements s'appliquent immédiatement. Tous les utilisateurs ont les
+mêmes droits. Pour les scripts et les conteneurs, `TRAFFIC66_PASSWORD=…` (ou
+`-password`) n'accepte que `-user` avec ce mot de passe pour cette
+exécution. Cinq mots de passe erronés en une minute bloquent l'adresse
pendant une minute.
## 4. Envoyer les flux depuis vos équipements
-Faites pointer chaque équipement vers la machine traffic66. Les commandes
-varient selon les modèles et les versions logicielles ; reportez-vous au
-manuel de votre équipement. Dans tous les exemples, `192.0.2.50` est
-traffic66 et `192.0.2.1` l'adresse de l'équipement lui-même.
-
-Conseils généraux :
-
-- Réglez le timeout actif des flux à 60 secondes. Avec des timeouts plus
- longs, le trafic arrive en retard et par gros paquets.
-- Si l'équipement échantillonne NetFlow/IPFIX, faites-lui exporter ses
- options de sampler pour que le taux soit connu. traffic66 retient les
- enregistrements jusqu'à réception du taux au lieu de les compter en 1:1.
-- Échantillonnez soit toutes les interfaces, soit seulement les interfaces
- de bordure, dans un seul sens. Échantillonner le même trafic en entrée et
- en sortie le compte deux fois ; **Contrôle des interfaces** le signale.
-- Taux d'échantillonnage sFlow : environ 1:1000 pour des liens à 1 Gb/s,
- 1:4096 pour 10 Gb/s, 1:8192 pour 40/100 Gb/s.
-
-Cisco IOS / IOS-XE (Flexible NetFlow) :
+`192.0.2.50` est traffic66, `192.0.2.1` l'équipement. Réglez le timeout
+actif à 60 secondes, laissez les équipements NetFlow/IPFIX exporter leurs
+options d'échantillonneur et échantillonnez **chaque interface en entrée**
+(ou seulement les interfaces de bordure) : chaque paquet compte alors une
+seule fois. Taux sFlow : environ 1:1000 pour 1 Gb/s, 1:4096 pour 10 Gb/s,
+1:8192 pour 40/100 Gb/s.
```
+! Cisco IOS-XE, NetFlow v9
flow exporter T66
destination 192.0.2.50
transport udp 2055
- export-protocol netflow-v9
option sampler-table
flow monitor T66
exporter T66
@@ -438,39 +165,8 @@ interface GigabitEthernet0/0/0
ip flow monitor T66 input
```
-Cisco NX-OS (sFlow) :
-
-```
-feature sflow
-sflow collector-ip 192.0.2.50 vrf default
-sflow collector-port 6343
-sflow agent-ip 192.0.2.1
-sflow sampling-rate 4096
-sflow counter-poll-interval 30
-sflow data-source interface ethernet 1/1
-```
-
-Arista EOS (sFlow) :
-
-```
-sflow sample 4096
-sflow destination 192.0.2.50
-sflow source-interface Management1
-sflow run
-```
-
-Juniper EX / QFX (sFlow) :
-
-```
-set protocols sflow collector 192.0.2.50 udp-port 6343
-set protocols sflow sample-rate ingress 4096
-set protocols sflow polling-interval 30
-set protocols sflow interfaces ge-0/0/0
-```
-
-Huawei CloudEngine (sFlow) :
-
```
+# Huawei CloudEngine, sFlow (H3C Comware is similar)
sflow agent ip 192.0.2.1
sflow collector 1 ip 192.0.2.50
interface 10GE1/0/1
@@ -481,46 +177,22 @@ interface 10GE1/0/1
sflow counter interval 30
```
-H3C Comware (sFlow) :
-
-```
-sflow agent ip 192.0.2.1
-sflow collector 1 ip 192.0.2.50 port 6343
-interface Ten-GigabitEthernet1/0/1
- sflow sampling-rate 4096
- sflow flow collector 1
- sflow counter interval 30
- sflow counter collector 1
```
+# Juniper EX/QFX, sFlow
+set protocols sflow collector 192.0.2.50 udp-port 6343
+set protocols sflow sample-rate ingress 4096
+set protocols sflow interfaces ge-0/0/0
-MikroTik RouterOS 7 (NetFlow v9 / IPFIX) :
+# Arista EOS, sFlow
+sflow sample 4096
+sflow destination 192.0.2.50
+sflow run
-```
+# MikroTik RouterOS 7
/ip traffic-flow set enabled=yes interfaces=all active-flow-timeout=1m
/ip traffic-flow target add dst-address=192.0.2.50 port=2055 version=9
-```
-
-FortiGate FortiOS 7.4.2 ou plus récent (NetFlow v9) :
-
-```
-config system netflow
- config collectors
- edit 1
- set collector-ip 192.0.2.50
- set collector-port 2055
- next
- end
-end
-config system interface
- edit port1
- set netflow-sampler both
- next
-end
-```
-
-Serveurs et hôtes Linux, avec softflowd (NetFlow v9) :
-```
+# Linux host, softflowd
softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
```
@@ -528,359 +200,124 @@ softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
## 5. Vérifier que les flux arrivent
-Ouvrez **Paramètres**. Chaque équipement qui envoie quelque chose apparaît en
-quelques secondes, avec son protocole, son taux d'échantillonnage, ses
-pertes, son dernier paquet et un état. Quand l'état n'est pas vert, le
-texte à côté indique ce qui ne va pas et ce qu'il faut changer.
-
-**Perdus** compte les échantillons ou enregistrements qui ne sont jamais
-arrivés. Pour sFlow, le texte indique où ils ont disparu : en route (trous
-dans les numéros de séquence : le réseau, ou le tampon de réception UDP de
-cette machine ; si `netstat -su` montre des erreurs de tampon de réception
-en hausse, augmentez `net.core.rmem_max`), ou dans l'équipement lui-même
-(sFlow signale les échantillons abandonnés par l'équipement : son export
-sFlow est limité en débit, échantillonnez donc moins souvent ou relevez la
-limite de l'équipement). Les totaux sont compensés dans les deux cas ; le
-détail par hôte ne l'est pas.
+**Paramètres** liste en quelques secondes chaque équipement qui envoie quoi
+que ce soit : protocole, taux d'échantillonnage, pertes, les interfaces
+qu'il échantillonne et ce qu'il faut corriger quand l'état n'est pas vert.
+Les pertes sFlow se répartissent entre les pertes en chemin (augmentez
+`net.core.rmem_max` si `netstat -su` montre des erreurs de tampon) et les
+échantillons que l'équipement a lui-même abandonnés.

-Si un équipement n'apparaît pas :
-
-1. Surveillez l'arrivée des paquets sur la machine traffic66 (Linux, macOS) :
- `sudo tcpdump -ni any udp port 6343 or udp port 2055 or udp port 4739`.
- Si rien ne s'affiche, les paquets n'atteignent pas la machine : vérifiez
- la configuration de l'équipement, le routage et les pare-feu sur le
- chemin.
-2. Les paquets arrivent mais **Paramètres** reste vide : le pare-feu local les
- rejette (voir [Installation](#2-install)), ou traffic66 écoute sur
- d'autres ports (`-listen`).
-3. Pour tester le chemin depuis une autre machine sans toucher à un
- équipement, lancez-y `traffic66 simulate -to 192.0.2.50` pendant
- quelques secondes. La commande envoie du sFlow, du NetFlow et de l'IPFIX
- depuis des équipements simulés, qui apparaissent ensuite dans
- **Paramètres** et dans les données ; faites-le donc plutôt sur une
- installation de test.
-
-
-
-## 6. Faire concorder les chiffres avec les compteurs d'interface
-
-Les chiffres de flux sont des estimations : paquets échantillonnés
-multipliés par le taux d'échantillonnage. traffic66 les compare aux
-compteurs d'interface de l'équipement et affiche l'écart dans
-**Contrôle des interfaces**, avec la cause probable quand il dépasse ce que
-l'échantillonnage seul explique. Chaque interface a un graphique en bits/s
-sur toute la largeur et, en dessous, un en paquets/s, avec l'entrée (vert)
-et la sortie (bleu) ; les compteurs de l'équipement sont en pointillés sur
-le graphique en bits/s. Choisir une interface dans la liste affiche ses
-graphiques.
-
-Chaque ligne de la liste a deux boutons. **✎** donne à l'interface un nom
-et une courte étiquette (par exemple *uplink*), affichée partout à côté de
-son nom. **☆** en fait l'interface par défaut (**★**) ; il n'y en a
-qu'une. Les pages s'ouvrent alors sur elle (voir le choix **Interface**
-dans [Utiliser l'interface web](#9-using-the-web-ui)), et la vue
-d'ensemble affiche sa bande passante. Les deux sont enregistrés aussitôt
-dans la ligne `iface` de Noms.
-
-Les enregistrements de flux nomment deux interfaces : celle par laquelle un
-paquet est entré et celle par laquelle il est sorti. Un équipement qui
-n'échantillonne que certaines interfaces montre donc aussi l'autre bout de
-leurs flux. Ces **Interfaces d’en face** sont listées en dernier, en plus
-petit et en gris, sous leur propre titre : leurs chiffres ne contiennent
-que le trafic passé par une interface échantillonnée, pas tout leur
-trafic. Elles ne sont pas proposées dans **Interface** au-dessus des
-pages. traffic66 sait quelle interface a échantillonné un flux grâce à la
-source de données sFlow, ou au champ flowDirection (IPFIX 61) de NetFlow v9
-et IPFIX (ingress : l'interface d'entrée, egress : l'interface de sortie).
-Sans ce champ, une interface présente sur au moins 90 % du trafic d'un
-équipement est considérée comme l'interface échantillonnée ; s'il n'y en a
-aucune, aucune interface n'est marquée. **Paramètres** montre, pour chaque
-équipement, les interfaces échantillonnées (**Échantillonné sur :**) et si
-ses modèles portent flowDirection (**avec flowDirection (61)**). Pour voir
-tout le trafic d'un équipement, échantillonnez chaque interface en entrée
-(voir [Envoyer les flux depuis vos
-équipements](#4-send-flows-from-your-devices)).
+Un équipement manque ? Lancez `sudo tcpdump -ni any udp port 6343 or udp port 2055
+or udp port 4739` : rien ne s'affiche, c'est le routage, un pare-feu ou la
+configuration de l'équipement ; des paquets arrivent mais rien dans
+**Paramètres**, c'est le pare-feu local ou `-listen`.
+`traffic66 simulate -to 192.0.2.50` depuis une autre machine teste le
+chemin avec des équipements simulés.
+
+
+
+## 6. Interfaces et compteurs
+
+Les chiffres de flux sont des estimations (échantillons × taux
+d'échantillonnage). **Contrôle des interfaces** les compare aux compteurs
+d'interface de l'équipement (compteurs sFlow, ou SNMP via une ligne `snmp`
+dans Noms) et explique pourquoi ils diffèrent : interfaces non
+échantillonnées, le même trafic échantillonné deux fois, pertes en chemin
+ou taux d'échantillonnage inconnu. Chaque interface a un graphique en bits/s
+et un en paquets/s, entrée en vert et sortie en bleu, compteurs en
+pointillés.
+
+Sur chaque ligne, **✎** définit un nom et une courte étiquette (comme
+*uplink*) et **☆** en fait l'interface par défaut (★), sur laquelle les
+pages s'ouvrent.
+
+Un équipement qui n'échantillonne que certaines interfaces montre aussi
+l'autre extrémité de ces flux. Ces **interfaces d’en face** sont listées en
+dernier en petits caractères gris : elles ne contiennent que le trafic
+passant par l'interface échantillonnée. L'interface échantillonnée est
+connue grâce à la source de données sFlow ou au champ flowDirection
+(IPFIX 61) ; à défaut, c'est l'interface qui porte 90 % du trafic de
+l'équipement.

-Pour disposer de compteurs de comparaison :
-
-- Les équipements sFlow les envoient d'eux-mêmes dès qu'un intervalle de
- compteurs est configuré (`sflow counter interval 30` ou équivalent).
-- Pour les équipements NetFlow et IPFIX, ajoutez une ligne `snmp` dans
- **Paramètres → Noms** (voir [Noms](#7-names-snmp-and-your-own-networks)).
- traffic66 lit alors les compteurs d'interface toutes les minutes.
-
-Ce que traffic66 fait déjà pour que les chiffres concordent : il utilise le
-taux d'échantillonnage réellement appliqué par l'équipement, retient les
-enregistrements NetFlow/IPFIX jusqu'à ce que ce taux soit connu, compense
-les paquets d'export perdus en route, répartit les flux longs sur les
-minutes qu'ils ont duré et ajoute 18 octets d'overhead Ethernet par paquet
-aux octets NetFlow/IPFIX (les compteurs d'interface l'incluent, les
-comptages de flux au niveau IP non ; réglable avec `-l2-overhead`).
-
-Causes fréquentes d'un écart résiduel, toutes signalées dans
-**Contrôle des interfaces** : certaines interfaces ne sont pas
-échantillonnées, le même trafic est échantillonné sur deux interfaces, des
-paquets d'export sont perdus avant d'atteindre traffic66, ou le taux
-d'échantillonnage n'est pas encore connu.
-
-
-
-## 7. Noms, SNMP et vos propres réseaux
-
-Le moyen le plus rapide de nommer un hôte ou un équipement : cliquez sur son
-adresse sur n'importe quelle page et choisissez **Nommer…**. Tapez le nom
-et appuyez sur Entrée ; il est enregistré aussitôt et affiché partout à la
-place de l'adresse brute.
-
-Pour les réseaux, les interfaces et SNMP, utilisez **Paramètres → Noms** :
-choisissez le type (hôte, réseau, équipement, interface, SNMP), saisissez
-l'adresse et le nom, puis cliquez sur **Ajouter**. Le tableau en dessous
-liste tous les noms avec **Modifier** et **Supprimer** ; ajouter de nouveau
-la même adresse remplace l'ancienne entrée. Les adresses et les réseaux
-sont vérifiés avant l'enregistrement.
-
-Les noms sont enregistrés sous `inventory.txt` dans le répertoire de
-données, une entrée par ligne. **Modifier en texte (avancé)** affiche ce
-fichier, et vous pouvez aussi l'éditer directement (voir
-`inventory.txt.example`). Toutes les lignes sont facultatives.
-
-```
-# your networks: traffic between them is "internal"
-net 10.10.0.0/16 Office LAN
-net 203.0.113.0/24 Public servers country=JP
-
-# device names; "unsampled" if it exports every packet (1:1),
-# sampling=N if it samples 1:N but does not say so in its export
-device 192.0.2.1 Core router
-device 192.0.2.9 Branch firewall unsampled
-device 192.0.2.20 Edge router sampling=1000
-
-# interface names, by device address and ifIndex; speed in bits per second,
-# tag= a short tag, default = the interface the pages open on (one only)
-iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
-
-# host names shown instead of addresses
-host 10.10.3.27 Finance PC
-
-# read interface counters over SNMPv2c (IF-MIB 64-bit counters)
-snmp 192.0.2.1 public
-snmp 192.0.2.9 s3cret 10.99.0.9:161
-```
-
-- `net` : les plages privées (10/8, 172.16/12, 192.168/16, 100.64/10) sont
- toujours considérées comme les vôtres. Ajoutez vos plages publiques pour
- que le trafic vers et depuis elles compte aussi comme le vôtre ; le nom
- apparaît dans **Top 66** regroupé par segment et dans les chemins du
- trafic par segment. `country=JP` (un code pays à deux lettres) indique
- où se trouve le réseau ; la carte du monde trace alors des lignes depuis
- ce pays vers les pays avec lesquels il communique.
-- `snmp [[:port]]` : l'équipement
- est l'adresse d'où proviennent les flux. Ajoutez l'adresse de gestion
- quand l'équipement répond en SNMP sur une autre adresse. Les descriptions
- d'interface lues en SNMP servent de noms, sauf si vous nommez l'interface
- avec `iface`. Autorisez la machine traffic66 dans la liste d'accès SNMP
- de l'équipement.
-- Les modifications s'appliquent dès que vous cliquez sur **Enregistrer** ;
- inutile de redémarrer.
-
-
+traffic66 utilise déjà le taux appliqué par l'équipement, attend les taux
+inconnus, compense les pertes d'export, répartit les longs flux sur leurs
+minutes et ajoute 18 octets par paquet de surcoût Ethernet à NetFlow/IPFIX
+(`-l2-overhead`).
-## 8. Pays, réseaux et listes de menaces
+
-Les pays et les réseaux (AS) fonctionnent d'emblée : traffic66 intègre les bases gratuites **IP to Country Lite** et **IP to ASN Lite** de DB-IP (licence [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) ; « IP Geolocation by DB-IP », [db-ip.com](https://db-ip.com)). Les pages qui affichent pays et réseaux indiquent la source des données.
+## 7. Noms, pays et listes de menaces
-La copie intégrée date de la version que vous utilisez. DB-IP en publie une nouvelle chaque mois ; **Paramètres → Base de données pays et réseaux → Mettre à jour DB-IP Lite** télécharge la dernière depuis db-ip.com (le serveur qui exécute traffic66 doit avoir accès à internet ; en cas d'échec, l'interface l'indique).
+Cliquez sur n'importe quelle adresse et choisissez **Nommer…**, ou utilisez
+**Paramètres → Noms**. Les noms sont enregistrés dans `inventory.txt` dans
+le répertoire de données :
-Vous pouvez aussi utiliser une autre base gratuite. Téléchargez-la puis importez-la sur la même page avec **Importer un fichier de base de données…**. Elle est vérifiée, enregistrée dans le répertoire de données et utilisée aussitôt pour le nouveau trafic, sans redémarrage. Le trafic déjà enregistré garde le pays avec lequel il a été enregistré.
-
-| Base | Fournit | Licence | Où l'obtenir |
-|---|---|---|---|
-| DB-IP Lite (intégrée) | pays ; réseaux | CC BY 4.0, sans compte | [db-ip.com/db/lite.php](https://db-ip.com/db/lite.php) |
-| MaxMind GeoLite2 Country et ASN, `.mmdb` | pays ; réseaux | GeoLite2 EULA, compte gratuit | [maxmind.com](https://www.maxmind.com/en/geolite2/signup) |
-| IPinfo Lite, `ipinfo_lite.mmdb` | pays et réseaux dans un seul fichier | CC BY-SA 4.0, compte gratuit | [ipinfo.io/lite](https://ipinfo.io/lite) |
-| IPtoASN, `ip2asn-combined.tsv.gz` | réseaux avec leur pays | PDDL 1.0, sans compte | [iptoasn.com](https://iptoasn.com) |
-
-Vos fichiers sont utilisés en premier ; DB-IP Lite intégrée répond pour le reste. **Supprimer** à côté d'un fichier revient aux autres. La page liste ce qui est utilisé et la date de chaque base.
+```
+net 10.10.0.0/16 Office LAN # your networks
+net 203.0.113.0/24 Public servers country=JP # country: lines on the world map
+device 192.0.2.1 Core router
+device 192.0.2.9 Branch firewall unsampled # exports every packet
+device 192.0.2.20 Edge router sampling=1000 # rate it does not declare
+iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
+host 10.10.3.27 Finance PC
+snmp 192.0.2.1 public # read counters over SNMPv2c
+snmp 192.0.2.9 s3cret 10.99.0.9:161 # other management address
+```
-Sans l'interface web, copiez le fichier dans le répertoire de données sous le nom `country.mmdb`, `asn.mmdb`, `both.mmdb` (un fichier avec pays et réseaux, comme IPinfo Lite) ou `asn.tsv.gz`, puis redémarrez traffic66.
+Les plages privées sont toujours les vôtres. Les changements s'appliquent
+avec **Enregistrer**, sans redémarrage.
-**Géographie et réseaux** affiche sur une carte du monde le trafic avec les autres pays : plus un pays est foncé, plus il y a de trafic. Survolez un pays pour voir son trafic ; cliquez pour filtrer ou ouvrir ses enregistrements de flux. Quand vos réseaux ont un pays (`country=` sur une ligne `net`, voir [Noms](#7-names-snmp-and-your-own-networks)), des lignes vont de ce pays vers les pays avec lesquels ils échangent du trafic, d'autant plus épaisses que le trafic est important. Les contours des pays viennent de [Natural Earth](https://www.naturalearthdata.com) (domaine public).
+Les pays et les réseaux (AS) fonctionnent d'emblée avec les bases gratuites
+Lite de DB-IP ([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), "IP
+Geolocation by DB-IP", [db-ip.com](https://db-ip.com)) ; **Paramètres** les
+met à jour, ou accepte à leur place des fichiers MaxMind GeoLite2, IPinfo
+Lite ou IPtoASN. Contours de la carte : [Natural Earth](https://www.naturalearthdata.com).

Les listes de menaces sont des fichiers texte avec une adresse ou un réseau
-par ligne (le texte après `#` ou `;` est ignoré), enregistrés sous
-`/threats/.txt`, par exemple :
-
-```
-mkdir -p /threats
-curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamhaus-drop.txt
-```
-
-Redémarrez traffic66 après avoir ajouté ou modifié des listes. Les
-correspondances apparaissent dans **Menaces**, par nom de liste.
+par ligne dans `/threats/.txt` (par exemple Spamhaus DROP) ;
+redémarrez après les avoir modifiées. Les correspondances apparaissent dans
+**Menaces**.

-
-
-## 9. Utiliser l'interface web
-
-Vous aurez rarement besoin de taper quoi que ce soit. Chaque valeur de
-chaque page (adresse, port, application, pays, équipement) est cliquable :
-
-- **Afficher seulement ceci** / **Exclure ceci** ajoute un filtre. Les
- filtres s'affichent sous la barre du haut et s'appliquent à toutes les
- pages jusqu'à ce que vous les retiriez.
-- **Voir ses enregistrements de flux** ouvre les flux individuels
- correspondants.
-- **Voir les détails** (hôtes, équipements et services) ouvre une page
- consacrée à cet hôte ou à ce service : son trafic dans le temps par
- application, avec qui il communique, quels services ou clients, les pays
- et ses derniers flux. Chaque valeur y est à nouveau cliquable, ce qui
- permet de creuser toujours plus loin ; le bouton Retour du navigateur
- ramène en arrière.
-- **Nommer…** (hôtes et équipements) donne un nom à l'adresse, affiché
- partout par la suite.
-- **Rechercher en ligne** ouvre l'adresse ou l'AS sur un site public de
- recherche.
-- **Copier** copie la valeur.
-
-Pages :
-
-| Page | À quoi elle répond |
-|---|---|
-| Vue d'ensemble | La bande passante de l'interface choisie (ou de celle par défaut, ou sinon de la plus chargée) en bits/s, entrée et sortie vues par l'interface ; combien de trafic maintenant, par application (**Total**, ou seulement le trafic **Entrant** ou **Sortant** de vos réseaux), par rapport à la même heure hier (périodes jusqu'à un jour), à la semaine dernière (jusqu'à une semaine) ou aux jours précédents (périodes plus longues), quand il y a des données à ce moment-là ; détections ouvertes ; sens et protocole ; principaux clients et services |
-| Top 66 | S'ouvre sur **Tableau**, 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. **Interlocuteurs principaux** montre 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 |
-| Détails du trafic | Deux graphiques en anneaux. **Serveurs et clients** : l'anneau intérieur montre les 8 serveurs les plus actifs, l'anneau extérieur les clients de chacun ; **Clients au centre** inverse le tout (clients au centre, à l'extérieur les serveurs utilisés par chacun), car un côté en explique souvent plus que l'autre. **Services** : un seul anneau des services les plus chargés. Survolez un segment pour voir son trafic ; cliquez dessus comme sur n'importe quelle valeur |
-| 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. Les noms longs sont raccourcis à 22 caractères ; survolez-en un pour voir le nom complet |
-| 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)) |
-| Menaces | Hôtes ayant communiqué avec des adresses de vos listes de menaces, et volume envoyé |
-| Géographie et réseaux | Une carte du monde du trafic par pays, avec des lignes depuis vos réseaux ; 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 |
-| Paramètres | Équipements, échantillonnage, les interfaces que chaque équipement échantillonne et s'il envoie flowDirection, pertes, collecteurs, SNMP, la base de données pays et réseaux, le logo et **Noms** |
-| Contrôle des interfaces | Trafic de chaque interface dans le temps en bits/s et, en dessous, en paquets/s, entrée (vert) et sortie (bleu), avec les compteurs de l'équipement en pointillés ; l'écart entre les chiffres de flux et les compteurs, les pires en premier, avec les causes ; un nom, une étiquette et l'interface par défaut pour chaque interface |
-| Enregistrements de flux | Combien d'enregistrements de flux il y a eu et quand (une barre par intervalle), et les enregistrements eux-mêmes, du plus récent au plus ancien, page par page, avec colonnes au choix. S'ouvre sur les 15 dernières minutes, mises à jour toutes les 5 secondes ; ouverte depuis une valeur d'une autre page (**Voir ses enregistrements de flux**), elle garde la plage de temps de cette page, et **Revenir au temps réel** y revient |
-| Nettoyage des données | Supprime les données de plus de 120, 90, 60, 30 ou 7 jours, ou toutes, en indiquant ce que chaque choix libère ([plus](#13-data-backup-upgrade-uninstall)) |
-| Analyse hors ligne de pcap | Captures de paquets (pcap, pcapng) analysées à part des données en direct ([plus](#analyse-hors-ligne-de-pcap)) |
-
-Le menu latéral range les pages en quatre groupes : trafic (Vue
-d'ensemble, Top 66, Détails du trafic, Chemins du trafic, Contrôle des
-interfaces, Enregistrements de flux), sécurité (Détections, Menaces,
-Géographie et réseaux), Paramètres et Analyse hors ligne de pcap, et
-Nettoyage des données tout en bas. Sous le logo figurent la version
-ainsi que la date et l'heure du serveur.
-
-Au-dessus des pages de trafic (Vue d'ensemble, Top 66, Détails du trafic,
-Chemins du trafic, Géographie et réseaux, Enregistrements de flux et le
-détail d'une valeur) se trouve **Interface** : **Toutes les interfaces**,
-ou une seule interface, pour que ces pages ne montrent que le trafic qui
-la traverse (en entrée ou en sortie). Il liste les interfaces
-échantillonnées, regroupées par équipement, et démarre sur l'interface par
-défaut (★, définie dans **Contrôle des interfaces**) et le choix fait
-partie du lien. Détections, Menaces, Contrôle des interfaces et Paramètres
-couvrent toujours tout le trafic. Pour une interface sur 7 ou 30 jours,
-les pages lisent les enregistrements de flux plutôt que les résumés
-horaires et journaliers ; elles mettent donc plus de temps et remontent
-aussi loin que les enregistrements de flux sont conservés (30 jours par
-défaut).
-
-Au-dessus des pages : la plage de temps (de 15 minutes à 30 jours, ou
-**Personnalisé…** pour n'importe quels début et fin, y compris au-delà de
-30 jours), le rafraîchissement automatique toutes les 30 secondes et
-**Copier le lien**, qui copie un lien vers la vue exacte (page, plage de
-temps et filtres) à envoyer à un collègue. Sur **Top 66** et **Détails du
-trafic**, **Équipement**, **Client**, **Serveur** et **Service**
-listent les valeurs les plus actives de la plage :
-choisissez-en une, ou tapez-la, pour filtrer ; le filtre s'applique alors
-à toutes les pages jusqu'à ce que vous vidiez le champ. La langue suit
-celle du navigateur ; on la change en bas du menu, au-dessus de
-**Se déconnecter**. Paramètres, Enregistrements de flux (en temps réel),
-Nettoyage des données et Analyse hors ligne de pcap n'ont pas de plage de
-temps.
-
-À côté de la langue se trouve le thème de couleurs, inspiré des couleurs
-système d'iOS : **Clair** (par défaut), **Gris**, **Noir** (pour les
-écrans muraux), **Sarcelle** et **Orange**. Chaque clic passe au suivant ;
-le choix est conservé dans le navigateur.
-
-Les graphiques dans le temps montrent les 8 plus grandes valeurs en couleurs
-fixes et le reste dans Autres ; la légende donne le total de chaque valeur
-et se clique comme n'importe quelle autre valeur. Les graphiques des clients
-et des serveurs ne dessinent pas le reste, car avec des milliers d'hôtes il
-écraserait les 8 premiers ; la légende en donne toujours le total.
-
-Les graphiques s'arrêtent là où les données sont complètes : avec sFlow à la
-minute en cours, avec NetFlow et IPFIX un peu plus tôt, du temps que mettent
-les équipements à exporter leurs flux (traffic66 le mesure ; 2 minutes au
-plus).
-
-Les plages de plus de 6 heures commencent à une heure pile, si bien que
-chaque chiffre de la page porte exactement sur la même durée : "24 heures"
-couvre les 24 dernières heures entières plus l'heure en cours. Sur ces
-plages, Top 66 s'appuie sur des agrégats horaires ; les filtres n'y sont pas
-disponibles, et la page le signale. Choisissez une plage plus courte pour
-filtrer. Les conversations lisent toujours le détail des flux : sur de longues plages
-avec beaucoup de flux, cela peut prendre un moment ; une heure est le plus rapide.
-
-Le menu latéral indique l'espace disque utilisé par les données et l'espace
-libre ; survolez l'espace libre pour voir ce dont les jours de détail
-conservés ont besoin au rythme actuel (estimation disponible dès qu'il y a
-une journée de données).
-
-Pour afficher votre propre logo sur la page de connexion et en haut du
-menu, utilisez **Paramètres → Logo → Importer un logo…** : PNG, SVG, JPEG,
-WebP ou GIF, 1 Mo au plus, idéalement 272 × 92 pixels (les autres tailles
-sont ajustées). **Revenir au logo intégré** rétablit celui de traffic66.
-
-
+
-### Détections
+## 8. Utiliser l'interface web
-**Détections** liste ce que traffic66 a trouvé dans les flux, le plus grave
-en premier. Il examine les 10 dernières minutes toutes les 5 minutes ; ce
-qui dure une heure forme une seule détection qui grandit, pas une nouvelle
-à chaque examen.
+Chaque valeur de chaque page est cliquable : **Afficher seulement ceci** /
+**Exclure ceci** (les filtres s'appliquent à toutes les pages), **Voir ses
+enregistrements de flux**, **Voir les détails** (une page consacrée à un
+hôte ou à un service), **Nommer…**, **Rechercher en ligne**, **Copier**.
-| Détection | Ce que cela signifie | Gravité |
-|---|---|---|
-| Scan | Une adresse a envoyé de petites sondes à de nombreuses adresses sur un même port (TCP ou ping) | Élevée depuis votre réseau, faible depuis internet |
-| Scan de ports | Une adresse a envoyé de petites sondes à de nombreux ports d'un même hôte | Élevée depuis l'intérieur, faible depuis internet |
-| Essais de mots de passe | De nombreuses connexions courtes vers un service de connexion (SSH, RDP, SMB, bases de données et autres) | Élevée depuis l'intérieur, faible depuis internet |
-| Mouvement latéral | Dans votre réseau, des sessions de partage de fichiers ou d'administration à distance (SMB, RDP, SSH, WinRM, VNC) vers des hôtes qui n'avaient jamais offert ce service | Élevée |
-| Envoi inhabituel | Un hôte interne a envoyé bien plus qu'il n'a reçu (100 Mo en 10 minutes, trois fois ce qu'il a reçu) vers une adresse avec laquelle il n'avait jamais échangé de données | Élevée |
-| Inondation | 20 000 petits paquets par seconde ou plus vers une adresse, dix fois son débit habituel | Moyenne |
-| Liste de menaces | Trafic avec une adresse de l'une de vos listes de menaces | Élevée quand votre hôte s'y est connecté, faible quand l'adresse listée a frappé de l'extérieur |
-
-Chaque détection indique qui a fait quoi à qui, quand et pendant combien de
-temps, avec les chiffres à l'appui et la façon dont les données ont été
-échantillonnées. **Détails** ouvre la page de l'hôte, qui liste aussi les
-détections qui le concernent. **Traité** ferme une détection ; si cela se
-reproduit, une nouvelle s'ouvre. **Fausse alerte** la ferme définitivement :
-elle n'est plus jamais signalée. Le nombre rouge à côté de **Détections**
-dans le menu latéral compte les détections ouvertes de gravité élevée et
-moyenne des dernières 24 heures.
-
-Les mouvements latéraux et les envois inhabituels ont besoin de savoir ce
-qui est normal ; ils ne sont donc signalés qu'une fois qu'il y a une
-journée d'historique. Au premier démarrage, traffic66 apprend à partir de
-l'historique dont il dispose déjà.
-
-Avec des données échantillonnées (sFlow, NetFlow échantillonné), les règles
-comptent ce que montrent les échantillons et en demandent moins, mais
-chacun doit alors ressembler à une courte sonde, si bien que les hôtes
-normaux très actifs ne les déclenchent pas. Ce que l'échantillonnage cache
-ne peut pas être trouvé : derrière un échantillonnage 1:4096, un scan de
-quelques dizaines d'hôtes envoie trop peu de paquets pour être vu.
-L'attaque de la démo passe par un switch qui échantillonne à 1:4096 et est
-trouvée entièrement ; une journée de trafic normal de la démo ne produit
-aucune détection, hormis le scanner d'internet qui frappe à la porte du
-site web.
-
-
+| Page | Ce qu'elle montre |
+|---|---|
+| Vue d'ensemble | La bande passante de l'interface choisie ; le trafic par application (total, entrant ou sortant) par rapport à hier ou à la semaine dernière ; les détections ouvertes ; principaux clients et services |
+| Top 66 | Les 66 premières conversations, triables par n'importe quelle colonne, ou regroupées par application, réseau, segment, équipement, encapsulation, VLAN ; les 30 interlocuteurs principaux |
+| Détails du trafic | Graphiques en anneaux : serveurs et leurs clients (ou l'inverse), et services |
+| Chemins du trafic | Hôte → application → pays, ou client → service → serveur, ou par réseau |
+| Contrôle des interfaces | Chaque interface dans le temps face à ses compteurs ; noms, étiquettes, interface par défaut |
+| Enregistrements de flux | Les flux individuels, en direct toutes les 5 secondes ou sur n'importe quelle plage de temps |
+| Détections, Menaces | Ce qui demande votre attention ([ci-dessous](#findings)) ; trafic avec des adresses listées |
+| Géographie et réseaux | Une carte du monde par pays, les réseaux (AS) dans le temps |
+| Paramètres | Équipements, échantillonnage, pertes, SNMP, bases de données, logo, noms |
+| Analyse hors ligne de pcap, Nettoyage des données | Fichiers de capture ([ci-dessous](#9-offline-pcap-terminal-ui-local-capture)) ; suppression des anciennes données |
+
+Au-dessus des pages : **Interface** (toutes, ou une interface
+échantillonnée ; les pages de trafic ne montrent alors que le trafic qui la
+traverse), la plage de temps (de 15 minutes à 30 jours, ou personnalisée),
+le rafraîchissement toutes les 30 s et **Copier le lien** pour la vue
+exacte. La langue et cinq thèmes de couleurs se trouvent en bas du menu.
+Les graphiques s'arrêtent là où les données sont complètes : avec
+NetFlow/IPFIX, aussi tard que les équipements exportent (2 minutes au
+plus). Les plages de plus de 6 heures commencent à une heure pile ; une
+interface sur 7 ou 30 jours lit le détail des flux, c'est donc plus lent et
+cela ne remonte que jusqu'où le détail est conservé.

@@ -890,385 +327,125 @@ site web.

-La même vue d'ensemble en chinois ; toutes les pages sont disponibles en 13 langues :
-

-
-
-### Analyse hors ligne de pcap
-
-**Analyse hors ligne de pcap** affiche des captures Wireshark ou tcpdump avec les mêmes pages que les données en direct, sans les mélanger.
-
-Il résume tous les paquets en flux : qui a parlé à qui, combien, quand, et ce qui ressemble à une attaque. Il ne décode pas les protocoles et ne montre pas le contenu des paquets ; pour un paquet ou un flux TCP, utilisez Wireshark.
-
-En ligne de commande, sans rien configurer :
+
-```
-traffic66 office.pcap
-traffic66 a.pcap b.pcapng c.pcap
-```
+### Détections
-traffic66 démarre sur cet ordinateur seulement (127.0.0.1, un port libre), affiche l'adresse, le mot de passe et un lien de connexion à usage unique, et ouvre le navigateur sur la capture. Jusqu'à 3 fichiers, 3 Go au total ; ils sont lus là où ils sont et jamais modifiés. Rien n'est collecté ni envoyé, et les noms d'hôte ne sont pas résolus (`-dns` l'active). Ctrl+C arrête et efface les données importées. Sur une machine à 2 cœurs, une capture de 1 Go est prête en 5 secondes environ (1,2 million de paquets pleine taille) à 30 secondes (14 millions de petits paquets).
+Vérifiées toutes les 5 minutes sur les 10 dernières ; ce qui dure une heure
+forme une seule détection qui grandit.
-```
-$ traffic66 office.pcap
+| Détection | Ce que cela signifie |
+|---|---|
+| Scan, scan de ports | Petites sondes vers de nombreux hôtes sur un port, ou vers de nombreux ports d'un hôte |
+| Essais de mots de passe | De nombreuses connexions courtes vers un service de connexion |
+| Mouvement latéral | Partage de fichiers ou administration à distance vers des hôtes internes qui ne l'avaient jamais proposé |
+| Envoi inhabituel | 100 Mo en 10 minutes vers une nouvelle adresse, trois fois ce qui est revenu |
+| Inondation | 20 000+ petits paquets/s vers une adresse, dix fois son débit habituel |
+| Liste de menaces | Trafic avec une adresse listée |
+
+Depuis votre réseau, leur gravité est élevée ; depuis internet, faible.
+**Traité** ferme une détection, **Fausse alerte** la fait taire pour de
+bon. Les mouvements latéraux et les envois demandent une journée
+d'historique. À travers un échantillonnage 1:4096, l'attaque de la démo est
+entièrement détectée ; de très petits scans peuvent se cacher derrière
+l'échantillonnage.
-traffic66 0.3.1: analysing 1 capture file(s); nothing is collected or sent
- Web UI http://127.0.0.1:38217 (port 38217, this computer only)
- Sign in user admin, password gfhfhbuutz2e
- Open http://127.0.0.1:38217/auto?t=b9388f… (signs in once)
- Stop Ctrl+C; the imported data is deleted, your files are kept
-```
+
-Dans l'interface web d'un traffic66 en marche :
+
-1. **Importer des fichiers de capture…** : `.pcap` ou `.pcapng`, non compressés. Jusqu'à 3 fichiers de 50 Mo au plus chacun. Les fichiers sont transformés en flux dans une base à part (`/sandbox/`) ; les données en direct, leurs chiffres et détections ne sont pas touchés.
-2. **Analyser** : toutes les pages (vue d'ensemble, Top 66, détails du trafic, détections, chemins, carte, enregistrements de flux) montrent les fichiers sur toute leur durée. Une barre orange nomme les fichiers ; **Retour aux données en direct** revient. Chaque fichier apparaît comme un équipement : le champ **Équipement** montre un fichier à la fois.
-3. Les règles de détection s'appliquent à la capture : balayages, scans de ports et essais de mots de passe apparaissent dans **Détections**. Les règles qui demandent un jour d'historique (mouvement latéral, envois inhabituels) ne s'appliquent pas à une capture.
-4. **Supprimer** efface un fichier et ses données ; **Tout supprimer** efface tout.
+## 9. Analyse hors ligne de pcap, interface terminal, capture locale
-La démo contient une capture d'exemple avec une attaque.
+**Analyse hors ligne de pcap** montre des captures de paquets (pcap,
+pcapng) avec les mêmes pages, à part des données en direct :
+`traffic66 a.pcap b.pcapng` démarre sur 127.0.0.1 et ouvre le navigateur
+(jusqu'à 3 fichiers, 3 Go ; Ctrl+C supprime les données importées), ou
+importez sur cette page jusqu'à 3 fichiers de 50 Mo. L'analyse porte sur
+les flux, pas sur le contenu des paquets.

-## 10. Interface terminal
-
-```
-traffic66 tui # traffic66 on this machine
-traffic66 tui -server http://192.0.2.50:8066 -user admin -password …
-traffic66 -tui # collect and show the terminal UI in one process
-```
-
-Sur la machine traffic66, `traffic66 tui` se connecte tout seul s'il peut
-lire le répertoire de données (indiquez `-data` s'il ne s'agit pas de
-celui par défaut). Si traffic66 tourne sous un autre utilisateur, comme
-c'est le cas d'un service, utilisez plutôt `-user` et `-password`. `-lang`
-choisit la langue (`en`, `zh`, `hi`, `es`, `ar`, `fr`, `bn`, `pt`, `ru`,
-`id`, `ur`, `ja`, `ko`).
-
-Touches : 1–8 pages, ↑↓ sélection, Entrée actions sur la valeur
-sélectionnée, f afficher seulement, x exclure, / rechercher, t plage de
-temps, c effacer les filtres, w ouvrir la même vue dans un navigateur,
-q quitter.
+**Interface terminal** : `traffic66 tui` sur la machine traffic66, ou
+`traffic66 tui -server http://192.0.2.50:8066 -user admin -password …`.
+Touches : 1–8 pages, Entrée actions, f afficher seulement, x exclure,
+t plage de temps, w ouvrir dans un navigateur, q quitter ; `-lang` choisit
+la langue.


-
-
-## 11. Capture locale
-
-En plus de recevoir des exports de flux, traffic66 peut construire lui-même
-des flux à partir des paquets d'une interface réseau de la machine sur
-laquelle il tourne. Ce qu'il voit dépend de l'interface :
-
-| Interface | Ce que voit traffic66 |
-|---|---|
-| Un port réseau libre relié au port miroir (SPAN) d'un switch | Tout le trafic que le switch recopie : un réseau entier ou un lien montant |
-| L'Ethernet ou le Wi-Fi de la machine elle-même | Uniquement le trafic de cette machine |
-
-Les cartes Wi-Fi ne voient pas le trafic des autres équipements. Pour voir
-tout un réseau Wi-Fi, faites exporter les flux par le routeur ou le point
-d'accès (section 4), ou mettez en miroir le port du switch auquel le point
-d'accès est relié.
-
-
-
-### Windows
-
-1. Installez [Npcap](https://npcap.com) avec ses options par défaut. Si vous
- cochez "Restrict Npcap driver's access to Administrators only", lancez
- traffic66 en tant qu'administrateur.
-2. Listez les interfaces (PowerShell) :
-
- ```
- C:\traffic66\traffic66.exe interfaces
- ```
-
- ```
- # Name Address Adapter / device
- 1 Ethernet - Intel(R) Ethernet I219-V \Device\NPF_{4B8A2C1E-…}
- 2 Wi-Fi 192.168.1.23 Intel(R) Wi-Fi 6 AX201 \Device\NPF_{9F00AA11-…}
- 3 Loopback - Adapter for loopback traffic capture \Device\NPF_Loopback
- ```
-
- La colonne Name est le nom de la connexion dans les paramètres réseau de
- Windows ; l'interface utilisée a une adresse.
-3. Capturez sur le Wi-Fi, par nom ou par numéro :
-
- ```
- C:\traffic66\traffic66.exe -capture Wi-Fi
- C:\traffic66\traffic66.exe -capture 2
- ```
-
- Mettez entre guillemets les noms qui contiennent des espaces :
- `-capture "Ethernet 2"`. Répétez `-capture` pour capturer sur plusieurs
- interfaces. Ajoutez `-listen=` si vous voulez seulement la capture, sans
- collecteurs de flux. Pour la tâche de démarrage de la section 2, ajoutez
- l'option à `-Argument` :
- `-Argument '-data C:\traffic66\traffic66-data -capture Wi-Fi'`.
-
-
-
-### Linux
-
-```
-traffic66 interfaces
-sudo setcap cap_net_raw,cap_net_admin+ep /opt/traffic66/traffic66
-traffic66 -capture eth1
-```
-
-La capture nécessite root, ou les capabilities `CAP_NET_RAW` et
-`CAP_NET_ADMIN` : la ligne `setcap` ci-dessus, ou la ligne
-`AmbientCapabilities` de l'unité systemd de la section 2. Les interfaces
-Wi-Fi s'appellent généralement `wlan0` ou `wlp…`.
-
-
-
-### macOS
-
-```
-traffic66 interfaces
-sudo traffic66 -capture en0
-```
-
-La capture nécessite root ; rien à installer. Sur les MacBook, `en0` est le
-Wi-Fi.
-
-
-
-### Vérifier que ça fonctionne
-
-**Paramètres** liste chaque interface capturée avec la méthode de capture et le
-nombre de paquets vus. Les flux apparaissent comme provenant de l'équipement
-`127.0.0.1` (cette machine), sur toutes les pages, comme ceux de n'importe
-quel autre équipement. Les paquets vus deux fois (par exemple sur deux ports
-miroir) sont comptés deux fois.
-
-
+**Capture locale** construit des flux à partir d'une interface locale,
+idéalement un port relié au port miroir d'un switch : `traffic66 interfaces`
+les liste, `-capture eth1` (ou un nom ou numéro Windows) capture. Linux
+demande root ou `setcap cap_net_raw,cap_net_admin+ep`, macOS root, Windows
+[Npcap](https://npcap.com). Les flux capturés proviennent de l'équipement
+`127.0.0.1`.
-## 12. Options
+
-`traffic66 -h` et `traffic66 -h` listent tout.
+## 10. Options et données
-Commandes :
-
-| Commande | |
-|---|---|
-| `traffic66` | collecte les flux et sert l'interface web |
-| `traffic66 demo` | idem, avec un réseau simulé |
-| `traffic66 tui` | interface terminal pour un traffic66 en cours d'exécution |
-| `traffic66 passwd` | ajoute, modifie, liste ou supprime des utilisateurs (voir [Utilisateurs et mots de passe](#3-users-and-passwords)) |
-| `traffic66 simulate -to HOST` | envoie des exports simulés à un collecteur |
-| `traffic66 interfaces` | liste les interfaces pour la capture locale |
-| `traffic66 version` | affiche la version |
-
-Options de `traffic66` et `traffic66 demo` :
+`traffic66 -h` liste tout. Les plus utilisées :
| Option | Défaut | |
|---|---|---|
-| `-addr` | `:8066` | adresse de l'interface web ; `127.0.0.1:8066` pour cette machine uniquement |
| `-data` | `traffic66-data` à côté du programme | répertoire de données |
-| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | collecteurs UDP sous la forme `name=address`, séparés par des virgules ; vide pour désactiver |
-| `-user` | `admin` | nom de l'utilisateur créé au premier démarrage, et de l'utilisateur auquel s'applique `-password` |
-| `-password` | non défini | n'accepte que `-user` avec ce mot de passe pour cette exécution, en ignorant le fichier `password` (aussi `TRAFFIC66_PASSWORD`) |
-| `-retention-days` | `30` | jours de détail des flux conservés ; les agrégats sont gardés 400 jours |
-| `-memory` | `0.10` | part de la mémoire physique pour le cache de la base de données, et autant en limite souple pour le reste du programme (chacun au moins 256 Mo) |
-| `-l2-overhead` | `18` | octets par paquet ajoutés aux octets NetFlow/IPFIX |
+| `-addr` | `:8066` | interface web ; `127.0.0.1:8066` pour cette machine uniquement |
+| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | collecteurs UDP ; vide pour désactiver |
+| `-retention-days` | `30` | jours de détail des flux ; les agrégats sont gardés 400 jours |
+| `-memory` | `0.10` | part de la RAM pour le cache de la base de données |
| `-sampling-wait` | `5m` | durée pendant laquelle les enregistrements attendent un taux d'échantillonnage |
-| `-capture` | | capture sur une interface locale (répétable) |
-| `-inventory` | `/inventory.txt` | fichier de noms |
-| `-asn` | `/asn.tsv.gz` | table IP-vers-ASN (fichiers `.mmdb` : importez-les, ou `/country.mmdb` et `/asn.mmdb`, `/both.mmdb`) |
-| `-threat` | `/threats/*.txt` | liste de menaces supplémentaire sous la forme `name=path` (répétable) |
-| `-dns-upstream` | résolveur du système | serveur DNS pour afficher les noms d'hôte |
-| `-dns-rate` | `20` | nombre maximal de résolutions inverses par seconde |
-| `-dns-cache` | `2m` | durée de mise en cache des noms d'hôte |
+| `-capture` | | interface locale (répétable) |
| `-no-dns` | | pas de résolution inverse |
-| `-tui` | | ouvre aussi l'interface terminal |
-Exemple : un second port de collecte, un an de détail et l'interface web
-uniquement sur la machine locale :
-
-```
-traffic66 -data /var/lib/traffic66 -listen "sflow=:6343,netflow=:2055,ipfix=:4739,netflow=:9995" -retention-days 365 -addr 127.0.0.1:8066
-```
+Le répertoire de données contient `raw/` (détail, un fichier par heure),
+`traffic66.duckdb` (agrégats et compteurs), `password`, `inventory.txt`,
+`license.json`, votre logo et les bases de données. Pour sauvegarder,
+arrêtez traffic66 et copiez-le ; pour mettre à jour, remplacez le fichier
+du programme. **Nettoyage des données** supprime les données de plus de
+7 à 120 jours, ou toutes.
+
+
+
+### Licence
+
+Source disponible sous la [PolyForm Noncommercial License 1.0.0](../LICENSE.md)
+et le [Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md) (le texte
+anglais fait foi) : gratuit pour l'évaluation et pour les organisations de
+moins de 100 personnes ; les organisations plus grandes s'enregistrent après
+30 jours d'utilisation en production ; la vente, l'hébergement pour des
+tiers ou les produits concurrents nécessitent une licence commerciale. Rien
+n'est jamais désactivé. Le bas de chaque page affiche le numéro
+d'installation à 8 chiffres ; envoyez-le à l'auteur et placez le
+`license.json` reçu en retour dans le répertoire de données. Contact :
+.
-
+
-## 13. Données, sauvegarde, mise à jour, désinstallation
+## 11. Sécurité, dimensionnement, dépannage
-Le répertoire de données contient tout :
+L'interface web est en HTTP simple : sur des réseaux non fiables, utilisez
+`-addr 127.0.0.1:8066` derrière un proxy TLS (`caddy reverse-proxy --from traffic66.example.com --to
+127.0.0.1:8066`) ou un tunnel SSH. N'autorisez les ports UDP que depuis vos
+équipements. Les communautés SNMP sont stockées en clair ; utilisez des
+communautés en lecture seule.
-| | |
-|---|---|
-| `raw/` | détail des flux, un fichier compressé par heure |
-| `traffic66.duckdb` | agrégats, compteurs d'interface et heure en cours |
-| `password` | mots de passe de connexion (hachés) |
-| `inventory.txt` | noms (**Paramètres → Noms**) |
-| `license.json` | numéro d'installation et licence (voir [Essai et licence](#trial-and-licence)) |
-| `logo.png` (ou `.svg`, `.jpg`, `.webp`, `.gif`) | votre logo (**Paramètres → Logo**), si vous en avez importé un |
-| `country.mmdb`, `asn.mmdb`, `both.mmdb`, `asn.tsv.gz`, `dbip-country.mmdb`, `dbip-asn.mmdb`, `threats/`, `sandbox/` | bases de données pays et réseaux et listes de menaces que vous avez ajoutées |
-
-**Durée de conservation** : le détail des flux 30 jours, les résumés (vue d'ensemble et longues périodes) 400 jours.
-Les données plus anciennes sont supprimées automatiquement, vérifiées toutes les 5 minutes ; rien d'autre n'est
-supprimé et il n'y a aucune autre limite. Modifiez la durée du détail avec `-retention-days`, n'importe quel nombre
-de jours, par exemple `-retention-days 365`. L'espace disque augmente d'autant : **Libre** dans le menu latéral passe
-au rouge quand les jours conservés ne tiennent pas. Si le disque est plein, les nouveaux flux ne peuvent pas être
-enregistrés tant que de l'espace n'est pas libéré.
-
-**Nettoyage des données** dans le menu latéral supprime des données avant
-que ce soit nécessaire : celles de plus de 120, 90, 60, 30 ou 7 jours, ou
-toutes. Pour chaque choix, il indique combien d'enregistrements de flux
-partent et environ combien d'espace disque est libéré, et demande
-confirmation avant de supprimer. Sont supprimés les enregistrements de
-flux, les résumés horaires et journaliers, les compteurs d'interface et
-les détections ; supprimer toutes les données réinitialise aussi ce que
-les règles de détection ont appris. C'est irréversible.
-
-- **Sauvegarde** : arrêtez traffic66 et copiez le répertoire. Sans
- l'arrêter, copiez `raw/`, `password` et `inventory.txt` ; l'heure en
- cours et les agrégats manqueront alors.
-- **Déplacement** : arrêtez traffic66, déplacez le répertoire, puis
- démarrez avec `-data` pointant vers le nouvel emplacement.
-- **Mise à jour** : arrêtez traffic66, remplacez le fichier du programme,
- redémarrez-le. Les données sont conservées. Sous Linux, par exemple :
-
- ```
- sudo systemctl stop traffic66
- sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
- sudo systemctl start traffic66
- ```
-
-- **Désinstallation** : arrêtez et supprimez le service ou la tâche de
- démarrage (voir [Installation](#2-install)), puis supprimez le dossier du
- programme et le répertoire de données.
-
-
-
-### Essai et licence
-
-traffic66 est à source disponible sous la
-[PolyForm Noncommercial License 1.0.0](../LICENSE.md) et le
-[Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md) ; le texte
-anglais des deux fait foi. En bref :
-
-- **Évaluation**, tests, développement et démonstrations : gratuit pour
- tous, sans limite de durée.
-- **Utilisation en production** (trafic réel, pour les opérations d'une
- organisation) par une organisation de moins de 100 salariés et
- prestataires : gratuite.
-- Utilisation en production par des **organisations plus grandes** :
- gratuite pendant 30 jours, puis une licence d'enregistrement de l'auteur
- est nécessaire.
-- Prestataires et fournisseurs de services peuvent l'exploiter pour un
- client, dans un déploiement propre à ce client ; c'est la taille du
- client qui compte.
-- Interdit sans licence commerciale : le vendre ou l'intégrer à un
- produit, le proposer à des tiers comme service hébergé ou multi-locataire,
- ou un produit concurrent.
-
-Le prix, la portée et la durée d'une licence d'enregistrement sont fixés au
-cas par cas, et elle peut être gratuite. Contact :
-.
+À 5 000 flux/s sur 2 cœurs : environ 12 Go de disque par jour de détail
+(360 Go pour 30 jours), un sixième de cœur, 0,6 à 0,8 Go de mémoire. Les
+vues d'ensemble sur de longues plages prennent moins de 0,2 s ; un Top 66
+d'une heure de toutes les conversations, environ 9 s.
-Chaque installation affiche l'essai, y compris là où aucune licence n'est
-nécessaire. Au premier démarrage, traffic66 écrit `license.json` dans le
-répertoire de données avec un numéro d'installation à 8 chiffres. Le pied de chaque page indique combien de
-jours d'essai il reste, puis que l'essai est terminé. Rien n'est désactivé
-dans un cas comme dans l'autre : toutes les fonctions continuent de
-marcher.
-
-Pour vous enregistrer, envoyez à l'auteur le numéro d'installation
-(affiché aussi en pied de chaque page). La licence vous revient sous la
-forme d'un nouveau `license.json` ; placez-le dans le répertoire de
-données à la place de l'ancien. Elle est vérifiée au démarrage de
-traffic66 puis toutes les 4 heures, donc aucun redémarrage n'est
-nécessaire ; le pied de page indique alors à qui elle est attribuée et
-combien de jours il reste.
-
-
-
-## 14. Sécurité
-
-- L'interface web utilise du HTTP simple : mots de passe et données
- circulent en clair sur le réseau. Sur les réseaux auxquels vous ne faites
- pas entièrement confiance, n'écoutez que sur cette machine
- (`-addr 127.0.0.1:8066`) et placez devant un reverse proxy TLS, par
- exemple avec [Caddy](https://caddyserver.com) :
- `caddy reverse-proxy --from traffic66.example.com --to 127.0.0.1:8066`.
- Ou accédez-y par VPN ou tunnel SSH :
- `ssh -L 8066:127.0.0.1:8066 user@192.0.2.50`, puis ouvrez
- http://127.0.0.1:8066.
-- N'autorisez les ports UDP de collecte que depuis les adresses de vos
- équipements.
-- Les communautés SNMP de `inventory.txt` sont stockées en clair ; utilisez
- une communauté en lecture seule.
-
-
-
-## 15. Dimensionnement
-
-Mesuré à 5 000 flux par seconde sur une machine à 2 cœurs : le détail
-occupe environ 12 Go de disque par jour plus environ 1,5 Go pour l'heure en
-cours ; le programme utilise un sixième d'un
-cœur. Les vues d'ensemble sur de longues plages proviennent des agrégats et
-prennent moins de 0,2 s. Les requêtes sur le détail parcourent environ
-22 millions de lignes par heure : un hôte sur 1 heure prend moins de 1 s,
-un Top 66 sur 1 heure de toutes les conversations environ 9 s ; le temps
-augmente avec la plage et diminue avec le nombre de cœurs.
-
-Il faut donc environ 360 Go de disque pour 30 jours à 5 000 flux/s ;
-ajustez selon votre débit de flux (affiché dans **Paramètres**) et
-`-retention-days`.
-
-Mémoire : `-memory` (par défaut 10 % de la RAM, au moins 256 Mo) limite le
-cache de la base de données, et le reste du programme reçoit une limite
-souple de même taille. À 5 000 flux par seconde, les données propres du
-programme (décodage, détection des doublons, lots) occupent environ 90 Mo ;
-au total, comptez 0,6–0,8 Go, une machine avec 2 Go de RAM suffit donc.
-Mesuré sur 10 minutes de collecte continue (pic de 0,58 Go sur une machine
-de 8 Go) et pendant le chargement d'une heure de flux à onze fois ce débit
-avec les limites d'une machine de 2 Go (pic de 0,74 Go).
-
-`-memory` est un budget, pas un plafond strict : la limite de Go est souple
-et la base de données peut dépasser brièvement sa part. Pour un plafond
-strict, utilisez celui du système d'exploitation : `MemoryMax=` dans l'unité
-systemd (section 2) ou la limite mémoire d'un conteneur. Prévoyez environ
-2,5 fois la part `-memory` et au moins 1 Go ; `MemoryMax=2G` convient aux
-machines jusqu'à 8 Go avec la part par défaut. traffic66 redémarre alors au
-lieu que la machine manque de mémoire.
-
-
-
-## 16. Dépannage
-
-| Symptôme | Cause et solution |
+| Symptôme | Solution |
|---|---|
-| Équipement absent de **Paramètres** | Les paquets n'arrivent pas : voir [Vérifier que les flux arrivent](#5-check-that-flows-arrive) |
-| "waiting for the sampling rate" | L'équipement n'a pas encore envoyé ses options de sampler ; la plupart les renvoient en quelques minutes. S'il ne le fait jamais, exportez-les (`option sampler-table` sur Cisco) ou marquez-le `unsampled` dans Noms s'il est réellement en 1:1, ou indiquez son taux avec `sampling=N` sur sa ligne `device`. **Paramètres** liste alors les templates envoyés par l'équipement, pour voir ce qu'il déclare |
-| Chiffres inférieurs aux compteurs d'interface | Voir **Contrôle des interfaces** : pertes en route, interfaces non échantillonnées, ou flux encore dans le cache de l'équipement (timeout actif supérieur à 60 s) |
-| Chiffres supérieurs aux compteurs d'interface | Le même trafic est échantillonné sur deux interfaces ou deux équipements |
-| Pas de pays ni de réseaux ("Inconnu") | Aucune base de données chargée : importez-en une dans **Paramètres**, voir [Pays](#8-countries-networks-and-threat-lists) |
-| "La base de données a atteint sa limite de mémoire et n'a pas pu répondre" sur une page | Choisissez une période plus courte, ou lancez avec un `-memory` plus grand ; les détails sont dans le journal |
-| Mot de passe oublié | `traffic66 passwd` sur la machine traffic66 (ajoutez `-data` si traffic66 tourne avec) |
-| `Conflicting lock is held` | Un autre traffic66 utilise déjà ce répertoire de données |
-| `receive buffer is only … KB` | Linux limite les tampons UDP : définissez `net.core.rmem_max=16777216` (voir [Linux](#linux)) |
-| `cannot create the data directory` | Le dossier du programme n'est pas accessible en écriture pour cet utilisateur : indiquez `-data` |
-| macOS : "cannot be opened" ou "developer cannot be verified" | `xattr -dr com.apple.quarantine ` |
-| Windows : "Windows a protégé votre ordinateur" | **Informations complémentaires** → **Exécuter quand même** ; le programme n'est pas encore signé |
-| Capture sous Windows : Npcap introuvable | Installez [Npcap](https://npcap.com) |
-| `address already in use` | Un autre programme utilise le port : choisissez-en d'autres avec `-addr` ou `-listen` |
-
-
-
-## 17. Compiler depuis les sources
-
-Go 1.24 et un compilateur C (gcc ou clang ; MinGW-w64 sous Windows) :
-
-```
-git clone https://github.com/githubflyideas/traffic66
-cd traffic66
-scripts/build.sh 0.1.0 traffic66
-```
+| "en attente du taux d'échantillonnage" | Exportez les options de l'échantillonneur, ou `sampling=N` / `unsampled` sur la ligne de l'équipement |
+| Inférieur aux compteurs | Interfaces non échantillonnées, pertes, ou timeout actif supérieur à 60 s |
+| Supérieur aux compteurs | Le même trafic échantillonné sur deux interfaces ou équipements |
+| Mot de passe oublié | `traffic66 passwd` sur la machine traffic66 |
+| `Conflicting lock is held` | Un autre traffic66 utilise ce répertoire de données |
+| `address already in use` | Choisissez d'autres ports avec `-addr` ou `-listen` |
+| Windows : "Windows a protégé votre ordinateur" | **Informations complémentaires** → **Exécuter quand même** |
+
+Compiler depuis les sources : Go 1.24 et un compilateur C, puis `scripts/build.sh 0.1.0 traffic66`.
diff --git a/docs/README.hi.md b/docs/README.hi.md
index 16882f6..55d4771 100644
--- a/docs/README.hi.md
+++ b/docs/README.hi.md
@@ -2,414 +2,157 @@
# traffic66
-sFlow, NetFlow और IPFIX के लिए flow analytics, एक ही प्रोग्राम में। यह
-switches, routers और firewalls से flow exports इकट्ठा करता है, उन्हें एक
-embedded database में रखता है, और दिखाता है कि bandwidth कौन इस्तेमाल कर
-रहा है, ट्रैफ़िक कहाँ जा रहा है और क्या आँकड़े डिवाइस के अपने interface
-counters से मेल खाते हैं — web UI में भी और terminal UI में भी।
-
-- Windows, Linux और macOS के लिए एक ही executable। कोई database इंस्टॉल
- नहीं करना, कोई runtime नहीं, offline भी चलता है।
-- किसी भी UDP port पर sFlow v5, NetFlow v5, NetFlow v9 और IPFIX; चाहें तो
- किसी network interface या mirror port से local capture भी।
-- अपने आँकड़ों को interface counters (sFlow counters या SNMP) से मिलाकर
- जाँचता है, और फ़र्क़ होने पर बताता है कि क्यों।
-- flows में scans, पासवर्ड का अनुमान, lateral movement, असामान्य uploads,
- floods और threat list वाला ट्रैफ़िक ढूँढता है, sampling के बावजूद भी, और
- उन्हें निपटाने के लिए संदिग्ध गतिविधियों की सूची में रखता है।
-- Top 66 सूचियाँ, कौन किससे बात करता है यह ring charts में (servers और उनके
- clients, services और उनके servers), interface और नेटवर्क (AS) के हिसाब से
- समय के साथ ट्रैफ़िक, flow के रास्ते, विश्व मानचित्र पर देश, threat list के
- matches, flow records, encapsulation (GRE, IPIP, VXLAN, GENEVE, MPLS)।
-- `traffic66 capture.pcap` अधिकतम 3 पैकेट कैप्चर (कुल 3 GB) वेब UI में खोलता है: पूरे कैप्चर के फ़्लो, निष्कर्ष, देश और फ़्लो रिकॉर्ड, बिना किसी सेटअप के।
-- web UI और terminal UI में 13 भाषाएँ।
-- Source available: evaluation के लिए और 100 से कम लोगों वाले संगठनों के लिए
- मुफ़्त; बड़े संगठन production use के 30 दिन बाद रजिस्टर करते हैं। कभी कुछ
- बंद नहीं होता ([ट्रायल और लाइसेंस](#trial-and-licence) देखें)।
+sFlow, NetFlow और IPFIX के लिए flow analytics, एक ही प्रोग्राम में: bandwidth
+कौन इस्तेमाल कर रहा है, ट्रैफ़िक कहाँ जा रहा है, और क्या आँकड़े डिवाइसों के
+अपने interface counters से मेल खाते हैं — web UI में भी और terminal UI में भी।
+
+- Windows, Linux और macOS के लिए एक ही executable; कोई database इंस्टॉल नहीं करना, offline भी चलता है।
+- किसी भी UDP port पर sFlow v5, NetFlow v5/v9 और IPFIX, या किसी interface से local capture।
+- अपने आँकड़ों को interface counters (sFlow या SNMP) से मिलाकर जाँचता है और बताता है कि फ़र्क़ क्यों है।
+- scans, पासवर्ड का अनुमान, lateral movement, असामान्य uploads, floods और threat list वाला ट्रैफ़िक ढूँढता है, sampling के बावजूद भी।
+- `traffic66 capture.pcap` बिना किसी सेटअप के पैकेट कैप्चर का विश्लेषण करता है।
+- 13 भाषाएँ। evaluation के लिए और 100 से कम लोगों वाले संगठनों के लिए मुफ़्त ([लाइसेंस](#licence))।

-सभी स्क्रीनशॉट `traffic66 demo` से लिए गए हैं, एक simulated कंपनी नेटवर्क जिसे आप ख़ुद चला सकते हैं ([डेमो चलाकर देखें](#1-try-the-demo) देखें)।
+सभी स्क्रीनशॉट `traffic66 demo` से लिए गए हैं, एक simulated कंपनी नेटवर्क।
## विषय-सूची
1. [डेमो चलाकर देखें](#1-try-the-demo)
-2. [इंस्टॉल करें](#2-install) — [Linux](#linux) · [Windows](#windows) · [macOS](#macos)
+2. [इंस्टॉल करें](#2-install)
3. [यूज़र और पासवर्ड](#3-users-and-passwords)
4. [अपने डिवाइसों से flows भेजें](#4-send-flows-from-your-devices)
5. [जाँचें कि flows पहुँच रहे हैं](#5-check-that-flows-arrive)
-6. [आँकड़ों को interface counters से मिलाएँ](#6-make-the-numbers-match-the-interface-counters)
-7. [नाम, SNMP और आपके अपने नेटवर्क](#7-names-snmp-and-your-own-networks)
-8. [देश, नेटवर्क और threat lists](#8-countries-networks-and-threat-lists)
-9. [web UI का इस्तेमाल](#9-using-the-web-ui)
-10. [Terminal UI](#10-terminal-ui)
-11. [Local capture](#11-local-capture)
-12. [विकल्प](#12-options)
-13. [डेटा, बैकअप, अपग्रेड, अनइंस्टॉल](#13-data-backup-upgrade-uninstall)
-14. [सुरक्षा](#14-security)
-15. [क्षमता का अनुमान](#15-sizing)
-16. [समस्या निवारण](#16-troubleshooting)
-17. [सोर्स से बिल्ड करें](#17-build-from-source)
+6. [Interfaces और counters](#6-interfaces-and-counters)
+7. [नाम, देश और threat lists](#7-names-countries-and-threat-lists)
+8. [web UI का इस्तेमाल](#8-using-the-web-ui)
+9. [ऑफ़लाइन pcap, terminal UI, local capture](#9-offline-pcap-terminal-ui-local-capture)
+10. [विकल्प और डेटा](#10-options-and-data)
+11. [सुरक्षा, क्षमता का अनुमान, समस्या निवारण](#11-security-sizing-troubleshooting)
## 1. डेमो चलाकर देखें
अपने सिस्टम के लिए archive
-[releases पेज](https://github.com/githubflyideas/traffic66/releases) से डाउनलोड करें:
-
-| सिस्टम | Archive |
-|---|---|
-| Windows 10/11, Server 2016 या नया (x64) | `traffic66-windows-amd64.zip` |
-| Linux x86-64: kernel 3.2 या उसके बाद वाला कोई भी distribution, जिसमें CentOS 7 और Alpine शामिल हैं | `traffic66-linux-amd64.tar.gz` |
-| Linux ARM64: वही distributions | `traffic66-linux-arm64.tar.gz` |
-| macOS 11 या नया, Apple silicon | `traffic66-darwin-arm64.tar.gz` |
-| macOS 11 या नया, Intel | `traffic66-darwin-amd64.tar.gz` |
-
-Linux:
+[releases पेज](https://github.com/githubflyideas/traffic66/releases) से डाउनलोड
+करें (Windows x64, kernel 3.2+ वाला Linux x86-64/ARM64, macOS 11+), unpack करें
+और चलाएँ:
```
-tar xzf traffic66-linux-amd64.tar.gz
-cd traffic66-linux-amd64
-./traffic66 demo -password try66
+./traffic66 demo -password try66 # Linux, macOS
+.\traffic66.exe demo -password try66 # Windows
```
-macOS (दूसरी लाइन macOS को इंटरनेट से डाउनलोड किया गया ऐसा प्रोग्राम चलाने
-देती है जो App Store से नहीं आया):
-
-```
-tar xzf traffic66-darwin-arm64.tar.gz
-xattr -dr com.apple.quarantine traffic66-darwin-arm64
-cd traffic66-darwin-arm64
-./traffic66 demo -password try66
-```
-
-Windows (PowerShell):
-
-```
-Expand-Archive traffic66-windows-amd64.zip .
-cd traffic66-windows-amd64
-.\traffic66.exe demo -password try66
-```
-
-http://127.0.0.1:8066 खोलें और `admin` / `try66` से साइन इन करें। डेमो एक छोटी
-कंपनी का नेटवर्क बनाता है, जिसमें एक दिन का इतिहास और चार simulated डिवाइसों
-से live ट्रैफ़िक होता है, और उसमें एक हमला भी है: **संदिग्ध गतिविधि** उसका हर
-चरण दिखाता है (एक scan, एक port scan, पासवर्ड का अनुमान, lateral movement, एक
-control server पर upload) और public website पर एक flood भी। सूची की किसी
-प्रविष्टि पर **विवरण** क्लिक करें, या **सारांश** से शुरू करें,
-**शीर्ष क्लाइंट** में किसी host पर क्लिक करें, **विवरण देखें** चुनें, और वहाँ
-से क्लिक करते हुए आगे बढ़ें। Ctrl+C से बंद करें। डेमो का डेटा प्रोग्राम के बगल में
-`traffic66-demo` में रहता है; डेमो नए सिरे से शुरू करने के लिए वह फ़ोल्डर
-हटा दें।
-
-डेमो वही ports इस्तेमाल करता है जो असली installation करता है (8066, और UDP
-6343, 2055, 4739)। असली installation के साथ-साथ चलाने के लिए उसे दूसरे ports
-दें: `traffic66 demo -password try66 -addr :8067 -listen ""`।
-
-Windows पर आप सीधे `traffic66.exe` पर double-click भी कर सकते हैं। इससे
-traffic66 असली रूप में (डेमो नहीं) शुरू होता है और आपके browser में web UI
-खुल जाता है; पहली बार शुरू होने का पासवर्ड काली window में दिखता है, और
-window बंद करने से traffic66 रुक जाता है। अगर Windows
-"Windows protected your PC" (Windows ने आपके PC को सुरक्षित किया) दिखाए, तो
-**More info** (अधिक जानकारी) → **Run anyway** (फिर भी चलाएँ) पर क्लिक करें।
+macOS पर पहले `xattr -dr com.apple.quarantine ` चलाएँ।
+http://127.0.0.1:8066 खोलें और `admin` / `try66` से साइन इन करें: एक दिन का
+इतिहास और चार simulated डिवाइसों से live ट्रैफ़िक, जिसमें एक हमला भी है जिसे
+**संदिग्ध गतिविधि** पर चरण-दर-चरण दिखाया जाता है। Ctrl+C से बंद करें; नए सिरे
+से शुरू करने के लिए `traffic66-demo` हटा दें। असली installation के साथ-साथ
+चलाने के लिए: `-addr :8067 -listen ""`।
## 2. इंस्टॉल करें
-traffic66 एक ही फ़ाइल है। इंस्टॉल करने का मतलब है: उसे कहीं रखना, एक data
-directory चुनना, पासवर्ड सेट करना, firewall खोलना और boot पर उसे शुरू करवाना।
-उदाहरणों में traffic66 मशीन के लिए `192.0.2.50` और router के लिए `192.0.2.1`
-है; इन्हें अपने addresses से बदलें।
-
-Ports:
+traffic66 एक ही फ़ाइल है। Ports: UDP 6343 (sFlow), 2055 (NetFlow), 4739
+(IPFIX), TCP 8066 (web UI); हर UDP port हर protocol स्वीकार करता है।
-| Port | किसलिए |
-|---|---|
-| UDP 6343 | sFlow (डिफ़ॉल्ट) |
-| UDP 2055 | NetFlow (डिफ़ॉल्ट) |
-| UDP 4739 | IPFIX (डिफ़ॉल्ट) |
-| TCP 8066 | web UI और API |
-
-हर UDP port हर protocol स्वीकार करता है, इसलिए आसान हो तो डिवाइस NetFlow भी
-6343 पर भेज सकता है। Ports बदलने या जोड़ने के लिए `-listen` इस्तेमाल करें।
-
-
-
-### Linux
+**Linux** (systemd):
```
-sudo mkdir -p /opt/traffic66
-sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
+sudo mkdir -p /opt/traffic66 && sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
sudo useradd --system --no-create-home --shell /usr/sbin/nologin traffic66
sudo install -d -o traffic66 -g traffic66 /var/lib/traffic66
sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66
```
-आख़िरी कमांड यूज़र `admin` का पासवर्ड पूछती है।
-
-`/etc/systemd/system/traffic66.service` बनाएँ:
+`/etc/systemd/system/traffic66.service`:
```
[Unit]
Description=traffic66 flow analytics
After=network-online.target
-Wants=network-online.target
[Service]
User=traffic66
ExecStart=/opt/traffic66/traffic66 -data /var/lib/traffic66
Restart=on-failure
-# hard memory limit for the whole process (see Sizing)
MemoryMax=2G
-# only needed for local capture (-capture):
-#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
+#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN # only for local capture
[Install]
WantedBy=multi-user.target
```
-इसे शुरू करें और बड़े UDP buffers की अनुमति दें ताकि bursts में packets न खोएँ:
-
-```
-echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf
-sudo sysctl --system
-sudo systemctl daemon-reload
-sudo systemctl enable --now traffic66
-sudo systemctl status traffic66
-journalctl -u traffic66 -f
-```
-
-Firewall, firewalld के साथ (RHEL, Rocky, Alma, Fedora):
-
-```
-sudo firewall-cmd --permanent --add-port=6343/udp --add-port=2055/udp --add-port=4739/udp --add-port=8066/tcp
-sudo firewall-cmd --reload
-```
-
-या ufw के साथ (Ubuntu, Debian):
-
```
-sudo ufw allow 6343,2055,4739/udp
-sudo ufw allow 8066/tcp
+echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf && sudo sysctl --system
+sudo systemctl daemon-reload && sudo systemctl enable --now traffic66
+sudo firewall-cmd --permanent --add-port={6343,2055,4739}/udp --add-port=8066/tcp && sudo firewall-cmd --reload
```
-
-
-### Windows
+**Windows** (PowerShell, Administrator के रूप में): `C:\traffic66` में unpack
+करें, `C:\traffic66\traffic66.exe passwd` चलाएँ, ports खोलें, और boot पर इसे
+शुरू करवाएँ:
-`C:\traffic66` में unpack करें और पासवर्ड सेट करें (PowerShell, Administrator
-के रूप में):
-
-```
-Expand-Archive traffic66-windows-amd64.zip C:\
-Rename-Item C:\traffic66-windows-amd64 C:\traffic66
-C:\traffic66\traffic66.exe passwd
```
-
-डेटा प्रोग्राम के बगल में `C:\traffic66\traffic66-data` में जाता है।
-
-Firewall खोलें:
-
-```
-New-NetFirewallRule -DisplayName "traffic66 flows" -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
-New-NetFirewallRule -DisplayName "traffic66 web" -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
-```
-
-foreground में आज़माने के लिए `C:\traffic66\traffic66.exe` चलाएँ और Ctrl+C से
-बंद करें। boot से ही background में चलाने के लिए, बिना किसी के साइन इन किए,
-इसे startup task के रूप में register करें:
-
-```
-$action = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
-$trigger = New-ScheduledTaskTrigger -AtStartup
-$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
-Register-ScheduledTask -TaskName traffic66 -Action $action -Trigger $trigger -Settings $settings -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
+New-NetFirewallRule -DisplayName traffic66 -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
+New-NetFirewallRule -DisplayName traffic66-web -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
+$a = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
+$s = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1)
+Register-ScheduledTask -TaskName traffic66 -Action $a -Trigger (New-ScheduledTaskTrigger -AtStartup) -Settings $s -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
Start-ScheduledTask -TaskName traffic66
```
-`-ExecutionTimeLimit ([TimeSpan]::Zero)` ज़रूरी है: इसके बिना Windows तीन दिन
-बाद task रोक देता है। रोकने के लिए `Stop-ScheduledTask -TaskName
-traffic66`, हटाने के लिए `Unregister-ScheduledTask -TaskName traffic66`।
-
-
-
-### macOS
-
-```
-sudo mkdir -p /usr/local/traffic66
-sudo tar xzf traffic66-darwin-arm64.tar.gz -C /usr/local/traffic66 --strip-components=1
-sudo xattr -dr com.apple.quarantine /usr/local/traffic66
-sudo /usr/local/traffic66/traffic66 passwd -data "/Library/Application Support/traffic66"
-```
-
-`/Library/LaunchDaemons/traffic66.plist` बनाएँ:
+`traffic66.exe` पर double-click करना भी काम करता है: यह web UI खोलता है और
+पहला पासवर्ड अपनी window में दिखाता है।
-```
-
-
-
-
- Labeltraffic66
- ProgramArguments
-
- /usr/local/traffic66/traffic66
- -data
- /Library/Application Support/traffic66
-
- RunAtLoad
- KeepAlive
- StandardErrorPath/Library/Logs/traffic66.log
-
-
-```
-
-शुरू करें, और फिर से बंद करें:
-
-```
-sudo launchctl bootstrap system /Library/LaunchDaemons/traffic66.plist
-tail -f /Library/Logs/traffic66.log
-sudo launchctl bootout system/traffic66
-```
-
-अगर macOS firewall चालू है, तो System Settings → Network → Firewall → Options
-में traffic66 के लिए incoming connections की अनुमति दें।
+**macOS**: `/usr/local/traffic66` में unpack करें, quarantine flag हटाएँ,
+`traffic66 passwd -data "/Library/Application Support/traffic66"` चलाएँ, और
+इसे एक LaunchDaemon से शुरू करें जिसके `ProgramArguments` प्रोग्राम, `-data`
+और वह directory हों, `RunAtLoad` और `KeepAlive` के साथ।
## 3. यूज़र और पासवर्ड
-**संक्षेप में:** यूज़र और पासवर्ड data directory की एक ही फ़ाइल, `password`, में
-रहते हैं। इसे कभी हाथ से edit न करें: `traffic66 passwd` command यूज़र जोड़ता,
-बदलता, उनकी सूची दिखाता और उन्हें हटाता है। `http://:8066`
-खोलें और इनमें से किसी एक यूज़र से साइन इन करें।
-
-
-
-### पहली बार साइन इन
-
पहली बार शुरू होने पर traffic66 एक random पासवर्ड के साथ यूज़र `admin` बनाता
-है और उसे एक बार दिखाता है:
-
-```
-first start: sign in as user "admin" with password "3f9c2a7e5b1d8046"
-```
-
-- Windows पर double-click से शुरू किया: काली window में।
-- terminal में शुरू किया: उसी terminal में।
-- Linux service: `journalctl -u traffic66 | grep "first start"`
-- macOS service: `grep "first start" /Library/Logs/traffic66.log`
-
-छूट गया? `traffic66 passwd` (नीचे देखें) से नया सेट करें। अगर आपने पहली बार
-शुरू करने से पहले `traffic66 passwd` से पासवर्ड सेट कर दिया है, जैसा ऊपर के
-install steps करते हैं, तो कुछ भी generate नहीं होता।
-
-
-
-### यूज़र कहाँ रखे जाते हैं
-
-data directory की फ़ाइल `password` में:
-
-| traffic66 कैसे चलता है | फ़ाइल |
-|---|---|
-| unpack करके उसके folder से शुरू किया गया (default) | प्रोग्राम के बगल में `traffic66-data/password` |
-| Linux service (अनुभाग 2) | `/var/lib/traffic66/password` |
-| Windows startup task (अनुभाग 2) | `C:\traffic66\traffic66-data\password` |
-| macOS service (अनुभाग 2) | `/Library/Application Support/traffic66/password` |
-| डेमो | प्रोग्राम के बगल में `traffic66-demo/password` |
-
-हर यूज़र की एक line। पासवर्ड salted hash के रूप में रखे जाते हैं, इसलिए कोई भी
-उन्हें फ़ाइल से वापस नहीं पढ़ सकता, आप भी नहीं; पासवर्ड भूल जाएँ तो नया सेट
-करें। फ़ाइल को केवल उसका owner पढ़ सकता है।
-
-```
-# traffic66 login, one user per line; change with: traffic66 passwd
-admin:pbkdf2-sha256$210000$…
-alice:pbkdf2-sha256$210000$…
-```
-
-
-
-### यूज़र्स का प्रबंधन
-
-ये commands traffic66 मशीन पर चलाएँ:
+है और उसे एक बार दिखाता है (window में, terminal में, या
+`journalctl -u traffic66 | grep "first start"` में)। यूज़र data directory में
+`password` में salted hashes के रूप में रखे जाते हैं और traffic66 मशीन पर एक
+ही command से संभाले जाते हैं (जब traffic66 `-data …` के साथ चलता है तो उसे
+जोड़ें):
| काम | Command |
|---|---|
| `admin` का पासवर्ड बदलें | `traffic66 passwd` |
-| यूज़र `alice` जोड़ें, या उसका पासवर्ड बदलें | `traffic66 passwd -user alice` |
-| यूज़र `alice` को हटाएँ | `traffic66 passwd -user alice -delete` |
+| `alice` जोड़ें या उसका पासवर्ड बदलें | `traffic66 passwd -user alice` |
+| `alice` को हटाएँ | `traffic66 passwd -user alice -delete` |
| यूज़र्स की सूची देखें | `traffic66 passwd -list` |
-| random पासवर्ड सेट करके छापें | `traffic66 passwd -generate` (दूसरे यूज़र्स के लिए `-user` के साथ) |
-
-- command नया पासवर्ड दो बार पूछता है और आप जो टाइप करते हैं उसे नहीं
- दिखाता। कम से कम 8 अक्षर रखें।
-- जब traffic66 `-data` के साथ चलता है, तो command में भी वही `-data` जोड़ें।
- अनुभाग 2 वाली Linux service के लिए:
-
- ```
- sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66 -user alice
- ```
-
- Windows पर (PowerShell, Administrator के रूप में):
-
- ```
- C:\traffic66\traffic66.exe passwd -user alice
- ```
-
-- बदलाव तुरंत लागू होते हैं, restart की ज़रूरत नहीं: नया पासवर्ड अगले साइन इन
- पर काम करता है, और हटाया गया यूज़र खुले browsers से sign out हो जाता है।
-- आख़िरी बचा यूज़र हटाया नहीं जा सकता; पहले कोई दूसरा यूज़र जोड़ें।
-- सभी यूज़र एक जैसी चीज़ें देखते और बदल सकते हैं; कोई roles नहीं हैं।
-
-
-
-### scripts और containers के लिए पासवर्ड
-environment में `TRAFFIC66_PASSWORD=…`, या command line पर `-password …`, से
-traffic66 उस run के लिए ठीक एक ही यूज़र स्वीकार करता है: `-user` में दिया गया
-यूज़र (default `admin`), उसी पासवर्ड के साथ। तब `password` फ़ाइल को अनदेखा किया
-जाता है और बदला नहीं जाता। environment variable को प्राथमिकता दें: command lines
-मशीन के दूसरे यूज़र्स को दिखती हैं।
-
-```
-TRAFFIC66_PASSWORD='s3cret-pass' traffic66 -user ops
-```
-
-एक मिनट के भीतर पाँच ग़लत पासवर्ड के बाद उस address को एक मिनट के लिए block
-कर दिया जाता है।
+बदलाव तुरंत लागू होते हैं। सभी यूज़र्स के अधिकार एक जैसे हैं। scripts और
+containers के लिए `TRAFFIC66_PASSWORD=…` (या `-password`) उस run के लिए केवल
+`-user` को उसी पासवर्ड के साथ स्वीकार करता है। एक मिनट में पाँच ग़लत पासवर्ड
+होने पर उस address को एक मिनट के लिए block कर दिया जाता है।
## 4. अपने डिवाइसों से flows भेजें
-हर डिवाइस को traffic66 मशीन की ओर point करें। कमांड models और software
-versions के हिसाब से अलग होती हैं; अपने डिवाइस का manual देखें। सभी उदाहरणों में
-`192.0.2.50` traffic66 है और `192.0.2.1` डिवाइस का अपना address।
-
-सामान्य सलाह:
-
-- active flow timeout 60 सेकंड रखें। लंबे timeouts से ट्रैफ़िक देर से और बड़े
- ढेलों में आता है।
-- अगर डिवाइस NetFlow/IPFIX को sample करता है, तो उसे sampler options export
- करने दें ताकि rate पता रहे। traffic66 records को 1:1 गिनने के बजाय rate
- आने तक रोके रखता है।
-- या तो सभी interfaces sample करें या केवल edge interfaces, एक ही दिशा में।
- एक ही ट्रैफ़िक को अंदर आते और बाहर जाते दोनों समय sample करने से वह दो बार
- गिना जाता है; **इंटरफ़ेस मिलान** यह बता देता है।
-- sFlow sampling rate: 1 Gb/s links के लिए लगभग 1:1000, 10 Gb/s के लिए
- 1:4096, 40/100 Gb/s के लिए 1:8192।
-
-Cisco IOS / IOS-XE (Flexible NetFlow):
+`192.0.2.50` traffic66 है, `192.0.2.1` डिवाइस। active timeout 60 सेकंड रखें,
+NetFlow/IPFIX डिवाइसों को उनके sampler options export करने दें, और **हर
+interface को inbound** sample करें (या केवल edge interfaces को): तब हर packet
+एक ही बार गिना जाता है। sFlow rates: 1 Gb/s के लिए लगभग 1:1000, 10 Gb/s के
+लिए 1:4096, 40/100 Gb/s के लिए 1:8192।
```
+! Cisco IOS-XE, NetFlow v9
flow exporter T66
destination 192.0.2.50
transport udp 2055
- export-protocol netflow-v9
option sampler-table
flow monitor T66
exporter T66
@@ -419,39 +162,8 @@ interface GigabitEthernet0/0/0
ip flow monitor T66 input
```
-Cisco NX-OS (sFlow):
-
-```
-feature sflow
-sflow collector-ip 192.0.2.50 vrf default
-sflow collector-port 6343
-sflow agent-ip 192.0.2.1
-sflow sampling-rate 4096
-sflow counter-poll-interval 30
-sflow data-source interface ethernet 1/1
-```
-
-Arista EOS (sFlow):
-
-```
-sflow sample 4096
-sflow destination 192.0.2.50
-sflow source-interface Management1
-sflow run
-```
-
-Juniper EX / QFX (sFlow):
-
-```
-set protocols sflow collector 192.0.2.50 udp-port 6343
-set protocols sflow sample-rate ingress 4096
-set protocols sflow polling-interval 30
-set protocols sflow interfaces ge-0/0/0
-```
-
-Huawei CloudEngine (sFlow):
-
```
+# Huawei CloudEngine, sFlow (H3C Comware is similar)
sflow agent ip 192.0.2.1
sflow collector 1 ip 192.0.2.50
interface 10GE1/0/1
@@ -462,46 +174,22 @@ interface 10GE1/0/1
sflow counter interval 30
```
-H3C Comware (sFlow):
-
-```
-sflow agent ip 192.0.2.1
-sflow collector 1 ip 192.0.2.50 port 6343
-interface Ten-GigabitEthernet1/0/1
- sflow sampling-rate 4096
- sflow flow collector 1
- sflow counter interval 30
- sflow counter collector 1
```
+# Juniper EX/QFX, sFlow
+set protocols sflow collector 192.0.2.50 udp-port 6343
+set protocols sflow sample-rate ingress 4096
+set protocols sflow interfaces ge-0/0/0
-MikroTik RouterOS 7 (NetFlow v9 / IPFIX):
+# Arista EOS, sFlow
+sflow sample 4096
+sflow destination 192.0.2.50
+sflow run
-```
+# MikroTik RouterOS 7
/ip traffic-flow set enabled=yes interfaces=all active-flow-timeout=1m
/ip traffic-flow target add dst-address=192.0.2.50 port=2055 version=9
-```
-FortiGate FortiOS 7.4.2 या नया (NetFlow v9):
-
-```
-config system netflow
- config collectors
- edit 1
- set collector-ip 192.0.2.50
- set collector-port 2055
- next
- end
-end
-config system interface
- edit port1
- set netflow-sampler both
- next
-end
-```
-
-Linux servers और hosts, softflowd के साथ (NetFlow v9):
-
-```
+# Linux host, softflowd
softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
```
@@ -509,316 +197,113 @@ softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
## 5. जाँचें कि flows पहुँच रहे हैं
-**सेटिंग्स** खोलें। जो भी डिवाइस कुछ भी भेजता है, वह कुछ सेकंड में दिख जाता है,
-अपने protocol, sampling rate, loss, आख़िरी packet और status के साथ। जब status
-हरा न हो, तो उसके बगल का टेक्स्ट बताता है कि क्या गड़बड़ है और क्या बदलना है।
-
-**खोए** उन samples या records को गिनता है जो कभी पहुँचे ही नहीं। sFlow के लिए
-टेक्स्ट बताता है कि वे कहाँ खोए: यहाँ आते हुए रास्ते में (sequence numbers में
-gaps: नेटवर्क, या इस मशीन का UDP receive buffer; अगर `netstat -su` में receive
-buffer errors बढ़ते दिखें, तो `net.core.rmem_max` बढ़ाएँ), या ख़ुद डिवाइस में
-(sFlow उन samples की रिपोर्ट देता है जिन्हें डिवाइस ने छोड़ दिया: उसका sFlow
-export rate-limited है, इसलिए कम बार sample करें या डिवाइस की सीमा बढ़ाएँ)।
-दोनों ही स्थितियों में कुल आँकड़ों की भरपाई की जाती है; हर host का ब्योरा नहीं।
+**सेटिंग्स** कुछ ही सेकंड में हर उस डिवाइस को दिखाता है जो कुछ भी भेजता है:
+protocol, sampling rate, loss, वह कौन-से interfaces sample करता है, और status
+हरा न हो तो क्या ठीक करना है। sFlow loss को दो हिस्सों में बाँटा जाता है:
+रास्ते में loss (अगर `netstat -su` में buffer errors दिखें तो
+`net.core.rmem_max` बढ़ाएँ) और वे samples जो ख़ुद डिवाइस ने छोड़ दिए।

-अगर कोई डिवाइस नहीं दिखता:
-
-1. traffic66 मशीन पर packets देखें (Linux, macOS):
- `sudo tcpdump -ni any udp port 6343 or udp port 2055 or udp port 4739`।
- वहाँ कुछ नहीं है तो packets मशीन तक पहुँच ही नहीं रहे: डिवाइस का
- configuration, routing और रास्ते के firewalls जाँचें।
-2. packets आ रहे हैं पर **सेटिंग्स** ख़ाली है: local firewall उन्हें drop कर रहा है
- ([इंस्टॉल करें](#2-install) देखें), या traffic66 दूसरे ports पर सुन रहा है
- (`-listen`)।
-3. किसी डिवाइस को छुए बिना दूसरी मशीन से रास्ता टेस्ट करने के लिए, वहाँ कुछ
- सेकंड के लिए `traffic66 simulate -to 192.0.2.50` चलाएँ। यह simulated
- डिवाइसों से sFlow, NetFlow और IPFIX भेजता है; वे फिर **सेटिंग्स** में और डेटा
- में दिखते हैं, इसलिए इसके लिए test installation बेहतर है।
-
-
-
-## 6. आँकड़ों को interface counters से मिलाएँ
-
-Flow के आँकड़े अनुमान होते हैं: sampled packets गुणा sampling rate।
-traffic66 इन्हें डिवाइस के अपने interface counters से मिलाता है और फ़र्क़
-**इंटरफ़ेस मिलान** पर दिखाता है; जब फ़र्क़ अकेले sampling से समझ में आने
-लायक से ज़्यादा हो, तो संभावित कारण भी बताता है। हर interface का एक पूरी चौड़ाई
-वाला bits/s chart और उसके नीचे एक packets/s chart होता है, जिनमें ingress (हरा)
-और egress (नीला) हैं; डिवाइस के अपने counters bits/s chart पर dashed lines में
-दिखते हैं। सूची में कोई interface चुनने पर उसके charts दिखते हैं।
-
-सूची की हर row में दो बटन हैं। **✎** interface को एक नाम और एक छोटा टैग
-(जैसे *uplink*) देता है, जो हर जगह उसके नाम के बगल में दिखता है। **☆** उसे
-डिफ़ॉल्ट interface (**★**) बनाता है; डिफ़ॉल्ट एक ही होता है। फिर पेज उसी पर
-खुलते हैं ([web UI का इस्तेमाल](#9-using-the-web-ui) में **इंटरफ़ेस** का चुनाव देखें), और सारांश
-उसकी bandwidth दिखाता है। दोनों तुरंत **नाम** में `iface` line में सहेजे जाते हैं।
-
-Flow records में दो interfaces होते हैं: जिस पर packet आया और जिससे वह बाहर गया।
-इसलिए जो डिवाइस केवल कुछ interfaces को सैंपल करता है, वह उनके flows के दूसरे
-सिरे भी दिखाता है। ये **सामने वाले इंटरफ़ेस** सबसे आख़िर में, छोटे धूसर अक्षरों
-में, अपने अलग शीर्षक के नीचे दिखते हैं: उनके आँकड़ों में केवल वह ट्रैफ़िक है जो
-किसी सैंपल किए गए interface से होकर गुज़रा, उनका पूरा ट्रैफ़िक नहीं। पेजों के
-ऊपर **इंटरफ़ेस** में ये नहीं दिखते। traffic66 जानता है कि किस interface ने flow
-सैंपल किया: sFlow के data source से, या NetFlow v9 और IPFIX के flowDirection
-field (IPFIX 61) से (ingress: input interface, egress: output interface)। यह
-field न हो तो जो interface डिवाइस के कम से कम 90% ट्रैफ़िक में है, उसे सैंपल
-किया गया माना जाता है; ऐसा कोई न हो तो कोई interface चिह्नित नहीं होता।
-**सेटिंग्स** हर डिवाइस के लिए **सैंपल इंटरफ़ेस** दिखाता है, और यह कि उसके
-templates **flowDirection (61) सहित** हैं या नहीं। डिवाइस का पूरा ट्रैफ़िक देखने
-के लिए हर interface को inbound सैंपल करें ([अपने डिवाइसों से flows
-भेजें](#4-send-flows-from-your-devices) देखें)।
+कोई डिवाइस नहीं दिख रहा? `sudo tcpdump -ni any udp port 6343 or udp port 2055
+or udp port 4739` चलाएँ: वहाँ कुछ नहीं है तो समस्या routing, किसी firewall या
+डिवाइस के configuration में है; packets वहाँ हैं पर **सेटिंग्स** में कुछ नहीं, तो
+local firewall या `-listen`। किसी दूसरी मशीन से `traffic66 simulate -to 192.0.2.50`
+simulated डिवाइसों से रास्ता टेस्ट करता है।
-
+
-तुलना के लिए counters पाने के लिए:
+## 6. Interfaces और counters
-- sFlow डिवाइस counter interval सेट होने पर उन्हें ख़ुद भेजते हैं
- (`sflow counter interval 30` और इसी तरह की कमांड)।
-- NetFlow और IPFIX डिवाइसों के लिए **सेटिंग्स → नाम** में एक `snmp` लाइन जोड़ें
- ([नाम](#7-names-snmp-and-your-own-networks) देखें)। फिर traffic66 हर मिनट
- interface counters पढ़ता है।
+Flow के आँकड़े अनुमान होते हैं (samples × sampling rate)। **इंटरफ़ेस मिलान**
+उन्हें डिवाइस के interface counters (sFlow counters, या नाम में एक `snmp` लाइन
+के ज़रिए SNMP) से मिलाता है और बताता है कि फ़र्क़ क्यों है: interfaces sample
+नहीं हो रहे, एक ही ट्रैफ़िक दो बार sample हुआ, रास्ते में loss, या अज्ञात
+sampling rate। हर interface का एक bits/s chart और एक packets/s chart होता है,
+ingress हरा और egress नीला, counters dashed।
-आँकड़े मिलें, इसके लिए traffic66 पहले से ये करता है: डिवाइस ने असल में जो
-sampling rate लगाया वही इस्तेमाल करता है, sampling rate पता चलने तक
-NetFlow/IPFIX records रोके रखता है, रास्ते में खोए export packets की भरपाई करता
-है, लंबे flows को उतने मिनटों में बाँटता है जितने वे चले, और NetFlow/IPFIX
-byte counts में हर packet पर 18 bytes का Ethernet overhead जोड़ता है (interface
-counters में यह शामिल होता है, IP-layer flow counts में नहीं; `-l2-overhead`
-से बदलें)।
+हर row पर **✎** एक नाम और एक छोटा टैग (जैसे *uplink*) सेट करता है, और **☆**
+उसे डिफ़ॉल्ट interface (★) बनाता है, जिस पर पेज खुलते हैं।
-बचे हुए फ़र्क़ के आम कारण, जो सब **इंटरफ़ेस मिलान** पर बताए जाते हैं: कुछ
-interfaces sample नहीं हो रहे, एक ही ट्रैफ़िक दो interfaces पर sample हो रहा है,
-export packets traffic66 तक पहुँचने से पहले खो जाते हैं, या sampling rate अभी
-पता नहीं है।
+जो डिवाइस केवल कुछ interfaces sample करता है, वह उन flows के दूसरे सिरे भी
+दिखाता है। ये **सामने वाले इंटरफ़ेस** सबसे आख़िर में छोटे धूसर अक्षरों में
+दिखते हैं: उनमें केवल सैंपल किए गए interface से होकर गया ट्रैफ़िक होता है।
+सैंपल किया गया interface sFlow के data source या flowDirection field (IPFIX
+61) से पता चलता है; इसके बिना, वह interface जो डिवाइस के 90% ट्रैफ़िक में है।
-
+
-## 7. नाम, SNMP और आपके अपने नेटवर्क
+traffic66 पहले से डिवाइस द्वारा लगाया गया rate इस्तेमाल करता है, अज्ञात rates
+का इंतज़ार करता है, export loss की भरपाई करता है, लंबे flows को उनके मिनटों में
+बाँटता है, और NetFlow/IPFIX में हर packet पर 18 bytes का Ethernet overhead
+जोड़ता है (`-l2-overhead`)।
-किसी host या डिवाइस को नाम देने का सबसे तेज़ तरीका: किसी भी पेज पर उसके address
-पर क्लिक करें और **नाम दें…** चुनें। नाम टाइप करके Enter दबाएँ; यह तुरंत सेव हो
-जाता है और हर जगह खाली address की जगह दिखता है।
+
-नेटवर्क, interfaces और SNMP के लिए **सेटिंग्स → नाम** का इस्तेमाल करें: प्रकार चुनें
-(host, नेटवर्क, डिवाइस, interface, SNMP), address और नाम भरें, और **जोड़ें**
-पर क्लिक करें। नीचे की table में हर नाम **बदलें** और **हटाएँ** के साथ दिखता
-है; वही address फिर से जोड़ने पर पुरानी entry बदल जाती है। सेव करने से पहले
-addresses और नेटवर्क जाँचे जाते हैं।
+## 7. नाम, देश और threat lists
-नाम data directory में `inventory.txt` के रूप में सेव होते हैं, हर लाइन में एक
-entry। **टेक्स्ट के रूप में बदलें (उन्नत)** वह फ़ाइल दिखाता है, और आप उसे सीधे भी
-edit कर सकते हैं (`inventory.txt.example` देखें)। हर लाइन वैकल्पिक है।
+किसी भी address पर क्लिक करें और **नाम दें…** चुनें, या **सेटिंग्स → नाम**
+इस्तेमाल करें। नाम data directory में `inventory.txt` में रखे जाते हैं:
```
-# your networks: traffic between them is "internal"
-net 10.10.0.0/16 Office LAN
-net 203.0.113.0/24 Public servers country=JP
-
-# device names; "unsampled" if it exports every packet (1:1),
-# sampling=N if it samples 1:N but does not say so in its export
-device 192.0.2.1 Core router
-device 192.0.2.9 Branch firewall unsampled
-device 192.0.2.20 Edge router sampling=1000
-
-# interface names, by device address and ifIndex; speed in bits per second,
-# tag= a short tag, default = the interface the pages open on (one only)
-iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
-
-# host names shown instead of addresses
-host 10.10.3.27 Finance PC
-
-# read interface counters over SNMPv2c (IF-MIB 64-bit counters)
-snmp 192.0.2.1 public
-snmp 192.0.2.9 s3cret 10.99.0.9:161
+net 10.10.0.0/16 Office LAN # your networks
+net 203.0.113.0/24 Public servers country=JP # country: lines on the world map
+device 192.0.2.1 Core router
+device 192.0.2.9 Branch firewall unsampled # exports every packet
+device 192.0.2.20 Edge router sampling=1000 # rate it does not declare
+iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
+host 10.10.3.27 Finance PC
+snmp 192.0.2.1 public # read counters over SNMPv2c
+snmp 192.0.2.9 s3cret 10.99.0.9:161 # other management address
```
-- `net`: private ranges (10/8, 172.16/12, 192.168/16, 100.64/10) हमेशा आपके
- माने जाते हैं। अपने public ranges जोड़ें ताकि उनसे आने-जाने वाला ट्रैफ़िक भी
- आपका गिना जाए; नाम **शीर्ष 66** में segment के अनुसार समूह बनाने पर और network
- के अनुसार flow के रास्तों में दिखता है। `country=JP` (दो अक्षरों का देश कोड)
- बताता है कि नेटवर्क कहाँ है; तब विश्व मानचित्र उससे उन देशों तक लाइनें
- खींचता है जिनसे वह बात करता है।
-- `snmp [[:port]]`: device वह address
- है जिससे flows आते हैं। जब डिवाइस SNMP का जवाब किसी दूसरे address पर देता हो,
- तो management address जोड़ें। SNMP से पढ़े गए interface descriptions नाम के
- रूप में इस्तेमाल होते हैं, जब तक आप `iface` से interface का नाम न दें।
- डिवाइस की SNMP access list में traffic66 मशीन को अनुमति दें।
-- बदलाव **सहेजें** पर क्लिक करते ही लागू होते हैं; restart की ज़रूरत नहीं।
-
-
-
-## 8. देश, नेटवर्क और threat lists
-
-देश और नेटवर्क (AS) शुरू से ही काम करते हैं: traffic66 में DB-IP के मुफ़्त **IP to Country Lite** और **IP to ASN Lite** डेटाबेस अंतर्निहित हैं (लाइसेंस [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); "IP Geolocation by DB-IP", [db-ip.com](https://db-ip.com))। देश और नेटवर्क दिखाने वाले पेज डेटा का स्रोत बताते हैं।
-
-अंतर्निहित प्रति आपके चलाए जा रहे रिलीज़ के समय की है। DB-IP हर महीने नया संस्करण जारी करता है; **सेटिंग्स → देश और नेटवर्क डेटाबेस → DB-IP Lite अभी अपडेट करें** db-ip.com से नवीनतम डाउनलोड करता है (traffic66 चलाने वाले सर्वर को इंटरनेट चाहिए; विफल होने पर वेब UI बताता है)।
+Private ranges हमेशा आपके माने जाते हैं। बदलाव **सहेजें** पर लागू होते हैं,
+restart की ज़रूरत नहीं।
-आप कोई दूसरा मुफ़्त डेटाबेस भी इस्तेमाल कर सकते हैं। उसे डाउनलोड करें, फिर उसी पेज पर **डेटाबेस फ़ाइल अपलोड करें…** से अपलोड करें। फ़ाइल जाँची जाती है, डेटा डायरेक्टरी में सहेजी जाती है और नए ट्रैफ़िक के लिए तुरंत इस्तेमाल होती है; रीस्टार्ट की ज़रूरत नहीं। पहले से सहेजा गया ट्रैफ़िक वही देश रखता है जिसके साथ वह सहेजा गया था।
-
-| डेटाबेस | क्या देता है | लाइसेंस | कहाँ से मिलेगा |
-|---|---|---|---|
-| DB-IP Lite (अंतर्निहित) | देश; नेटवर्क | CC BY 4.0, खाता नहीं चाहिए | [db-ip.com/db/lite.php](https://db-ip.com/db/lite.php) |
-| MaxMind GeoLite2 Country और ASN, `.mmdb` | देश; नेटवर्क | GeoLite2 EULA, मुफ़्त खाता | [maxmind.com](https://www.maxmind.com/en/geolite2/signup) |
-| IPinfo Lite, `ipinfo_lite.mmdb` | देश और नेटवर्क एक ही फ़ाइल में | CC BY-SA 4.0, मुफ़्त खाता | [ipinfo.io/lite](https://ipinfo.io/lite) |
-| IPtoASN, `ip2asn-combined.tsv.gz` | नेटवर्क और उनका देश | PDDL 1.0, खाता नहीं चाहिए | [iptoasn.com](https://iptoasn.com) |
-
-आपकी अपनी फ़ाइलें पहले इस्तेमाल होती हैं; जो उनमें नहीं है उसका जवाब अंतर्निहित DB-IP Lite देता है। फ़ाइल के पास **हटाएँ** बाक़ी पर लौटा देता है। पेज दिखाता है कि क्या इस्तेमाल हो रहा है और हर डेटाबेस की तारीख़।
-
-वेब UI के बिना, फ़ाइल को डेटा डायरेक्टरी में `country.mmdb`, `asn.mmdb`, `both.mmdb` (देश और नेटवर्क वाली एक फ़ाइल, जैसे IPinfo Lite) या `asn.tsv.gz` नाम से कॉपी करें और traffic66 रीस्टार्ट करें।
-
-**भूगोल और नेटवर्क** दूसरे देशों के साथ ट्रैफ़िक को विश्व मानचित्र पर दिखाता है: देश जितना गहरा, ट्रैफ़िक उतना ज़्यादा। किसी देश पर पॉइंटर ले जाएँ तो उसका ट्रैफ़िक दिखता है; क्लिक करके फ़िल्टर करें या उसके flow records खोलें। जब आपके नेटवर्कों का देश दिया गया हो (`net` लाइन पर `country=`, [नाम](#7-names-snmp-and-your-own-networks) देखें), तो उस देश से उन देशों तक लाइनें जाती हैं जिनसे वे ट्रैफ़िक का आदान-प्रदान करते हैं; ज़्यादा ट्रैफ़िक के लिए मोटी लाइन। देशों की सीमाएँ [Natural Earth](https://www.naturalearthdata.com) (सार्वजनिक डोमेन) से हैं।
+देश और नेटवर्क (AS) DB-IP के मुफ़्त Lite databases के साथ शुरू से ही काम करते
+हैं ([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), "IP
+Geolocation by DB-IP", [db-ip.com](https://db-ip.com)); **सेटिंग्स** उन्हें
+अपडेट करता है, या उनकी जगह MaxMind GeoLite2, IPinfo Lite या IPtoASN फ़ाइलें
+लेता है। मानचित्र की सीमाएँ: [Natural Earth](https://www.naturalearthdata.com)।

-Threat lists सादी text फ़ाइलें होती हैं, हर लाइन में एक address या नेटवर्क
-(`#` या `;` के बाद का टेक्स्ट नज़रअंदाज़ होता है), जो
-`/threats/.txt` के रूप में सेव होती हैं, उदाहरण के लिए:
-
-```
-mkdir -p /threats
-curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamhaus-drop.txt
-```
-
-Lists जोड़ने या बदलने के बाद traffic66 restart करें। Matches
-**ख़तरे की जानकारी** पर list के नाम के हिसाब से दिखते हैं।
+Threat lists text फ़ाइलें होती हैं, हर लाइन में एक address या नेटवर्क,
+`/threats/.txt` में (उदाहरण के लिए Spamhaus DROP); बदलने के बाद
+restart करें। Matches **ख़तरे की जानकारी** पर दिखते हैं।

-
-
-## 9. web UI का इस्तेमाल
-
-आपको शायद ही कुछ टाइप करना पड़े। हर पेज की हर value — address, port,
-application, देश, डिवाइस — पर क्लिक किया जा सकता है:
+
-- **केवल यही दिखाएँ** / **इसे हटाएँ** एक filter जोड़ता है। Filters top bar के
- नीचे दिखते हैं और हटाए जाने तक हर पेज पर लागू रहते हैं।
-- **इसके फ़्लो रिकॉर्ड देखें** मेल खाते अलग-अलग flows खोलता है।
-- **विवरण देखें** (hosts, डिवाइस और services) उस एक host या service के बारे में
- एक पेज खोलता है: समय के साथ application के हिसाब से उसका ट्रैफ़िक, वह किससे
- बात करता है, कौन-सी services या clients, देश और उसके नवीनतम flows। वहाँ की हर
- value पर फिर से क्लिक किया जा सकता है, ताकि आप और गहराई में जा सकें; browser
- का Back बटन वापस ले जाता है।
-- **नाम दें…** (hosts और डिवाइस) address को एक नाम देता है, जो उसके बाद हर जगह
- दिखता है।
-- **ऑनलाइन खोजें** address या AS को किसी public lookup साइट पर खोलता है।
-- **कॉपी करें** value कॉपी करता है।
+## 8. web UI का इस्तेमाल
-पेज:
+हर पेज की हर value पर क्लिक किया जा सकता है: **केवल यही दिखाएँ** / **इसे
+हटाएँ** (filters हर पेज पर लागू होते हैं), **इसके फ़्लो रिकॉर्ड देखें**,
+**विवरण देखें** (किसी एक host या service के बारे में पेज), **नाम दें…**,
+**ऑनलाइन खोजें**, **कॉपी करें**।
-| पेज | किस सवाल का जवाब देता है |
+| पेज | क्या दिखाता है |
|---|---|
-| सारांश | चुने हुए interface (या डिफ़ॉल्ट, नहीं तो सबसे व्यस्त) की bandwidth bits/s में, ingress और egress जैसा interface देखता है; अभी कितना ट्रैफ़िक है, application के हिसाब से (**कुल**, या आपके नेटवर्क का सिर्फ़ **अंदर आने वाला** या **बाहर जाने वाला** ट्रैफ़िक), कल इसी समय (एक दिन तक की ranges), पिछले हफ़्ते (एक हफ़्ते तक) या पिछले दिनों (लंबी ranges) की तुलना में, अगर उस समय का डेटा हो; खुली संदिग्ध गतिविधियाँ; दिशा और protocol; top clients और services |
-| शीर्ष 66 | **तालिका** पर खुलता है, top 66 की एक table: डिफ़ॉल्ट रूप से conversations (client, server, service, देश)। हर column heading से sort होता है; संख्या वाले columns (ट्रैफ़िक, पैकेट, औसत पैकेट, flows) समय-सीमा के पूरे ट्रैफ़िक से top 66 फिर से चुनते हैं, इसलिए सबसे छोटे औसत पैकेट से scan और flood पकड़े जाते हैं। **इसके अनुसार समूह** से applications, नेटवर्क, segments, डिवाइस, encapsulation और VLAN पर जाएँ। **सबसे सक्रिय होस्ट** top 30 clients और servers साथ-साथ दिखाता है, ट्रैफ़िक, पैकेट और flow records के साथ, पूरे ट्रैफ़िक वाली एक row के ऊपर |
-| ट्रैफ़िक विवरण | दो ring charts। **सर्वर और क्लाइंट**: अंदर का घेरा सबसे व्यस्त 8 servers, बाहर का घेरा हर server के clients; **क्लाइंट अंदर** इसे उलट देता है (clients अंदर, हर client जिन servers का इस्तेमाल करता है वे बाहर), क्योंकि अक्सर एक तरफ़ दूसरी से ज़्यादा समझाती है। **सेवाएँ**: सबसे व्यस्त services का एक घेरा। किसी हिस्से पर पॉइंटर ले जाएँ तो उसका ट्रैफ़िक दिखता है; किसी भी value की तरह उस पर क्लिक करें |
-| ट्रैफ़िक के रास्ते | कौन-सा host किस देश की ओर किस application का इस्तेमाल करता है: सबसे व्यस्त 8 hosts, बाकी "अन्य" के रूप में। **क्लाइंट → सर्वर** client → service → server दिखाता है; **सेगमेंट के अनुसार** hosts की जगह नेटवर्क दिखाता है। लंबे नाम 22 अक्षरों तक छोटे किए जाते हैं; पूरा नाम देखने के लिए उस पर पॉइंटर ले जाएँ |
-| संदिग्ध गतिविधि | किस पर ध्यान देना है: scans, पासवर्ड का अनुमान, lateral movement, असामान्य uploads, floods और threat list वाला ट्रैफ़िक ([और जानें](#findings)) |
-| ख़तरे की जानकारी | वे hosts जिन्होंने आपकी threat lists के addresses से बात की, और उन्होंने कितना भेजा |
-| भूगोल और नेटवर्क | देश के अनुसार ट्रैफ़िक का विश्व मानचित्र, आपके नेटवर्कों से लाइनों के साथ; वे नेटवर्क (AS) जहाँ से ट्रैफ़िक आया और जहाँ गया, समय के साथ bits/s और packets/s में; देश के हिसाब से और नेटवर्क के हिसाब से ट्रैफ़िक |
-| सेटिंग्स | डिवाइस, sampling, हर डिवाइस के सैंपल इंटरफ़ेस और क्या वह flowDirection भेजता है, loss, collectors, SNMP, देश और नेटवर्क डेटाबेस, लोगो, और **नाम** |
-| इंटरफ़ेस मिलान | समय के साथ हर interface का ट्रैफ़िक bits/s में और, नीचे, packets/s में, ingress (हरा) और egress (नीला), डिवाइस counters dashed lines के रूप में; flow के आँकड़े counters से कितने दूर हैं, सबसे ख़राब पहले, कारणों के साथ; हर interface के लिए एक नाम, एक टैग और डिफ़ॉल्ट |
-| फ़्लो रिकॉर्ड | कितने flow records थे और कब (हर interval के लिए एक bar), और ख़ुद records, सबसे नए पहले, पेज-दर-पेज, चुने जा सकने वाले columns के साथ। पिछले 15 मिनट पर खुलता है और हर 5 सेकंड में अपडेट होता है; किसी दूसरे पेज की value से (**इसके फ़्लो रिकॉर्ड देखें**) खोलने पर उस पेज की समय-सीमा बनी रहती है, और **लाइव पर लौटें** वापस ले आता है |
-| डेटा सफ़ाई | 120, 90, 60, 30 या 7 दिन से पुराना डेटा, या पूरा डेटा, हटाता है, और बताता है कि हर विकल्प से कितनी जगह खाली होगी ([और](#13-data-backup-upgrade-uninstall)) |
-| ऑफ़लाइन pcap विश्लेषण | pcap, pcapng कैप्चर का लाइव डेटा से अलग विश्लेषण ([और](#ऑफ़लाइन-pcap-विश्लेषण)) |
-
-साइड मेनू पेजों को चार समूहों में दिखाता है: ट्रैफ़िक (सारांश, शीर्ष 66, ट्रैफ़िक
-विवरण, ट्रैफ़िक के रास्ते, इंटरफ़ेस मिलान, फ़्लो रिकॉर्ड), सुरक्षा (संदिग्ध गतिविधि,
-ख़तरे की जानकारी, भूगोल और नेटवर्क), सेटिंग्स और ऑफ़लाइन pcap विश्लेषण, और सबसे
-नीचे डेटा सफ़ाई। लोगो के नीचे version और server की तारीख़ और समय हैं।
-
-ट्रैफ़िक पेजों (सारांश, शीर्ष 66, ट्रैफ़िक विवरण, ट्रैफ़िक के रास्ते, भूगोल और
-नेटवर्क, फ़्लो रिकॉर्ड और किसी value का विवरण) के ऊपर **इंटरफ़ेस** है: **सभी
-इंटरफ़ेस**, या एक interface, ताकि ये पेज सिर्फ़ उससे होकर गुज़रने वाला ट्रैफ़िक
-(अंदर या बाहर) दिखाएँ। इसमें सैंपल इंटरफ़ेस, डिवाइस के अनुसार समूहों में, दिखते हैं,
-और यह डिफ़ॉल्ट interface (★, **इंटरफ़ेस मिलान** पर सेट) से
-शुरू होता है और यह चुनाव link का हिस्सा है। संदिग्ध गतिविधि, ख़तरे की जानकारी,
-इंटरफ़ेस मिलान और सेटिंग्स हमेशा पूरा ट्रैफ़िक दिखाते हैं। 7 या 30 दिन के लिए एक
-interface चुनने पर पेज घंटेवार और दैनिक summaries की जगह flow records पढ़ते
-हैं, इसलिए उन्हें ज़्यादा समय लगता है और वे उतना ही पीछे जाते हैं जितने समय तक
-flow records रखे जाते हैं (डिफ़ॉल्ट रूप से 30 दिन)।
-
-पेजों के ऊपर: time range (15 मिनट से 30 दिन, या किसी भी शुरुआत और अंत के लिए
-**कस्टम…**, 30 दिन से पहले का भी), हर 30 सेकंड पर automatic refresh, और
-**लिंक कॉपी करें**, जो ठीक मौजूदा view (पेज, time range और filters) का link
-कॉपी करता है ताकि आप उसे किसी सहकर्मी को भेज सकें। **शीर्ष 66** और **ट्रैफ़िक
-विवरण** पर, **डिवाइस**, **क्लाइंट**, **सर्वर** और **सेवा** समय-सीमा की सबसे
-व्यस्त values दिखाते हैं: filter करने के लिए एक चुनें या टाइप
-करें; फिर box ख़ाली करने तक filter हर पेज पर लागू रहता है। भाषा browser के
-हिसाब से चुनी जाती है; menu के नीचे, **लॉग आउट** के ऊपर से बदलें।
-सेटिंग्स, फ़्लो रिकॉर्ड (लाइव रहते हुए), डेटा सफ़ाई और ऑफ़लाइन pcap विश्लेषण
-में कोई समय-सीमा नहीं होती।
-
-भाषा के बगल में रंग की थीम है, iOS के system रंगों के आधार पर: **हल्का**
-(default), **स्लेटी**, **काला** (दीवार पर लगी screens के लिए), **फ़िरोज़ी** और
-**नारंगी**। उस पर हर click अगली थीम पर ले जाता है; चुनाव browser में रखा जाता है।
-
-समय वाले charts सबसे बड़ी 8 values तय रंगों में और बाकी को "अन्य" के रूप में
-दिखाते हैं; legend हर value का कुल देता है और उस पर किसी भी दूसरी value की तरह
-click किया जा सकता है। clients और servers के charts बाकी को drawing से बाहर
-रखते हैं, क्योंकि हज़ारों hosts के साथ वह top 8 को चपटा कर देता; legend फिर भी
-उसका कुल देता है।
-
-charts वहीं तक जाते हैं जहाँ तक डेटा पूरा है: sFlow के साथ मौजूदा मिनट तक,
-NetFlow और IPFIX के साथ थोड़ा पहले तक, उतना जितना डिवाइसों को अपने flows
-export करने में लगता है (traffic66 इसे मापता है; ज़्यादा से ज़्यादा 2 मिनट)।
-
-6 घंटे से लंबी ranges पूरे घंटे से शुरू होती हैं, ताकि पेज का हर आँकड़ा ठीक
-एक जैसा समय गिने: "24 घंटे" में पिछले 24 पूरे घंटे और मौजूदा घंटा शामिल हैं।
-इन ranges पर शीर्ष 66 घंटेवार summaries से आता है; वहाँ filters उपलब्ध नहीं
-हैं, और पेज यह बता देता है। filter करने के लिए छोटी range चुनें। बातचीत (conversations) हमेशा flow detail पढ़ती है, इसलिए
-ऊँची flow दरों पर लंबी ranges में इसमें कुछ समय लग सकता है; एक घंटा सबसे तेज़ है।
-
-side menu दिखाता है कि data कितनी disk इस्तेमाल करता है और कितनी ख़ाली है;
-ख़ाली जगह पर hover करें तो दिखता है कि मौजूदा दर पर रखे गए दिनों के detail को
-कितनी जगह चाहिए (एक दिन का data होने के बाद अनुमान लगाया जाता है)।
-
-साइन-इन पेज पर और menu के ऊपर अपना लोगो दिखाने के लिए
-**सेटिंग्स → लोगो → लोगो अपलोड करें…** का इस्तेमाल करें: PNG, SVG, JPEG, WebP या
-GIF, 1 MB तक, 272 × 92 pixels पर सबसे अच्छा (दूसरे आकार फ़िट होने के लिए scale
-किए जाते हैं)। **बिल्ट-इन लोगो वापस लाएँ** से traffic66 का लोगो वापस आ जाता है।
-
-
-
-### संदिग्ध गतिविधि
-
-**संदिग्ध गतिविधि** वह सब दिखाता है जो traffic66 ने flows में पाया, सबसे गंभीर
-पहले। यह हर 5 मिनट पर पिछले 10 मिनट जाँचता है; जो चीज़ एक घंटे तक चलती है वह
-एक ही प्रविष्टि है जो बढ़ती जाती है, हर जाँच पर नई नहीं।
-
-| गतिविधि | इसका मतलब | गंभीरता |
-|---|---|---|
-| स्कैन | एक address ने एक ही port पर कई addresses को छोटे probes भेजे (TCP या ping) | आपके नेटवर्क के अंदर से हो तो उच्च, इंटरनेट से हो तो निम्न |
-| पोर्ट स्कैन | एक address ने एक host के कई ports पर छोटे probes भेजे | अंदर से उच्च, इंटरनेट से निम्न |
-| पासवर्ड का अनुमान | किसी login service (SSH, RDP, SMB, databases और अन्य) से कई छोटे connections | अंदर से उच्च, इंटरनेट से निम्न |
-| लेटरल मूवमेंट | आपके नेटवर्क के अंदर, file sharing या remote administration sessions (SMB, RDP, SSH, WinRM, VNC) ऐसे hosts से जिन्होंने पहले कभी वह service नहीं दी | उच्च |
-| असामान्य अपलोड | एक internal host ने जितना पाया उससे कहीं ज़्यादा भेजा (10 मिनट में 100 MB, पाए गए डेटा का तीन गुना) ऐसे address को जिससे उसने पहले कभी डेटा का लेन-देन नहीं किया | उच्च |
-| फ़्लड | एक address पर प्रति सेकंड 20,000 या उससे ज़्यादा छोटे packets, उसकी सामान्य दर का दस गुना | मध्यम |
-| ख़तरा सूची | आपकी किसी threat list के address के साथ ट्रैफ़िक | उच्च जब आपके host ने उससे connect किया, निम्न जब सूची वाला address बाहर से दस्तक दे रहा था |
-
-हर प्रविष्टि बताती है कि किसने किसके साथ क्या किया, कब और कितनी देर तक, इसके
-पीछे के आँकड़ों के साथ, और यह भी कि data कैसे sample किया गया था। **विवरण**
-host का पेज खोलता है, जिसमें उसके बारे में मिली गतिविधियाँ भी दिखती हैं।
-**निपटा दिया** प्रविष्टि को बंद करता है; अगर वही फिर होता है तो नई प्रविष्टि
-खुलती है। **कोई समस्या नहीं** उसे हमेशा के लिए बंद करता है: वह फिर कभी report
-नहीं होती। side menu में **संदिग्ध गतिविधि** के बगल का लाल नंबर पिछले 24 घंटों
-की खुली उच्च और मध्यम प्रविष्टियाँ गिनता है।
-
-लेटरल मूवमेंट और असामान्य uploads के लिए यह जानना ज़रूरी है कि सामान्य क्या
-है, इसलिए वे एक दिन का इतिहास होने के बाद ही report होते हैं। पहली बार शुरू
-होने पर traffic66 पहले से मौजूद इतिहास से सीखता है।
-
-Sampled data (sFlow, sampled NetFlow) के साथ नियम वही गिनते हैं जो samples
-दिखाते हैं और कम संख्या माँगते हैं, लेकिन तब हर sample एक छोटे probe जैसा
-दिखना चाहिए, ताकि व्यस्त सामान्य hosts इन्हें trigger न करें। जो sampling छिपा
-देता है वह पकड़ा नहीं जा सकता: 1:4096 sampling के पीछे, कुछ दर्जन hosts का
-scan इतने कम packets भेजता है कि दिखता नहीं। डेमो का हमला एक ऐसे switch से
-गुज़रता है जो 1:4096 पर sample करता है, और पूरा पकड़ा जाता है; डेमो के एक दिन
-के सामान्य ट्रैफ़िक से कोई गतिविधि नहीं निकलती, सिवाय website पर दस्तक देते
-internet scanner के।
-
-
+| सारांश | चुने हुए interface की bandwidth; application के हिसाब से ट्रैफ़िक (कुल, अंदर आने वाला या बाहर जाने वाला) कल या पिछले हफ़्ते की तुलना में; खुली संदिग्ध गतिविधियाँ; top clients और services |
+| शीर्ष 66 | top 66 conversations, किसी भी column से sort होने वाली, या application, नेटवर्क, segment, डिवाइस, encapsulation, VLAN के अनुसार समूह; top 30 सबसे सक्रिय hosts |
+| ट्रैफ़िक विवरण | Ring charts: servers और उनके clients (या उल्टा), और services |
+| ट्रैफ़िक के रास्ते | Host → application → देश, या client → service → server, या नेटवर्क के अनुसार |
+| इंटरफ़ेस मिलान | समय के साथ हर interface, उसके counters की तुलना में; नाम, टैग, डिफ़ॉल्ट |
+| फ़्लो रिकॉर्ड | अलग-अलग flows, हर 5 सेकंड पर live या किसी भी समय-सीमा के लिए |
+| संदिग्ध गतिविधि, ख़तरे की जानकारी | किस पर ध्यान देना है ([नीचे](#findings)); सूचीबद्ध addresses के साथ ट्रैफ़िक |
+| भूगोल और नेटवर्क | देश के अनुसार विश्व मानचित्र, समय के साथ नेटवर्क (AS) |
+| सेटिंग्स | डिवाइस, sampling, loss, SNMP, databases, लोगो, नाम |
+| ऑफ़लाइन pcap विश्लेषण, डेटा सफ़ाई | कैप्चर फ़ाइलें ([नीचे](#9-offline-pcap-terminal-ui-local-capture)); पुराना डेटा हटाना |
+
+पेजों के ऊपर: **इंटरफ़ेस** (सभी, या एक सैंपल interface; तब ट्रैफ़िक पेज सिर्फ़
+उससे होकर गुज़रने वाला ट्रैफ़िक दिखाते हैं), समय-सीमा (15 मिनट से 30 दिन, या
+कस्टम), हर 30 s पर refresh, और ठीक इसी view के लिए **लिंक कॉपी करें**। भाषा और
+पाँच रंग थीम menu के नीचे हैं। Charts वहीं तक जाते हैं जहाँ तक डेटा पूरा है:
+NetFlow/IPFIX के साथ उतनी देर तक जितनी देर से डिवाइस export करते हैं (ज़्यादा
+से ज़्यादा 2 मिनट)। 6 घंटे से लंबी ranges पूरे घंटे से शुरू होती हैं; 7 या 30
+दिन के लिए एक interface flow detail पढ़ता है, इसलिए वह धीमा है और उतना ही पीछे
+जाता है जितने समय तक detail रखा जाता है।

@@ -828,363 +313,118 @@ internet scanner के।

-यही सारांश चीनी में; हर पेज 13 भाषाओं में उपलब्ध है:
-

-
-
-### ऑफ़लाइन pcap विश्लेषण
-
-**ऑफ़लाइन pcap विश्लेषण** Wireshark या tcpdump के कैप्चर को लाइव डेटा वाले पेजों पर ही दिखाता है, बिना उन्हें मिलाए।
-
-यह सभी पैकेटों को फ़्लो में समेटता है: किसने किससे, कितनी, कब बात की, और क्या हमले जैसा दिखता है। यह प्रोटोकॉल डिकोड नहीं करता और पैकेट की सामग्री नहीं दिखाता; एक पैकेट या एक TCP स्ट्रीम देखने के लिए Wireshark इस्तेमाल करें।
-
-कमांड लाइन से, बिना कोई सेटअप किए:
+
-```
-traffic66 office.pcap
-traffic66 a.pcap b.pcapng c.pcap
-```
+### संदिग्ध गतिविधि
-traffic66 सिर्फ़ इसी कंप्यूटर पर (127.0.0.1, कोई खाली पोर्ट) शुरू होता है, पता, पासवर्ड और एक बार चलने वाला साइन-इन लिंक छापता है, और ब्राउज़र में कैप्चर खोल देता है। अधिकतम 3 फ़ाइलें, कुल 3 GB; फ़ाइलें अपनी जगह से पढ़ी जाती हैं और कभी बदली नहीं जातीं। कुछ भी इकट्ठा या भेजा नहीं जाता, और होस्ट नाम नहीं खोजे जाते (`-dns` से चालू करें)। Ctrl+C रोकता है और आयात किया डेटा मिटा देता है। 2-कोर मशीन पर 1 GB का कैप्चर लगभग 5 सेकंड (12 लाख पूरे आकार के पैकेट) से 30 सेकंड (1.4 करोड़ छोटे पैकेट) में तैयार होता है।
+हर 5 मिनट पर पिछले 10 मिनट की जाँच होती है; जो चीज़ एक घंटे तक चलती है वह एक
+ही प्रविष्टि है जो बढ़ती जाती है।
-```
-$ traffic66 office.pcap
+| गतिविधि | मतलब |
+|---|---|
+| स्कैन, पोर्ट स्कैन | एक port पर कई hosts को, या एक host के कई ports को छोटे probes |
+| पासवर्ड का अनुमान | किसी login service से कई छोटे connections |
+| लेटरल मूवमेंट | ऐसे internal hosts से file sharing या remote administration जिन्होंने पहले कभी वह नहीं दिया |
+| असामान्य अपलोड | 10 मिनट में किसी नए address को 100 MB, जो वापस आया उसका तीन गुना |
+| फ़्लड | एक address पर 20,000+ छोटे packets/s, उसकी सामान्य दर का दस गुना |
+| ख़तरा सूची | किसी सूचीबद्ध address के साथ ट्रैफ़िक |
+
+आपके नेटवर्क के अंदर से हों तो उच्च, इंटरनेट से हों तो निम्न। **निपटा दिया**
+प्रविष्टि को बंद करता है, **कोई समस्या नहीं** उसे हमेशा के लिए चुप कर देता है।
+लेटरल मूवमेंट और uploads के लिए एक दिन का इतिहास चाहिए। 1:4096 sampling के
+बावजूद डेमो का हमला पूरा पकड़ा जाता है; बहुत छोटे scans sampling के पीछे छिप
+सकते हैं।
-traffic66 0.3.1: analysing 1 capture file(s); nothing is collected or sent
- Web UI http://127.0.0.1:38217 (port 38217, this computer only)
- Sign in user admin, password gfhfhbuutz2e
- Open http://127.0.0.1:38217/auto?t=b9388f… (signs in once)
- Stop Ctrl+C; the imported data is deleted, your files are kept
-```
+
-चल रहे traffic66 के वेब UI में:
+
-1. **कैप्चर फ़ाइलें अपलोड करें…**: `.pcap` या `.pcapng`, संपीड़ित नहीं। अधिकतम 3 फ़ाइलें, हर एक 50 MB तक। फ़ाइलें फ़्लो में बदलकर अलग डेटाबेस (`/sandbox/`) में जाती हैं; लाइव डेटा, उसके आँकड़े और निष्कर्ष नहीं बदलते।
-2. **विश्लेषण करें**: सभी पेज (अवलोकन, Top 66, ट्रैफ़िक विवरण, निष्कर्ष, फ़्लो पथ, मानचित्र, फ़्लो रिकॉर्ड) कैप्चर फ़ाइलों का पूरा समय दिखाते हैं। नारंगी पट्टी फ़ाइलों के नाम बताती है; **लाइव डेटा पर लौटें** से लौटें। हर फ़ाइल एक डिवाइस की तरह दिखती है, इसलिए **डिवाइस** बॉक्स से एक-एक फ़ाइल देखी जा सकती है।
-3. पहचान के नियम कैप्चर पर भी चलते हैं: स्कैन, पोर्ट स्कैन और पासवर्ड अनुमान **संदिग्ध गतिविधि** में दिखते हैं। जिन नियमों को एक दिन का इतिहास चाहिए (लेटरल मूवमेंट, असामान्य अपलोड) वे कैप्चर पर लागू नहीं होते।
-4. **हटाएँ** एक फ़ाइल और उसका डेटा हटाता है; **सब हटाएँ** सब कुछ हटाता है।
+## 9. ऑफ़लाइन pcap, terminal UI, local capture
-डेमो में हमले वाला एक उदाहरण कैप्चर शामिल है।
+**ऑफ़लाइन pcap विश्लेषण** पैकेट कैप्चर (pcap, pcapng) को उन्हीं पेजों पर
+दिखाता है, लाइव डेटा से अलग: `traffic66 a.pcap b.pcapng` 127.0.0.1 पर शुरू
+होकर browser खोलता है (अधिकतम 3 फ़ाइलें, 3 GB; Ctrl+C आयात किया डेटा मिटा देता
+है), या उस पेज पर 50 MB तक की अधिकतम 3 फ़ाइलें अपलोड करें। यह flows पर काम
+करता है, पैकेट की सामग्री पर नहीं।

-## 10. Terminal UI
-
-```
-traffic66 tui # traffic66 on this machine
-traffic66 tui -server http://192.0.2.50:8066 -user admin -password …
-traffic66 -tui # collect and show the terminal UI in one process
-```
-
-traffic66 मशीन पर, `traffic66 tui` ख़ुद ही साइन इन कर लेता है जब वह data
-directory पढ़ सकता है (डिफ़ॉल्ट न हो तो `-data` दें)। अगर traffic66 किसी दूसरे
-यूज़र के रूप में चलता है, जैसे service चलती है, तो इसके बजाय `-user` और
-`-password` इस्तेमाल करें। `-lang` भाषा चुनता है (`en`, `zh`, `hi`,
-`es`, `ar`, `fr`, `bn`, `pt`, `ru`, `id`, `ur`, `ja`, `ko`)।
-
-Keys: 1–8 पेज, ↑↓ चुनें, Enter चुनी गई value पर actions, f केवल यही दिखाएँ,
-x हटाएँ, / search, t time range, c filters साफ़ करें, w यही view browser में
-खोलें, q बाहर निकलें।
+**Terminal UI**: traffic66 मशीन पर `traffic66 tui`, या
+`traffic66 tui -server http://192.0.2.50:8066 -user admin -password …`।
+Keys: 1–8 पेज, Enter actions, f केवल यही दिखाएँ, x हटाएँ, t time range, w
+browser में खोलें, q बाहर निकलें; `-lang` भाषा चुनता है।


-
-
-## 11. Local capture
-
-Flow exports पाने के अलावा, traffic66 जिस मशीन पर चलता है उसके किसी network
-interface के packets से ख़ुद भी flows बना सकता है। उसे क्या दिखता है, यह
-interface पर निर्भर करता है:
+**Local capture** किसी local interface से flows बनाता है, सबसे अच्छा किसी
+switch के mirror port से जुड़ा port: `traffic66 interfaces` उनकी सूची देता है,
+`-capture eth1` (या Windows का नाम या नंबर) capture करता है। Linux को root या
+`setcap cap_net_raw,cap_net_admin+ep` चाहिए, macOS को root, Windows को
+[Npcap](https://npcap.com)। Capture किए गए flows डिवाइस `127.0.0.1` से आते हैं।
-| Interface | traffic66 को क्या दिखता है |
-|---|---|
-| switch के mirror (SPAN) port से जुड़ा एक ख़ाली network port | वह सारा ट्रैफ़िक जो switch mirror करता है: पूरा नेटवर्क या uplink |
-| मशीन का अपना Ethernet या Wi-Fi | केवल इसी मशीन का अपना ट्रैफ़िक |
-
-Wi-Fi adapters दूसरे डिवाइसों का ट्रैफ़िक नहीं देख सकते। पूरे Wi-Fi नेटवर्क को
-देखने के लिए router या access point से flows export करवाएँ (अनुभाग 4), या उस
-switch port को mirror करें जिससे access point जुड़ा है।
-
-
-
-### Windows
-
-1. [Npcap](https://npcap.com) को उसके default options के साथ इंस्टॉल करें। अगर
- आप "Restrict Npcap driver's access to Administrators only" पर tick लगाते
- हैं, तो traffic66 को Administrator के रूप में चलाएँ।
-2. Interfaces की सूची देखें (PowerShell):
-
- ```
- C:\traffic66\traffic66.exe interfaces
- ```
-
- ```
- # Name Address Adapter / device
- 1 Ethernet - Intel(R) Ethernet I219-V \Device\NPF_{4B8A2C1E-…}
- 2 Wi-Fi 192.168.1.23 Intel(R) Wi-Fi 6 AX201 \Device\NPF_{9F00AA11-…}
- 3 Loopback - Adapter for loopback traffic capture \Device\NPF_Loopback
- ```
+
- Name column में Windows की network settings वाला connection का नाम होता है;
- जो interface इस्तेमाल में है, उसका एक address होता है।
-3. Wi-Fi पर capture करें, नाम से या नंबर से:
+## 10. विकल्प और डेटा
- ```
- C:\traffic66\traffic66.exe -capture Wi-Fi
- C:\traffic66\traffic66.exe -capture 2
- ```
-
- जिन नामों में spaces हों, उन्हें quotes में रखें: `-capture "Ethernet 2"`।
- कई interfaces पर capture करने के लिए `-capture` दोहराएँ। अगर आपको केवल
- capture चाहिए और कोई flow collector नहीं, तो `-listen=` जोड़ें। अनुभाग 2 के
- startup task के लिए option को `-Argument` में जोड़ें:
- `-Argument '-data C:\traffic66\traffic66-data -capture Wi-Fi'`।
-
-
-
-### Linux
-
-```
-traffic66 interfaces
-sudo setcap cap_net_raw,cap_net_admin+ep /opt/traffic66/traffic66
-traffic66 -capture eth1
-```
-
-Capture के लिए root चाहिए, या capabilities `CAP_NET_RAW` और `CAP_NET_ADMIN`:
-ऊपर वाली `setcap` लाइन, या अनुभाग 2 की systemd unit में `AmbientCapabilities`
-वाली लाइन। Wi-Fi interfaces के नाम आमतौर पर `wlan0` या `wlp…` होते हैं।
-
-
-
-### macOS
-
-```
-traffic66 interfaces
-sudo traffic66 -capture en0
-```
-
-Capture के लिए root चाहिए; कुछ इंस्टॉल नहीं करना। MacBooks पर `en0` Wi-Fi है।
-
-
-
-### जाँचें कि यह काम कर रहा है
-
-**सेटिंग्स** हर capture किए जा रहे interface को capture method और देखे गए packets
-की संख्या के साथ दिखाता है। Flows डिवाइस `127.0.0.1` (यह मशीन) से आते हुए
-दिखते हैं, हर पेज पर, किसी भी दूसरे डिवाइस के flows की तरह। दो बार दिखे
-packets (जैसे दो mirror ports पर) दो बार गिने जाते हैं।
-
-
-
-## 12. विकल्प
-
-`traffic66 -h` और `traffic66 -h` सब कुछ सूचीबद्ध करते हैं।
-
-कमांड:
-
-| कमांड | |
-|---|---|
-| `traffic66` | flows इकट्ठा करता है और web UI चलाता है |
-| `traffic66 demo` | वही, एक simulated नेटवर्क के साथ |
-| `traffic66 tui` | चल रहे traffic66 के लिए terminal UI |
-| `traffic66 passwd` | यूज़र जोड़ता, बदलता, उनकी सूची दिखाता या उन्हें हटाता है (देखें [यूज़र और पासवर्ड](#3-users-and-passwords)) |
-| `traffic66 simulate -to HOST` | किसी collector को simulated exports भेजता है |
-| `traffic66 interfaces` | local capture के लिए interfaces की सूची |
-| `traffic66 version` | version छापता है |
-
-`traffic66` और `traffic66 demo` के विकल्प:
+`traffic66 -h` सब कुछ सूचीबद्ध करता है। सबसे ज़्यादा इस्तेमाल होने वाले:
| विकल्प | डिफ़ॉल्ट | |
|---|---|---|
-| `-addr` | `:8066` | web UI का address; केवल इसी मशीन के लिए `127.0.0.1:8066` |
| `-data` | प्रोग्राम के बगल में `traffic66-data` | data directory |
-| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | UDP collectors, `name=address` के रूप में, comma से अलग; ख़ाली हो तो बंद |
-| `-user` | `admin` | पहली बार शुरू होने पर बनाए गए यूज़र का नाम, और उस यूज़र का जिस पर `-password` लागू होता है |
-| `-password` | सेट नहीं | इस run में केवल इसी पासवर्ड के साथ `-user` को स्वीकार करता है, `password` फ़ाइल को अनदेखा करके (`TRAFFIC66_PASSWORD` भी) |
-| `-retention-days` | `30` | flow detail कितने दिन रखा जाए; summaries 400 दिन रखी जाती हैं |
-| `-memory` | `0.10` | physical memory का कितना हिस्सा database cache के लिए, और उतना ही बाकी प्रोग्राम के लिए soft limit (हर एक कम से कम 256 MB) |
-| `-l2-overhead` | `18` | NetFlow/IPFIX byte counts में हर packet पर जोड़े जाने वाले bytes |
+| `-addr` | `:8066` | web UI; केवल इसी मशीन के लिए `127.0.0.1:8066` |
+| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | UDP collectors; ख़ाली हो तो बंद |
+| `-retention-days` | `30` | flow detail के दिन; summaries 400 दिन रखी जाती हैं |
+| `-memory` | `0.10` | database cache के लिए RAM का हिस्सा |
| `-sampling-wait` | `5m` | records sampling rate का कितनी देर इंतज़ार करें |
-| `-capture` | | local interface पर capture (दोहराया जा सकता है) |
-| `-inventory` | `/inventory.txt` | नामों की फ़ाइल |
-| `-asn` | `/asn.tsv.gz` | IP-to-ASN table (`.mmdb` फ़ाइलें: उन्हें अपलोड करें, या `/country.mmdb` और `/asn.mmdb`, `/both.mmdb`) |
-| `-threat` | `/threats/*.txt` | अतिरिक्त threat list, `name=path` के रूप में (दोहराया जा सकता है) |
-| `-dns-upstream` | system resolver | host names दिखाने के लिए DNS server |
-| `-dns-rate` | `20` | प्रति सेकंड अधिकतम reverse lookups |
-| `-dns-cache` | `2m` | host names कितनी देर cache रहें |
+| `-capture` | | local interface (दोहराया जा सकता है) |
| `-no-dns` | | कोई reverse lookup नहीं |
-| `-tui` | | साथ में terminal UI भी खोलें |
-
-उदाहरण: एक दूसरा collector port, एक साल का detail, और web UI केवल local मशीन
-पर:
-
-```
-traffic66 -data /var/lib/traffic66 -listen "sflow=:6343,netflow=:2055,ipfix=:4739,netflow=:9995" -retention-days 365 -addr 127.0.0.1:8066
-```
-
+data directory में `raw/` (detail, हर घंटे की एक फ़ाइल), `traffic66.duckdb`
+(summaries और counters), `password`, `inventory.txt`, `license.json`, आपका
+लोगो और databases रहते हैं। बैकअप के लिए traffic66 रोकें और इसे कॉपी करें;
+अपग्रेड के लिए प्रोग्राम फ़ाइल बदलें। **डेटा सफ़ाई** 7–120 दिन से पुराना डेटा,
+या पूरा डेटा, हटाता है।
-## 13. डेटा, बैकअप, अपग्रेड, अनइंस्टॉल
+
-सब कुछ data directory में रहता है:
+### लाइसेंस
-| | |
-|---|---|
-| `raw/` | flow detail, हर घंटे की एक compressed फ़ाइल |
-| `traffic66.duckdb` | summaries, interface counters और मौजूदा घंटा |
-| `password` | login पासवर्ड (hashed) |
-| `inventory.txt` | नाम (**सेटिंग्स → नाम**) |
-| `license.json` | installation number और लाइसेंस ([ट्रायल और लाइसेंस](#trial-and-licence) देखें) |
-| `logo.png` (या `.svg`, `.jpg`, `.webp`, `.gif`) | आपका लोगो (**सेटिंग्स → लोगो**), अगर आपने अपलोड किया है |
-| `country.mmdb`, `asn.mmdb`, `both.mmdb`, `asn.tsv.gz`, `dbip-country.mmdb`, `dbip-asn.mmdb`, `threats/`, `sandbox/` | आपके जोड़े हुए देश और नेटवर्क databases और threat lists |
-
-**डेटा कितने समय तक रखा जाता है**: flow detail 30 दिन, summaries (overview और लंबी समय-सीमाएँ) 400 दिन।
-इससे पुराना डेटा अपने आप हटता है, हर 5 मिनट में जाँच होती है; इसके अलावा कुछ नहीं हटता और कोई और सीमा नहीं है।
-detail की अवधि `-retention-days` से बदलें, कितने भी दिन, उदाहरण के लिए `-retention-days 365`। डिस्क का उपयोग
-उसी के साथ बढ़ता है: रखे गए दिन न समाएँ तो साइड मेनू में **खाली** लाल हो जाता है। डिस्क भर जाए तो जगह खाली होने तक
-नए flows सहेजे नहीं जा सकते।
-
-साइड मेनू में **डेटा सफ़ाई** ज़रूरत पड़ने से पहले ही डेटा हटाता है: 120, 90, 60,
-30 या 7 दिन से पुराना, या पूरा डेटा। हर विकल्प के लिए यह दिखाता है कि कितने
-flow records हटेंगे और लगभग कितनी डिस्क जगह खाली होगी, और हटाने से पहले
-पूछता है। flow records, घंटेवार और दैनिक summaries, interface counters और
-संदिग्ध गतिविधियाँ हटती हैं; पूरा डेटा हटाने पर detection rules ने जो सीखा है
-वह भी रीसेट हो जाता है। इसे वापस नहीं किया जा सकता।
-
-- **बैकअप**: traffic66 रोकें और directory कॉपी करें। बिना रोके
- `raw/`, `password` और `inventory.txt` कॉपी करें; तब मौजूदा घंटा और
- summaries छूट जाते हैं।
-- **दूसरी जगह ले जाना**: traffic66 रोकें, directory को move करें, और नई जगह की
- ओर इशारा करते `-data` के साथ शुरू करें।
-- **अपग्रेड**: traffic66 रोकें, प्रोग्राम फ़ाइल बदलें, फिर से शुरू करें।
- डेटा बना रहता है। उदाहरण के लिए Linux पर:
-
- ```
- sudo systemctl stop traffic66
- sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
- sudo systemctl start traffic66
- ```
-
-- **अनइंस्टॉल**: service या startup task रोकें और हटाएँ
- ([इंस्टॉल करें](#2-install) देखें), फिर प्रोग्राम फ़ोल्डर और data directory
- हटा दें।
-
-
-
-### ट्रायल और लाइसेंस
-
-traffic66 source available है,
[PolyForm Noncommercial License 1.0.0](../LICENSE.md) और
-[Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md) के तहत; दोनों का
-अंग्रेज़ी पाठ ही बाध्यकारी है। संक्षेप में:
-
-- **Evaluation**, testing, development और demonstration: सबके लिए मुफ़्त,
- बिना समय-सीमा के।
-- 100 से कम कर्मचारियों और contractors वाले संगठन द्वारा **production use**
- (असली traffic, संगठन के कामकाज के लिए): मुफ़्त।
-- **बड़े संगठनों** द्वारा production use: 30 दिन मुफ़्त, फिर लेखक से
- registration licence लेना ज़रूरी है।
-- Contractors और service providers इसे किसी customer के लिए, उसी customer के
- अपने deployment में चला सकते हैं; customer का आकार तय करता है।
-- Commercial licence के बिना अनुमति नहीं: इसे बेचना या किसी product में
- जोड़ना, इसे दूसरों को hosted या multi-tenant service के रूप में देना, या
- प्रतिस्पर्धी product।
-
-Registration licence की फ़ीस, दायरा और अवधि हर मामले में अलग से तय होते हैं,
-और यह मुफ़्त भी हो सकता है। संपर्क: ।
-
-हर installation ट्रायल दिखाता है, वहाँ भी जहाँ लाइसेंस की ज़रूरत नहीं है। पहली
-बार शुरू होने पर traffic66 data
-directory में 8 अंकों के installation number के साथ `license.json` लिखता है।
-हर पेज के नीचे दिखता है कि ट्रायल के कितने दिन बचे हैं, और फिर यह कि ट्रायल
-ख़त्म हो गया है। दोनों ही हालत में कुछ बंद नहीं होता: हर feature चलता रहता है।
-
-रजिस्टर करने के लिए लेखक को installation number भेजें (यह हर पेज के नीचे भी
-दिखता है)। लाइसेंस एक नई `license.json` के रूप में वापस आता है; उसे पुरानी की
-जगह data directory में रखें। traffic66 शुरू होने पर और हर 4 घंटे में इसकी जाँच
-होती है, इसलिए restart की ज़रूरत नहीं; फिर पेज के नीचे दिखता है कि लाइसेंस
-किसके नाम है और कितने दिन बचे हैं।
-
-
-
-## 14. सुरक्षा
-
-- web UI सादा HTTP इस्तेमाल करता है: पासवर्ड और डेटा बिना encryption के नेटवर्क
- पर जाते हैं। जिन नेटवर्कों पर आपको पूरा भरोसा नहीं, वहाँ केवल इसी मशीन पर
- सुनें (`-addr 127.0.0.1:8066`) और आगे एक TLS reverse proxy लगाएँ, उदाहरण के
- लिए [Caddy](https://caddyserver.com) से:
- `caddy reverse-proxy --from traffic66.example.com --to 127.0.0.1:8066`।
- या इसे VPN या SSH tunnel से एक्सेस करें:
- `ssh -L 8066:127.0.0.1:8066 user@192.0.2.50`, फिर
- http://127.0.0.1:8066 खोलें।
-- UDP collector ports को केवल अपने डिवाइसों के addresses से अनुमति दें।
-- `inventory.txt` में SNMP communities सादे टेक्स्ट में रहती हैं; read-only
- community इस्तेमाल करें।
-
-
-
-## 15. क्षमता का अनुमान
-
-2-core मशीन पर 5,000 flows प्रति सेकंड पर मापा गया: detail रोज़ लगभग 12 GB
-disk लेता है, साथ में मौजूदा घंटे के लिए लगभग 1.5 GB; प्रोग्राम एक core का
-छठा हिस्सा लेता है। लंबी time ranges के overviews
-summaries से आते हैं और 0.2 s से कम लेते हैं। Detail पर queries हर घंटे के
-लगभग 2.2 करोड़ rows scan करती हैं: 1 घंटे में एक host 1 s से कम लेता है, सभी
-conversations का 1 घंटे का Top 66 लगभग 9 s; समय range के साथ बढ़ता है और
-ज़्यादा cores के साथ घटता है।
-
-इसलिए 5,000 flows/s पर 30 दिनों के लिए disk लगभग 360 GB है; इसे अपने flow rate
-(**सेटिंग्स** पर दिखता है) और `-retention-days` के अनुपात में बढ़ाएँ-घटाएँ।
-
-Memory: `-memory` (डिफ़ॉल्ट RAM का 10%, कम से कम 256 MB) database cache को
-सीमित करता है, और बाकी प्रोग्राम को उतने ही आकार की soft limit मिलती है।
-5,000 flows प्रति सेकंड पर प्रोग्राम का अपना data (decoding, duplicate
-detection, batches) लगभग 90 MB लेता है; कुल मिलाकर 0.6–0.8 GB मानकर चलें,
-इसलिए 2 GB RAM वाली मशीन काफ़ी है। लगातार 10 मिनट collection के दौरान
-(8 GB मशीन पर peak 0.58 GB) और 2 GB मशीन की limits के साथ इससे ग्यारह गुना
-rate पर एक घंटे के flows load करते समय (peak 0.74 GB) मापा गया।
-
-`-memory` एक budget है, hard cap नहीं: Go की limit soft है और database
-थोड़ी देर के लिए अपने हिस्से से ज़्यादा ले सकता है। Hard cap के लिए
-operating system की limit इस्तेमाल करें: systemd unit में `MemoryMax=`
-(अनुभाग 2) या container की memory limit। `-memory` वाले हिस्से का लगभग
-2.5 गुना और कम से कम 1 GB रखें; डिफ़ॉल्ट हिस्से पर 8 GB तक की मशीनों के
-लिए `MemoryMax=2G` ठीक है। तब मशीन की memory खत्म होने के बजाय traffic66
-restart हो जाता है।
-
-
-
-## 16. समस्या निवारण
-
-| लक्षण | कारण और समाधान |
+[Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md) के तहत source
+available (अंग्रेज़ी पाठ ही बाध्यकारी है): evaluation के लिए और 100 से कम लोगों
+वाले संगठनों के लिए मुफ़्त; बड़े संगठन production use के 30 दिन बाद रजिस्टर
+करते हैं; बेचने, दूसरों के लिए host करने या प्रतिस्पर्धी products के लिए
+commercial licence चाहिए। कभी कुछ बंद नहीं होता। हर पेज के नीचे 8 अंकों का
+installation number दिखता है; उसे लेखक को भेजें, और जो `license.json` वापस
+मिले उसे data directory में रखें। संपर्क:
+।
+
+
+
+## 11. सुरक्षा, क्षमता का अनुमान, समस्या निवारण
+
+web UI सादा HTTP है: अविश्वसनीय नेटवर्कों पर `-addr 127.0.0.1:8066` को किसी
+TLS proxy (`caddy reverse-proxy --from traffic66.example.com --to
+127.0.0.1:8066`) या SSH tunnel के पीछे इस्तेमाल करें। UDP ports को केवल अपने
+डिवाइसों से अनुमति दें। SNMP communities सादे टेक्स्ट में रहती हैं; read-only
+communities इस्तेमाल करें।
+
+2 cores पर 5,000 flows/s पर: detail के हर दिन के लिए लगभग 12 GB disk (30 दिन के
+लिए 360 GB), एक core का छठा हिस्सा, 0.6–0.8 GB memory। लंबी ranges के overviews
+0.2 s से कम लेते हैं; सभी conversations का 1 घंटे का Top 66 लगभग 9 s।
+
+| लक्षण | समाधान |
|---|---|
-| डिवाइस **सेटिंग्स** में नहीं है | Packets नहीं पहुँच रहे: [जाँचें कि flows पहुँच रहे हैं](#5-check-that-flows-arrive) देखें |
-| "waiting for the sampling rate" | डिवाइस ने अभी तक अपने sampler options नहीं भेजे; ज़्यादातर कुछ मिनटों में दोबारा भेज देते हैं। अगर कभी न भेजे, तो उन्हें export करवाएँ (Cisco पर `option sampler-table`) या अगर वह सच में 1:1 है तो नाम में उसे `unsampled` लिखें, या उसकी `device` line पर `sampling=N` से rate दें। फिर **सेटिंग्स** में डिवाइस द्वारा भेजे गए templates दिखते हैं, जिससे पता चलता है कि वह क्या घोषित करता है |
-| आँकड़े interface counters से कम | **इंटरफ़ेस मिलान** देखें: रास्ते में loss, interfaces sample नहीं हो रहे, या flows अभी डिवाइस के cache में हैं (active timeout 60 s से लंबा) |
-| आँकड़े interface counters से ज़्यादा | वही ट्रैफ़िक दो interfaces या दो डिवाइसों पर sample हो रहा है |
-| कोई देश या नेटवर्क नहीं ("अज्ञात") | कोई database लोड नहीं है: **सेटिंग्स** पर एक अपलोड करें, [देश](#8-countries-networks-and-threat-lists) देखें |
-| पेज पर "डेटाबेस अपनी मेमोरी सीमा तक पहुँच गया और जवाब नहीं दे सका" | छोटी समय सीमा चुनें, या बड़े `-memory` के साथ शुरू करें; विवरण log में है |
-| पासवर्ड भूल गए | traffic66 मशीन पर `traffic66 passwd` (अगर traffic66 `-data` के साथ चलता है तो `-data` जोड़ें) |
-| `Conflicting lock is held` | कोई दूसरा traffic66 पहले से यही data directory इस्तेमाल कर रहा है |
-| `receive buffer is only … KB` | Linux UDP buffers सीमित रखता है: `net.core.rmem_max=16777216` सेट करें ([Linux](#linux) देखें) |
-| `cannot create the data directory` | इस यूज़र के लिए प्रोग्राम फ़ोल्डर writable नहीं है: `-data` दें |
-| macOS: "cannot be opened" या "developer cannot be verified" | `xattr -dr com.apple.quarantine ` |
-| Windows: "Windows protected your PC" (Windows ने आपके PC को सुरक्षित किया) | **More info** (अधिक जानकारी) → **Run anyway** (फिर भी चलाएँ); प्रोग्राम अभी signed नहीं है |
-| Windows capture: Npcap नहीं मिला | [Npcap](https://npcap.com) इंस्टॉल करें |
-| `address already in use` | कोई दूसरा प्रोग्राम वह port इस्तेमाल कर रहा है: `-addr` या `-listen` से दूसरे ports चुनें |
-
-
-
-## 17. सोर्स से बिल्ड करें
-
-Go 1.24 और एक C compiler (gcc या clang; Windows पर MinGW-w64):
-
-```
-git clone https://github.com/githubflyideas/traffic66
-cd traffic66
-scripts/build.sh 0.1.0 traffic66
-```
+| "waiting for the sampling rate" | sampler options export करें, या डिवाइस की line पर `sampling=N` / `unsampled` |
+| counters से कम | interfaces sample नहीं हो रहे, loss, या 60 s से लंबा active timeout |
+| counters से ज़्यादा | वही ट्रैफ़िक दो interfaces या दो डिवाइसों पर sample हो रहा है |
+| पासवर्ड भूल गए | traffic66 मशीन पर `traffic66 passwd` |
+| `Conflicting lock is held` | कोई दूसरा traffic66 यही data directory इस्तेमाल कर रहा है |
+| `address already in use` | `-addr` या `-listen` से दूसरे ports चुनें |
+| Windows: "Windows protected your PC" (Windows ने आपके PC को सुरक्षित किया) | **More info** (अधिक जानकारी) → **Run anyway** (फिर भी चलाएँ) |
+
+सोर्स से बिल्ड करें: Go 1.24 और एक C compiler, फिर `scripts/build.sh 0.1.0 traffic66`।
diff --git a/docs/README.id.md b/docs/README.id.md
index 6acf3dc..c80d563 100644
--- a/docs/README.id.md
+++ b/docs/README.id.md
@@ -2,422 +2,158 @@
# traffic66
-Analitik flow untuk sFlow, NetFlow, dan IPFIX dalam satu program.
-traffic66 menerima ekspor flow dari switch, router, dan firewall,
-menyimpannya di database tertanam, lalu menunjukkan siapa yang memakai
-bandwidth, ke mana trafik mengalir, dan apakah angkanya cocok dengan
-counter interface di perangkat itu sendiri — lewat antarmuka web maupun
+Analitik flow untuk sFlow, NetFlow, dan IPFIX dalam satu program: siapa yang
+memakai bandwidth, ke mana trafik mengalir, dan apakah angkanya cocok dengan
+counter interface di perangkat itu sendiri, lewat antarmuka web maupun
antarmuka terminal.
-- Satu file executable untuk Windows, Linux, dan macOS. Tanpa database
- yang perlu dipasang, tanpa runtime, bisa berjalan offline.
-- sFlow v5, NetFlow v5, NetFlow v9, dan IPFIX di port UDP mana pun;
- opsional capture lokal dari interface jaringan atau port mirror.
-- Mencocokkan angkanya sendiri dengan counter interface (counter sFlow atau
- SNMP) dan menjelaskan penyebabnya bila berbeda.
-- Menemukan pemindaian, tebakan kata sandi, pergerakan lateral, unggahan tidak
- biasa, flood, dan trafik daftar ancaman di dalam flow, juga melalui
- sampling, lalu mencantumkannya sebagai temuan untuk ditangani.
-- Daftar Top 66, siapa berkomunikasi dengan siapa dalam diagram cincin
- (server dan kliennya, layanan dan servernya), trafik dari waktu ke waktu
- per interface dan jaringan (AS), jalur trafik, negara di peta dunia,
- kecocokan dengan daftar ancaman, catatan flow, enkapsulasi (GRE, IPIP,
- VXLAN, GENEVE, MPLS).
-- `traffic66 capture.pcap` membuka hingga 3 tangkapan paket (total 3 GB) di UI web: flow, temuan, negara, dan catatan flow untuk seluruh tangkapan, tanpa pengaturan.
-- 13 bahasa di antarmuka web dan antarmuka terminal.
-- Kode sumber tersedia: gratis untuk evaluasi dan untuk organisasi dengan
- kurang dari 100 orang; organisasi yang lebih besar mendaftar setelah 30 hari
- penggunaan produksi. Tidak ada yang pernah dimatikan (lihat
- [Masa uji dan lisensi](#trial-and-licence)).
+- Satu file executable untuk Windows, Linux, dan macOS; tanpa database yang perlu dipasang, bisa berjalan offline.
+- sFlow v5, NetFlow v5/v9, dan IPFIX di port UDP mana pun, atau capture lokal dari sebuah interface.
+- Mencocokkan angkanya dengan counter interface (sFlow atau SNMP) dan menjelaskan penyebab selisihnya.
+- Menemukan pemindaian, tebakan kata sandi, pergerakan lateral, unggahan tidak biasa, flood, dan trafik daftar ancaman, juga melalui sampling.
+- `traffic66 capture.pcap` menganalisis tangkapan paket tanpa pengaturan apa pun.
+- 13 bahasa. Gratis untuk evaluasi dan untuk organisasi dengan kurang dari 100 orang ([lisensi](#licence)).

-Semua tangkapan layar berasal dari `traffic66 demo`, jaringan perusahaan simulasi yang bisa Anda jalankan sendiri (lihat [Coba demo](#1-try-the-demo)).
+Semua tangkapan layar berasal dari `traffic66 demo`, jaringan perusahaan simulasi.
## Daftar isi
1. [Coba demo](#1-try-the-demo)
-2. [Instalasi](#2-install) — [Linux](#linux) · [Windows](#windows) · [macOS](#macos)
+2. [Instalasi](#2-install)
3. [User dan kata sandi](#3-users-and-passwords)
4. [Kirim flow dari perangkat Anda](#4-send-flows-from-your-devices)
5. [Pastikan flow masuk](#5-check-that-flows-arrive)
-6. [Menyamakan angka dengan counter interface](#6-make-the-numbers-match-the-interface-counters)
-7. [Nama, SNMP, dan jaringan Anda sendiri](#7-names-snmp-and-your-own-networks)
-8. [Negara, jaringan, dan daftar ancaman](#8-countries-networks-and-threat-lists)
-9. [Memakai antarmuka web](#9-using-the-web-ui)
-10. [Antarmuka terminal](#10-terminal-ui)
-11. [Capture lokal](#11-local-capture)
-12. [Opsi](#12-options)
-13. [Data, backup, upgrade, uninstall](#13-data-backup-upgrade-uninstall)
-14. [Keamanan](#14-security)
-15. [Kebutuhan sumber daya](#15-sizing)
-16. [Pemecahan masalah](#16-troubleshooting)
-17. [Build dari source](#17-build-from-source)
+6. [Interface dan counter](#6-interfaces-and-counters)
+7. [Nama, negara, dan daftar ancaman](#7-names-countries-and-threat-lists)
+8. [Memakai antarmuka web](#8-using-the-web-ui)
+9. [Pcap offline, antarmuka terminal, capture lokal](#9-offline-pcap-terminal-ui-local-capture)
+10. [Opsi dan data](#10-options-and-data)
+11. [Keamanan, kebutuhan sumber daya, pemecahan masalah](#11-security-sizing-troubleshooting)
## 1. Coba demo
Unduh arsip untuk sistem Anda dari
-[halaman rilis](https://github.com/githubflyideas/traffic66/releases):
-
-| Sistem | Arsip |
-|---|---|
-| Windows 10/11, Server 2016 atau lebih baru (x64) | `traffic66-windows-amd64.zip` |
-| Linux x86-64: distribusi apa pun dengan kernel 3.2 atau lebih baru, termasuk CentOS 7 dan Alpine | `traffic66-linux-amd64.tar.gz` |
-| Linux ARM64: distribusi yang sama | `traffic66-linux-arm64.tar.gz` |
-| macOS 11 atau lebih baru, Apple silicon | `traffic66-darwin-arm64.tar.gz` |
-| macOS 11 atau lebih baru, Intel | `traffic66-darwin-amd64.tar.gz` |
-
-Linux:
-
-```
-tar xzf traffic66-linux-amd64.tar.gz
-cd traffic66-linux-amd64
-./traffic66 demo -password try66
-```
-
-macOS (baris kedua mengizinkan macOS menjalankan program yang diunduh dari
-internet dan bukan dari App Store):
+[halaman rilis](https://github.com/githubflyideas/traffic66/releases)
+(Windows x64, Linux x86-64/ARM64 dengan kernel 3.2+, macOS 11+), ekstrak, lalu jalankan:
```
-tar xzf traffic66-darwin-arm64.tar.gz
-xattr -dr com.apple.quarantine traffic66-darwin-arm64
-cd traffic66-darwin-arm64
-./traffic66 demo -password try66
+./traffic66 demo -password try66 # Linux, macOS
+.\traffic66.exe demo -password try66 # Windows
```
-Windows (PowerShell):
-
-```
-Expand-Archive traffic66-windows-amd64.zip .
-cd traffic66-windows-amd64
-.\traffic66.exe demo -password try66
-```
-
-Buka http://127.0.0.1:8066 dan login sebagai `admin` / `try66`. Demo ini
-membangun jaringan kantor kecil dengan riwayat satu hari dan trafik live dari
-empat perangkat simulasi, lengkap dengan sebuah serangan: **Temuan**
-menampilkan setiap langkahnya (pemindaian, pemindaian port, tebakan kata
-sandi, pergerakan lateral, unggahan ke server kendali) serta flood ke situs
-web publik. Klik **Detail** pada sebuah temuan, atau mulai dari **Ringkasan**,
-klik sebuah host di **Klien teratas**, pilih **Lihat detail**, lalu terus
-telusuri dengan mengeklik. Hentikan dengan Ctrl+C. Data demo disimpan di
-`traffic66-demo` di sebelah program; hapus folder itu untuk memulai demo
-dari awal.
-
-Demo memakai port yang sama dengan instalasi sungguhan (8066, serta UDP
-6343, 2055, 4739). Untuk menjalankannya berdampingan dengan instalasi
-sungguhan, beri port lain:
-`traffic66 demo -password try66 -addr :8067 -listen ""`.
-
-Di Windows, Anda juga bisa cukup mengklik dua kali `traffic66.exe`. Itu
-menjalankan traffic66 sungguhan (bukan demo) dan membuka antarmuka web di
-browser Anda; kata sandi start pertama ditampilkan di jendela hitam, dan
-menutup jendela itu menghentikan traffic66. Jika Windows menampilkan
-"Windows protected your PC" (Windows melindungi PC Anda), klik
-**More info** (info selengkapnya) → **Run anyway** (tetap jalankan).
+Di macOS, jalankan dulu `xattr -dr com.apple.quarantine `. Buka
+http://127.0.0.1:8066 sebagai `admin` / `try66`: riwayat satu hari dan
+trafik live dari empat perangkat simulasi, termasuk sebuah serangan yang
+ditampilkan langkah demi langkah di **Temuan**. Ctrl+C menghentikannya; hapus
+`traffic66-demo` untuk memulai dari awal. Untuk menjalankannya berdampingan
+dengan instalasi sungguhan: `-addr :8067 -listen ""`.
## 2. Instalasi
-traffic66 hanya satu file. Menginstalnya berarti menaruhnya di suatu
-tempat, memilih direktori data, mengatur kata sandi, membuka firewall, dan
-menjalankannya saat boot. Contoh-contoh di sini memakai `192.0.2.50` untuk
-mesin traffic66 dan `192.0.2.1` untuk router; ganti dengan alamat Anda.
-
-Port:
-
-| Port | Kegunaan |
-|---|---|
-| UDP 6343 | sFlow (default) |
-| UDP 2055 | NetFlow (default) |
-| UDP 4739 | IPFIX (default) |
-| TCP 8066 | antarmuka web dan API |
-
-Setiap port UDP menerima semua protokol, jadi perangkat boleh mengirim
-NetFlow ke 6343 kalau itu lebih mudah. Ubah atau tambah port dengan
-`-listen`.
+traffic66 hanya satu file. Port: UDP 6343 (sFlow), 2055 (NetFlow), 4739
+(IPFIX), TCP 8066 (antarmuka web); setiap port UDP menerima semua protokol.
-
-
-### Linux
+**Linux** (systemd):
```
-sudo mkdir -p /opt/traffic66
-sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
+sudo mkdir -p /opt/traffic66 && sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
sudo useradd --system --no-create-home --shell /usr/sbin/nologin traffic66
sudo install -d -o traffic66 -g traffic66 /var/lib/traffic66
sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66
```
-Perintah terakhir meminta kata sandi untuk user `admin`.
-
-Buat `/etc/systemd/system/traffic66.service`:
+`/etc/systemd/system/traffic66.service`:
```
[Unit]
Description=traffic66 flow analytics
After=network-online.target
-Wants=network-online.target
[Service]
User=traffic66
ExecStart=/opt/traffic66/traffic66 -data /var/lib/traffic66
Restart=on-failure
-# hard memory limit for the whole process (see Sizing)
MemoryMax=2G
-# only needed for local capture (-capture):
-#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
+#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN # only for local capture
[Install]
WantedBy=multi-user.target
```
-Jalankan, dan izinkan buffer UDP yang lebih besar agar lonjakan trafik
-tidak hilang:
-
-```
-echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf
-sudo sysctl --system
-sudo systemctl daemon-reload
-sudo systemctl enable --now traffic66
-sudo systemctl status traffic66
-journalctl -u traffic66 -f
-```
-
-Firewall, dengan firewalld (RHEL, Rocky, Alma, Fedora):
-
-```
-sudo firewall-cmd --permanent --add-port=6343/udp --add-port=2055/udp --add-port=4739/udp --add-port=8066/tcp
-sudo firewall-cmd --reload
-```
-
-atau dengan ufw (Ubuntu, Debian):
-
-```
-sudo ufw allow 6343,2055,4739/udp
-sudo ufw allow 8066/tcp
-```
-
-
-
-### Windows
-
-Ekstrak ke `C:\traffic66` dan atur kata sandi (PowerShell sebagai
-Administrator):
-
```
-Expand-Archive traffic66-windows-amd64.zip C:\
-Rename-Item C:\traffic66-windows-amd64 C:\traffic66
-C:\traffic66\traffic66.exe passwd
+echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf && sudo sysctl --system
+sudo systemctl daemon-reload && sudo systemctl enable --now traffic66
+sudo firewall-cmd --permanent --add-port={6343,2055,4739}/udp --add-port=8066/tcp && sudo firewall-cmd --reload
```
-Data disimpan di `C:\traffic66\traffic66-data`, di sebelah program.
-
-Buka firewall:
+**Windows** (PowerShell sebagai Administrator): ekstrak ke `C:\traffic66`,
+jalankan `C:\traffic66\traffic66.exe passwd`, buka port-nya, dan jalankan
+saat boot:
```
-New-NetFirewallRule -DisplayName "traffic66 flows" -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
-New-NetFirewallRule -DisplayName "traffic66 web" -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
-```
-
-Untuk mencobanya di foreground, jalankan `C:\traffic66\traffic66.exe` dan
-hentikan dengan Ctrl+C. Agar berjalan di background sejak boot, tanpa perlu
-ada yang login, daftarkan sebagai startup task:
-
-```
-$action = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
-$trigger = New-ScheduledTaskTrigger -AtStartup
-$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
-Register-ScheduledTask -TaskName traffic66 -Action $action -Trigger $trigger -Settings $settings -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
+New-NetFirewallRule -DisplayName traffic66 -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
+New-NetFirewallRule -DisplayName traffic66-web -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
+$a = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
+$s = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1)
+Register-ScheduledTask -TaskName traffic66 -Action $a -Trigger (New-ScheduledTaskTrigger -AtStartup) -Settings $s -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
Start-ScheduledTask -TaskName traffic66
```
-`-ExecutionTimeLimit ([TimeSpan]::Zero)` itu penting: tanpanya Windows
-menghentikan task setelah tiga hari. Hentikan dengan `Stop-ScheduledTask -TaskName
-traffic66`, hapus dengan `Unregister-ScheduledTask -TaskName traffic66`.
-
-
-
-### macOS
-
-```
-sudo mkdir -p /usr/local/traffic66
-sudo tar xzf traffic66-darwin-arm64.tar.gz -C /usr/local/traffic66 --strip-components=1
-sudo xattr -dr com.apple.quarantine /usr/local/traffic66
-sudo /usr/local/traffic66/traffic66 passwd -data "/Library/Application Support/traffic66"
-```
-
-Buat `/Library/LaunchDaemons/traffic66.plist`:
-
-```
-
-
-
-
- Labeltraffic66
- ProgramArguments
-
- /usr/local/traffic66/traffic66
- -data
- /Library/Application Support/traffic66
-
- RunAtLoad
- KeepAlive
- StandardErrorPath/Library/Logs/traffic66.log
-
-
-```
+Klik dua kali `traffic66.exe` juga bisa: itu membuka antarmuka web dan
+menampilkan kata sandi pertama di jendelanya.
-Menjalankan, lalu menghentikannya lagi:
-
-```
-sudo launchctl bootstrap system /Library/LaunchDaemons/traffic66.plist
-tail -f /Library/Logs/traffic66.log
-sudo launchctl bootout system/traffic66
-```
-
-Jika firewall macOS aktif, izinkan koneksi masuk untuk traffic66 di
-System Settings → Network → Firewall → Options.
+**macOS**: ekstrak ke `/usr/local/traffic66`, hapus tanda karantina,
+jalankan `traffic66 passwd -data "/Library/Application Support/traffic66"`,
+lalu jalankan dari LaunchDaemon yang `ProgramArguments`-nya adalah program,
+`-data`, dan direktori itu, dengan `RunAtLoad` dan `KeepAlive`.
## 3. User dan kata sandi
-**Singkatnya:** user dan kata sandi disimpan di satu file, `password`, di
-direktori data. Jangan pernah mengeditnya secara manual: perintah
-`traffic66 passwd` menambah, mengubah, menampilkan daftar, dan menghapus user.
-Buka `http://:8066` dan login dengan salah satunya.
-
-
-
-### Login pertama
-
Pada start pertama, traffic66 membuat user `admin` dengan kata sandi acak
-dan menampilkannya sekali:
-
-```
-first start: sign in as user "admin" with password "3f9c2a7e5b1d8046"
-```
-
-- Dijalankan dengan klik dua kali di Windows: di jendela hitam.
-- Dijalankan di terminal: di terminal itu.
-- Service Linux: `journalctl -u traffic66 | grep "first start"`
-- Service macOS: `grep "first start" /Library/Logs/traffic66.log`
-
-Terlewat? Atur yang baru dengan `traffic66 passwd` (lihat di bawah). Jika
-Anda sudah mengatur kata sandi dengan `traffic66 passwd` sebelum start
-pertama, seperti pada langkah instalasi di atas, tidak ada yang dibuat
-otomatis.
-
-
-
-### Tempat user disimpan
-
-Di file `password` di direktori data:
-
-| Cara traffic66 berjalan | File |
-|---|---|
-| Diekstrak dan dijalankan dari foldernya (default) | `traffic66-data/password` di samping program |
-| Service Linux (bagian 2) | `/var/lib/traffic66/password` |
-| Startup task Windows (bagian 2) | `C:\traffic66\traffic66-data\password` |
-| Service macOS (bagian 2) | `/Library/Application Support/traffic66/password` |
-| Demo | `traffic66-demo/password` di samping program |
-
-Satu baris per user. Kata sandi disimpan sebagai salted hash, jadi tidak ada
-yang bisa membacanya kembali dari file, termasuk Anda; jika lupa kata sandi,
-atur yang baru. File ini hanya bisa dibaca oleh pemiliknya.
-
-```
-# traffic66 login, one user per line; change with: traffic66 passwd
-admin:pbkdf2-sha256$210000$…
-alice:pbkdf2-sha256$210000$…
-```
-
-
-
-### Mengelola user
-
-Jalankan perintah berikut di mesin traffic66:
+dan menampilkannya sekali (di jendela, di terminal, atau
+`journalctl -u traffic66 | grep "first start"`). User disimpan sebagai
+salted hash di `password` di direktori data dan dikelola dengan satu
+perintah di mesin traffic66 (tambahkan `-data …` jika traffic66 berjalan
+dengannya):
| Untuk | Perintah |
|---|---|
| Mengganti kata sandi `admin` | `traffic66 passwd` |
-| Menambah user `alice`, atau mengganti kata sandinya | `traffic66 passwd -user alice` |
-| Menghapus user `alice` | `traffic66 passwd -user alice -delete` |
+| Menambah `alice` atau mengganti kata sandinya | `traffic66 passwd -user alice` |
+| Menghapus `alice` | `traffic66 passwd -user alice -delete` |
| Menampilkan daftar user | `traffic66 passwd -list` |
-| Mengatur kata sandi acak dan mencetaknya | `traffic66 passwd -generate` (dengan `-user` untuk user lain) |
-
-- Perintah ini meminta kata sandi baru dua kali dan tidak menampilkan apa
- yang Anda ketik. Gunakan minimal 8 karakter.
-- Jika traffic66 berjalan dengan `-data`, tambahkan `-data` yang sama ke
- perintah. Untuk service Linux dari bagian 2:
-
- ```
- sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66 -user alice
- ```
-
- Di Windows (PowerShell sebagai Administrator):
-
- ```
- C:\traffic66\traffic66.exe passwd -user alice
- ```
-
-- Perubahan langsung berlaku tanpa restart: kata sandi baru berlaku pada
- login berikutnya, dan user yang dihapus otomatis logout dari browser yang
- sedang terbuka.
-- User terakhir yang tersisa tidak bisa dihapus; tambahkan user lain dulu.
-- Semua user melihat dan bisa mengubah hal yang sama; tidak ada role.
-
-
-
-### Kata sandi untuk skrip dan container
-
-`TRAFFIC66_PASSWORD=…` di environment, atau `-password …` di command line,
-membuat traffic66 hanya menerima satu user untuk run itu: user yang disebut
-di `-user` (default `admin`) dengan kata sandi tersebut. File `password`
-lalu diabaikan dan tidak diubah. Utamakan environment variable: command line
-bisa dilihat user lain di mesin yang sama.
-```
-TRAFFIC66_PASSWORD='s3cret-pass' traffic66 -user ops
-```
-
-Setelah lima kali salah kata sandi dalam satu menit, alamat tersebut
-diblokir selama satu menit.
+Perubahan langsung berlaku. Semua user punya hak yang sama. Untuk skrip dan
+container, `TRAFFIC66_PASSWORD=…` (atau `-password`) hanya menerima `-user`
+dengan kata sandi itu untuk run tersebut. Lima kali salah kata sandi dalam
+satu menit memblokir alamat itu selama satu menit.
## 4. Kirim flow dari perangkat Anda
-Arahkan setiap perangkat ke mesin traffic66. Perintahnya berbeda antar
-model dan versi software; periksa manual perangkat Anda. Di semua contoh,
-`192.0.2.50` adalah traffic66 dan `192.0.2.1` alamat perangkat itu sendiri.
-
-Saran umum:
-
-- Atur active flow timeout ke 60 detik. Timeout yang lebih lama membuat
- trafik datang terlambat dalam gumpalan besar.
-- Jika perangkat melakukan sampling NetFlow/IPFIX, aktifkan ekspor sampler
- options agar rate-nya diketahui. traffic66 menahan record sampai rate
- tersebut datang, bukan menghitungnya 1:1.
-- Lakukan sampling di semua interface atau hanya di interface tepi, dalam
- satu arah. Sampling trafik yang sama saat masuk dan saat keluar akan
- menghitungnya dua kali; **Pencocokan antarmuka** akan menunjukkan hal ini.
-- Sampling rate sFlow: sekitar 1:1000 untuk link 1 Gb/s, 1:4096 untuk
- 10 Gb/s, 1:8192 untuk 40/100 Gb/s.
-
-Cisco IOS / IOS-XE (Flexible NetFlow):
+`192.0.2.50` adalah traffic66, `192.0.2.1` perangkatnya. Atur active timeout
+ke 60 detik, biarkan perangkat NetFlow/IPFIX mengekspor sampler options-nya,
+dan lakukan sampling **di setiap interface pada arah masuk** (atau hanya di
+interface tepi): dengan begitu setiap paket dihitung sekali. Sampling rate
+sFlow: sekitar 1:1000 untuk 1 Gb/s, 1:4096 untuk 10 Gb/s, 1:8192 untuk
+40/100 Gb/s.
```
+! Cisco IOS-XE, NetFlow v9
flow exporter T66
destination 192.0.2.50
transport udp 2055
- export-protocol netflow-v9
option sampler-table
flow monitor T66
exporter T66
@@ -427,39 +163,8 @@ interface GigabitEthernet0/0/0
ip flow monitor T66 input
```
-Cisco NX-OS (sFlow):
-
-```
-feature sflow
-sflow collector-ip 192.0.2.50 vrf default
-sflow collector-port 6343
-sflow agent-ip 192.0.2.1
-sflow sampling-rate 4096
-sflow counter-poll-interval 30
-sflow data-source interface ethernet 1/1
-```
-
-Arista EOS (sFlow):
-
-```
-sflow sample 4096
-sflow destination 192.0.2.50
-sflow source-interface Management1
-sflow run
-```
-
-Juniper EX / QFX (sFlow):
-
-```
-set protocols sflow collector 192.0.2.50 udp-port 6343
-set protocols sflow sample-rate ingress 4096
-set protocols sflow polling-interval 30
-set protocols sflow interfaces ge-0/0/0
-```
-
-Huawei CloudEngine (sFlow):
-
```
+# Huawei CloudEngine, sFlow (H3C Comware is similar)
sflow agent ip 192.0.2.1
sflow collector 1 ip 192.0.2.50
interface 10GE1/0/1
@@ -470,46 +175,22 @@ interface 10GE1/0/1
sflow counter interval 30
```
-H3C Comware (sFlow):
-
-```
-sflow agent ip 192.0.2.1
-sflow collector 1 ip 192.0.2.50 port 6343
-interface Ten-GigabitEthernet1/0/1
- sflow sampling-rate 4096
- sflow flow collector 1
- sflow counter interval 30
- sflow counter collector 1
```
+# Juniper EX/QFX, sFlow
+set protocols sflow collector 192.0.2.50 udp-port 6343
+set protocols sflow sample-rate ingress 4096
+set protocols sflow interfaces ge-0/0/0
-MikroTik RouterOS 7 (NetFlow v9 / IPFIX):
+# Arista EOS, sFlow
+sflow sample 4096
+sflow destination 192.0.2.50
+sflow run
-```
+# MikroTik RouterOS 7
/ip traffic-flow set enabled=yes interfaces=all active-flow-timeout=1m
/ip traffic-flow target add dst-address=192.0.2.50 port=2055 version=9
-```
-
-FortiGate FortiOS 7.4.2 atau lebih baru (NetFlow v9):
-```
-config system netflow
- config collectors
- edit 1
- set collector-ip 192.0.2.50
- set collector-port 2055
- next
- end
-end
-config system interface
- edit port1
- set netflow-sampler both
- next
-end
-```
-
-Server dan host Linux, dengan softflowd (NetFlow v9):
-
-```
+# Linux host, softflowd
softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
```
@@ -517,339 +198,116 @@ softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
## 5. Pastikan flow masuk
-Buka **Pengaturan**. Setiap perangkat yang mengirim sesuatu muncul dalam
-hitungan detik, beserta protokol, sampling rate, loss, paket terakhir, dan
-statusnya. Jika status tidak hijau, teks di sebelahnya menjelaskan apa yang
-salah dan apa yang perlu diubah.
-
-**Hilang** menghitung sampel atau catatan yang tidak pernah tiba. Untuk sFlow,
-teksnya menjelaskan di mana sampel itu hilang: dalam perjalanan ke sini (celah
-pada nomor urut: jaringan, atau buffer penerimaan UDP mesin ini; jika
-`netstat -su` menunjukkan error buffer penerimaan terus naik, naikkan
-`net.core.rmem_max`), atau di perangkat itu sendiri (sFlow melaporkan sampel
-yang dibuang perangkat: ekspor sFlow-nya dibatasi lajunya, jadi lakukan
-sampling lebih jarang atau naikkan batas perangkat). Total dikompensasi dalam
-kedua kasus; detail per host tidak.
+**Pengaturan** mencantumkan dalam hitungan detik setiap perangkat yang
+mengirim sesuatu: protokol, sampling rate, loss, interface yang disampelnya,
+dan apa yang perlu diperbaiki bila status tidak hijau. Loss sFlow dipisah
+menjadi loss di perjalanan (naikkan `net.core.rmem_max` jika `netstat -su`
+menunjukkan error buffer) dan sampel yang dibuang oleh perangkat itu sendiri.

-Jika sebuah perangkat tidak muncul:
-
-1. Pantau paket di mesin traffic66 (Linux, macOS):
- `sudo tcpdump -ni any udp port 6343 or udp port 2055 or udp port 4739`.
- Kalau tidak ada apa-apa, paket tidak sampai ke mesin: periksa
- konfigurasi perangkat, routing, dan firewall di sepanjang jalur.
-2. Paket datang tetapi **Pengaturan** tetap kosong: firewall lokal membuangnya
- (lihat [Instalasi](#2-install)), atau traffic66 mendengarkan di port
- lain (`-listen`).
-3. Untuk menguji jalur dari mesin lain tanpa menyentuh perangkat, jalankan
- `traffic66 simulate -to 192.0.2.50` di sana selama beberapa detik.
- Perintah ini mengirim sFlow, NetFlow, dan IPFIX dari perangkat simulasi;
- perangkat itu lalu muncul di **Pengaturan** dan di data, jadi sebaiknya
- lakukan ini di instalasi uji.
-
-
-
-## 6. Menyamakan angka dengan counter interface
-
-Angka flow adalah estimasi: jumlah paket sampel dikali sampling rate.
-traffic66 membandingkannya dengan counter interface milik perangkat dan
-menampilkan selisihnya di **Pencocokan antarmuka**, beserta kemungkinan
-penyebabnya bila selisih itu lebih besar daripada yang bisa dijelaskan oleh
-sampling saja. Setiap interface punya grafik bit/s selebar halaman dan, di
-bawahnya, grafik paket/s, berisi ingress (hijau) dan egress (biru); counter
-milik perangkat sendiri berupa garis putus-putus di grafik bit/s. Memilih
-interface di daftar menampilkan grafiknya.
-
-Setiap baris daftar punya dua tombol. **✎** memberi interface sebuah nama
-dan label pendek (misalnya *uplink*), yang ditampilkan di samping namanya di
-mana-mana. **☆** menjadikannya interface bawaan (**★**); hanya ada satu
-bawaan. Halaman lalu dibuka pada interface itu (lihat pilihan **Antarmuka**
-di [Memakai antarmuka web](#9-using-the-web-ui)), dan Ringkasan menampilkan
-bandwidth-nya. Keduanya langsung disimpan ke baris `iface` di Nama.
-
-Catatan flow menyebut dua interface: interface tempat paket masuk dan
-interface tempat paket keluar. Karena itu, perangkat yang hanya menyampel
-sebagian interface juga menampilkan ujung lain dari flow-nya. **Antarmuka
-lawan** itu dicantumkan paling akhir, dengan huruf abu-abu yang lebih
-kecil, di bawah judulnya sendiri: angkanya hanya berisi trafik yang lewat
-interface yang disampel, bukan seluruh trafiknya. Interface ini tidak
-ditawarkan di **Antarmuka** di atas halaman. traffic66 mengetahui
-interface mana yang menyampel sebuah flow dari sumber data sFlow, atau dari
-field flowDirection (IPFIX 61) pada NetFlow v9 dan IPFIX (ingress:
-interface masuk, egress: interface keluar). Tanpa field itu, interface yang
-ada pada sedikitnya 90% trafik sebuah perangkat dianggap sebagai yang
-disampel; jika tidak ada, tidak ada interface yang ditandai.
-**Pengaturan** menampilkan, untuk setiap perangkat, interface yang disampel
-(**Disampel di:**) dan apakah template-nya membawa flowDirection
-(**dengan flowDirection (61)**). Untuk melihat seluruh trafik sebuah
-perangkat, sampel setiap interface pada arah masuk (lihat [Kirim flow dari
-perangkat Anda](#4-send-flows-from-your-devices)).
+Ada perangkat yang tidak muncul? Jalankan `sudo tcpdump -ni any udp port 6343 or udp port 2055
+or udp port 4739`: jika tidak ada apa-apa, masalahnya di routing, firewall,
+atau konfigurasi perangkat; jika paket ada tetapi **Pengaturan** kosong,
+masalahnya di firewall lokal atau `-listen`. `traffic66 simulate -to 192.0.2.50`
+dari mesin lain menguji jalurnya dengan perangkat simulasi.
-
+
-Agar ada counter untuk dibandingkan:
+## 6. Interface dan counter
-- Perangkat sFlow mengirimkannya sendiri bila interval counter diatur
- (`sflow counter interval 30` dan sejenisnya).
-- Untuk perangkat NetFlow dan IPFIX, tambahkan baris `snmp` di
- **Pengaturan → Nama** (lihat [Nama](#7-names-snmp-and-your-own-networks)).
- traffic66 lalu membaca counter interface setiap menit.
+Angka flow adalah estimasi (sampel × sampling rate). **Pencocokan antarmuka**
+membandingkannya dengan counter interface perangkat (counter sFlow, atau
+SNMP lewat baris `snmp` di Nama) dan menjelaskan penyebab selisihnya:
+interface tidak disampel, trafik yang sama disampel dua kali, loss di
+perjalanan, atau sampling rate yang tidak diketahui. Setiap interface punya
+grafik bit/s dan grafik paket/s, ingress hijau dan egress biru, counter
+berupa garis putus-putus.
-Yang sudah dilakukan traffic66 agar angkanya cocok: memakai sampling rate
-yang benar-benar diterapkan perangkat, menahan record NetFlow/IPFIX sampai
-sampling rate diketahui, mengompensasi paket ekspor yang hilang di jalan,
-menyebar flow panjang ke menit-menit selama flow itu berlangsung, dan
-menambahkan overhead Ethernet 18 byte per paket ke hitungan byte
-NetFlow/IPFIX (counter interface menyertakannya, hitungan flow di layer IP
-tidak; ubah dengan `-l2-overhead`).
+Di setiap baris, **✎** mengatur nama dan label pendek (misalnya *uplink*),
+dan **☆** menjadikannya interface bawaan (★), tempat halaman dibuka.
-Penyebab umum selisih yang tersisa, semuanya dilaporkan di
-**Pencocokan antarmuka**: sebagian interface tidak di-sampling, trafik
-yang sama di-sampling di dua interface, paket ekspor hilang sebelum
-mencapai traffic66, atau sampling rate belum diketahui.
+Perangkat yang hanya menyampel sebagian interface juga menampilkan ujung lain
+dari flow tersebut. **Antarmuka lawan** ini dicantumkan paling akhir dengan
+huruf abu-abu kecil: isinya hanya trafik yang melewati interface yang
+disampel. Interface yang disampel diketahui dari sumber data sFlow atau field
+flowDirection (IPFIX 61); tanpa itu, interface yang ada pada 90% trafik
+sebuah perangkat.
-
+
-## 7. Nama, SNMP, dan jaringan Anda sendiri
+traffic66 sudah memakai rate yang diterapkan perangkat, menunggu rate yang
+belum diketahui, mengompensasi loss ekspor, menyebar flow panjang ke
+menit-menitnya, dan menambahkan overhead Ethernet 18 byte per paket ke
+NetFlow/IPFIX (`-l2-overhead`).
-Cara tercepat memberi nama host atau perangkat: klik alamatnya di halaman mana
-pun lalu pilih **Beri nama…**. Ketik namanya dan tekan Enter; nama langsung
-disimpan dan ditampilkan di mana-mana menggantikan alamat polosnya.
+
-Untuk jaringan, interface, dan SNMP, gunakan **Pengaturan → Nama**: pilih jenisnya
-(host, jaringan, perangkat, interface, SNMP), isi alamat dan namanya, lalu
-klik **Tambah**. Tabel di bawahnya mencantumkan setiap nama dengan **Ubah**
-dan **Hapus**; menambahkan alamat yang sama lagi menggantikan entri lama.
-Alamat dan jaringan diperiksa sebelum disimpan.
+## 7. Nama, negara, dan daftar ancaman
-Nama-nama disimpan sebagai `inventory.txt` di direktori data, satu entri per
-baris. **Edit sebagai teks (lanjutan)** menampilkan file itu, dan Anda juga
-bisa mengeditnya langsung (lihat `inventory.txt.example`). Setiap baris
-bersifat opsional.
+Klik alamat mana pun lalu pilih **Beri nama…**, atau gunakan
+**Pengaturan → Nama**. Nama disimpan di `inventory.txt` di direktori data:
```
-# your networks: traffic between them is "internal"
-net 10.10.0.0/16 Office LAN
-net 203.0.113.0/24 Public servers country=JP
-
-# device names; "unsampled" if it exports every packet (1:1),
-# sampling=N if it samples 1:N but does not say so in its export
-device 192.0.2.1 Core router
-device 192.0.2.9 Branch firewall unsampled
-device 192.0.2.20 Edge router sampling=1000
-
-# interface names, by device address and ifIndex; speed in bits per second,
-# tag= a short tag, default = the interface the pages open on (one only)
-iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
-
-# host names shown instead of addresses
-host 10.10.3.27 Finance PC
-
-# read interface counters over SNMPv2c (IF-MIB 64-bit counters)
-snmp 192.0.2.1 public
-snmp 192.0.2.9 s3cret 10.99.0.9:161
+net 10.10.0.0/16 Office LAN # your networks
+net 203.0.113.0/24 Public servers country=JP # country: lines on the world map
+device 192.0.2.1 Core router
+device 192.0.2.9 Branch firewall unsampled # exports every packet
+device 192.0.2.20 Edge router sampling=1000 # rate it does not declare
+iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
+host 10.10.3.27 Finance PC
+snmp 192.0.2.1 public # read counters over SNMPv2c
+snmp 192.0.2.9 s3cret 10.99.0.9:161 # other management address
```
-- `net`: rentang privat (10/8, 172.16/12, 192.168/16, 100.64/10) selalu
- dianggap milik Anda. Tambahkan rentang publik Anda agar trafik ke dan
- dari rentang itu juga dihitung sebagai milik Anda; namanya muncul di
- **Top 66** saat dikelompokkan per segmen dan di jalur trafik per jaringan.
- `country=JP` (kode negara dua huruf) menyatakan lokasi jaringan itu; peta
- dunia lalu menggambar garis darinya ke negara-negara yang bertukar trafik
- dengannya.
-- `snmp [[:port]]`: device adalah
- alamat asal flow. Tambahkan alamat manajemen bila perangkat menjawab SNMP
- di alamat lain. Deskripsi interface yang dibaca lewat SNMP dipakai
- sebagai nama, kecuali Anda menamai interface itu dengan `iface`.
- Izinkan mesin traffic66 di access list SNMP perangkat.
-- Perubahan berlaku saat Anda mengeklik **Simpan**; tidak perlu restart.
-
-
-
-## 8. Negara, jaringan, dan daftar ancaman
-
-Negara dan jaringan (AS) langsung berfungsi: traffic66 sudah membawa basis data gratis **IP to Country Lite** dan **IP to ASN Lite** dari DB-IP (lisensi [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); "IP Geolocation by DB-IP", [db-ip.com](https://db-ip.com)). Halaman yang menampilkan negara dan jaringan menyebutkan sumber datanya.
-
-Salinan bawaan berasal dari rilis yang Anda jalankan. DB-IP menerbitkan versi baru tiap bulan; **Pengaturan → Basis data negara dan jaringan → Perbarui DB-IP Lite sekarang** mengunduh yang terbaru dari db-ip.com (server yang menjalankan traffic66 perlu akses internet; jika gagal, antarmuka akan memberi tahu).
-
-Anda juga bisa memakai basis data gratis lain. Unduh, lalu unggah di halaman yang sama dengan **Unggah file basis data…**. File diperiksa, disimpan di direktori data, dan langsung dipakai untuk trafik baru tanpa restart. Trafik yang sudah tersimpan tetap memakai negara saat disimpan.
+Rentang privat selalu dianggap milik Anda. Perubahan berlaku saat
+**Simpan**, tanpa restart.
-| Basis data | Isi | Lisensi | Tempat mendapatkan |
-|---|---|---|---|
-| DB-IP Lite (bawaan) | negara; jaringan | CC BY 4.0, tanpa akun | [db-ip.com/db/lite.php](https://db-ip.com/db/lite.php) |
-| MaxMind GeoLite2 Country dan ASN, `.mmdb` | negara; jaringan | GeoLite2 EULA, akun gratis | [maxmind.com](https://www.maxmind.com/en/geolite2/signup) |
-| IPinfo Lite, `ipinfo_lite.mmdb` | negara dan jaringan dalam satu file | CC BY-SA 4.0, akun gratis | [ipinfo.io/lite](https://ipinfo.io/lite) |
-| IPtoASN, `ip2asn-combined.tsv.gz` | jaringan beserta negaranya | PDDL 1.0, tanpa akun | [iptoasn.com](https://iptoasn.com) |
-
-File Anda dipakai lebih dulu; yang tidak tercakup dijawab DB-IP Lite bawaan. **Hapus** di samping file kembali ke yang lain. Halaman menampilkan apa yang sedang dipakai dan tanggal tiap basis data.
-
-Tanpa antarmuka web, salin file ke direktori data sebagai `country.mmdb`, `asn.mmdb`, `both.mmdb` (file berisi negara dan jaringan, seperti IPinfo Lite) atau `asn.tsv.gz`, lalu restart traffic66.
-
-**Geografi & jaringan** menampilkan trafik dengan negara lain di peta dunia: makin gelap, makin banyak trafiknya. Arahkan kursor ke negara untuk melihat trafiknya; klik untuk memfilter atau membuka catatan flow-nya. Bila jaringan Anda punya negara (`country=` di baris `net`, lihat [Nama](#7-names-snmp-and-your-own-networks)), garis ditarik dari negara itu ke negara-negara yang bertukar trafik dengannya, makin tebal makin banyak trafiknya. Batas negara berasal dari [Natural Earth](https://www.naturalearthdata.com) (domain publik).
+Negara dan jaringan (AS) langsung berfungsi dengan basis data Lite gratis
+dari DB-IP ([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), "IP
+Geolocation by DB-IP", [db-ip.com](https://db-ip.com)); **Pengaturan**
+memperbaruinya, atau menerima file MaxMind GeoLite2, IPinfo Lite, atau
+IPtoASN sebagai gantinya. Garis batas peta: [Natural Earth](https://www.naturalearthdata.com).

-Daftar ancaman adalah file teks biasa berisi satu alamat atau jaringan per
-baris (teks setelah `#` atau `;` diabaikan), disimpan sebagai
-`/threats/.txt`, misalnya:
-
-```
-mkdir -p /threats
-curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamhaus-drop.txt
-```
-
-Restart traffic66 setelah menambah atau mengubah daftar. Kecocokan muncul
-di **Intel ancaman**, dikelompokkan per nama daftar.
+Daftar ancaman adalah file teks berisi satu alamat atau jaringan per baris
+di `/threats/.txt` (misalnya Spamhaus DROP); restart setelah
+mengubahnya. Kecocokan muncul di **Intel ancaman**.

-
+
-## 9. Memakai antarmuka web
+## 8. Memakai antarmuka web
-Anda jarang perlu mengetik. Setiap nilai di setiap halaman — alamat, port,
-aplikasi, negara, perangkat — bisa diklik:
+Setiap nilai di setiap halaman bisa diklik: **Tampilkan hanya ini** /
+**Kecualikan ini** (filter berlaku di semua halaman), **Lihat catatan
+flow-nya**, **Lihat detail** (halaman tentang satu host atau layanan),
+**Beri nama…**, **Cari secara online**, **Salin**.
-- **Tampilkan hanya ini** / **Kecualikan ini** menambahkan filter. Filter
- muncul di bawah bar atas dan berlaku di semua halaman sampai Anda
- menghapusnya.
-- **Lihat catatan flow-nya** membuka flow-flow individual yang cocok.
-- **Lihat detail** (host, perangkat, dan layanan) membuka halaman tentang satu
- host atau layanan itu: trafiknya dari waktu ke waktu per aplikasi, dengan
- siapa ia berbicara, layanan atau klien mana, negara, dan flow terbarunya.
- Setiap nilai di sana bisa diklik lagi, jadi Anda bisa terus menelusuri;
- tombol Back di browser membawa Anda kembali.
-- **Beri nama…** (host dan perangkat) memberi alamat itu sebuah nama, yang
- sejak itu ditampilkan di mana-mana.
-- **Cari secara online** membuka alamat atau AS tersebut di situs lookup
- publik.
-- **Salin** menyalin nilainya.
-
-Halaman:
-
-| Halaman | Pertanyaan yang dijawab |
+| Halaman | Yang ditampilkan |
|---|---|
-| Ringkasan | Bandwidth interface yang dipilih (atau yang bawaan, atau kalau tidak ada, yang paling sibuk) dalam bit/s, ingress dan egress dilihat dari interface itu; berapa trafik sekarang, per aplikasi (**Total**, atau hanya trafik **Masuk** atau **Keluar** dari jaringan Anda), dibanding waktu yang sama kemarin (rentang hingga satu hari), minggu lalu (hingga satu minggu), atau hari-hari sebelumnya (rentang lebih panjang), bila ada data saat itu; temuan terbuka; arah dan protokol; klien dan layanan teratas |
-| Top 66 | Terbuka di **Tabel**, 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. **Pihak teratas** menampilkan 30 klien dan server teratas berdampingan dengan trafik, paket, dan catatan flow, di atas satu baris untuk semua trafik |
-| Detail trafik | Dua diagram cincin. **Server dan klien**: cincin dalam berisi 8 server tersibuk, cincin luar klien masing-masing; **Klien di dalam** membaliknya (klien di dalam, server yang dipakai masing-masing di luar), karena sering satu sisi lebih menjelaskan daripada sisi lainnya. **Layanan**: satu cincin berisi layanan tersibuk. Arahkan kursor ke segmen untuk melihat trafiknya; klik seperti nilai mana pun |
-| 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. Nama panjang dipendekkan menjadi 22 karakter; arahkan kursor ke nama untuk melihatnya utuh |
-| Temuan | Apa yang perlu diperhatikan: pemindaian, tebakan kata sandi, pergerakan lateral, unggahan tidak biasa, flood, dan trafik daftar ancaman ([selengkapnya](#findings)) |
-| Intel ancaman | Host yang berkomunikasi dengan alamat di daftar ancaman Anda, dan berapa banyak yang mereka kirim |
-| Geografi & jaringan | Peta dunia trafik per negara, dengan garis dari jaringan Anda; jaringan (AS) asal dan tujuan trafik, dari waktu ke waktu dalam bit/s dan paket/s; trafik per negara dan per jaringan |
-| Pengaturan | Perangkat, sampling, interface yang disampel setiap perangkat dan apakah perangkat mengirim flowDirection, loss, collector, SNMP, basis data negara dan jaringan, logo, dan **Nama** |
-| Pencocokan antarmuka | Trafik setiap interface dari waktu ke waktu dalam bit/s dan, di bawahnya, paket/s, ingress (hijau) dan egress (biru), dengan counter perangkat sebagai garis putus-putus; seberapa jauh angka flow dari counter, yang paling buruk di atas, beserta alasannya; nama, label, dan bawaan untuk setiap interface |
-| Catatan flow | Berapa banyak catatan flow dan kapan (satu batang per interval), dan catatannya sendiri, terbaru di atas, per halaman, dengan kolom yang bisa dipilih. Terbuka pada 15 menit terakhir, diperbarui setiap 5 detik; bila dibuka dari sebuah nilai di halaman lain (**Lihat catatan flow-nya**), rentang waktu halaman itu dipertahankan, dan **Kembali ke waktu nyata** mengembalikannya |
-| Pembersihan data | Menghapus data yang lebih lama dari 120, 90, 60, 30, atau 7 hari, atau semuanya, beserta berapa banyak ruang yang dibebaskan masing-masing ([selengkapnya](#13-data-backup-upgrade-uninstall)) |
-| Analisis pcap offline | Tangkapan paket (pcap, pcapng) dianalisis terpisah dari data langsung ([selengkapnya](#analisis-pcap-offline)) |
-
-Menu samping mengelompokkan halaman menjadi empat: trafik (Ringkasan, Top 66,
-Detail trafik, Jalur trafik, Pencocokan antarmuka, Catatan flow), keamanan
-(Temuan, Intel ancaman, Geografi & jaringan), Pengaturan dan Analisis pcap
-offline, serta Pembersihan data di paling bawah. Di bawah logo ada versi serta
-tanggal dan jam server.
-
-Di atas halaman trafik (Ringkasan, Top 66, Detail trafik, Jalur trafik,
-Geografi & jaringan, Catatan flow, dan detail sebuah nilai) ada
-**Antarmuka**: **Semua antarmuka**, atau satu interface, sehingga halaman
-ini hanya menampilkan trafik yang melewatinya (masuk atau keluar). Isinya
-interface yang disampel, dikelompokkan per perangkat, dan awalnya
-berada di interface bawaan (★, diatur di **Pencocokan antarmuka**) dan
-pilihannya ikut tersimpan di tautan. Temuan, Intel ancaman, Pencocokan
-antarmuka, dan Pengaturan selalu mencakup semua trafik. Untuk satu
-interface selama 7 atau 30 hari, halaman membaca catatan flow, bukan
-ringkasan per jam dan per hari, sehingga lebih lama dan hanya menjangkau
-sejauh catatan flow disimpan (default 30 hari).
-
-Di atas halaman: rentang waktu (15 menit sampai 30 hari, atau **Kustom…**
-untuk awal dan akhir mana pun, juga lebih lama dari 30 hari ke belakang),
-refresh otomatis setiap 30 detik, dan **Salin tautan**, yang menyalin tautan
-ke tampilan saat ini secara persis (halaman, rentang waktu, dan filter) untuk
-dikirim ke rekan kerja. Di **Top 66** dan **Detail trafik**, **Perangkat**,
-**Klien**, **Server**, dan **Layanan** mencantumkan nilai tersibuk dalam
-rentang waktu: pilih satu, atau ketik satu, untuk memfilter;
-filter itu lalu berlaku di setiap halaman sampai Anda mengosongkan kotaknya.
-Bahasa mengikuti browser; ubah di bagian bawah menu, di atas **Keluar**.
-Pengaturan, Catatan flow (saat waktu nyata), Pembersihan data, dan Analisis
-pcap offline tidak punya rentang waktu.
-
-Di samping bahasa ada tema warna, mengikuti warna sistem iOS: **Terang**
-(default), **Abu-abu**, **Hitam** (untuk layar dinding), **Hijau toska**, dan
-**Jingga**. Setiap klik beralih ke tema berikutnya; pilihan disimpan di
-browser.
-
-Grafik dari waktu ke waktu menampilkan 8 nilai terbesar dengan warna tetap
-dan sisanya sebagai Lainnya; legenda memberikan total setiap nilai dan bisa
-diklik seperti nilai lainnya. Grafik klien dan server tidak menggambar
-sisanya, karena dengan ribuan host sisanya akan meratakan 8 teratas; legenda
-tetap memberikan totalnya.
-
-Grafik berakhir di titik data sudah lengkap: dengan sFlow pada menit saat
-ini, dengan NetFlow dan IPFIX sedikit lebih awal, selama waktu yang
-dibutuhkan perangkat untuk mengekspor flow-nya (traffic66 mengukurnya; paling
-lama 2 menit).
-
-Rentang yang lebih panjang dari 6 jam dimulai pada jam penuh, sehingga
-setiap angka di halaman menghitung waktu yang persis sama: "24 jam" mencakup
-24 jam penuh terakhir ditambah jam yang sedang berjalan. Top 66 untuk rentang
-ini diambil dari ringkasan per jam; filter tidak tersedia di sana, dan
-halaman memberi tahu hal itu. Pilih rentang yang lebih pendek untuk
-memfilter. Percakapan selalu dibaca dari detail flow, jadi untuk rentang
-panjang dengan laju flow tinggi bisa butuh waktu; satu jam paling
-cepat.
-
-Menu samping menunjukkan berapa banyak disk yang dipakai data dan berapa yang
-masih kosong; arahkan kursor ke ruang kosong untuk melihat berapa yang
-dibutuhkan detail untuk hari-hari yang disimpan pada laju saat ini
-(diperkirakan setelah ada data satu hari).
-
-Untuk menampilkan logo Anda sendiri di halaman masuk dan di bagian atas menu,
-gunakan **Pengaturan → Logo → Unggah logo…**: PNG, SVG, JPEG, WebP, atau GIF, hingga
-1 MB, paling baik 272 × 92 piksel (ukuran lain diskalakan agar pas).
-**Pakai logo bawaan** mengembalikan logo traffic66.
-
-
-
-### Temuan
-
-**Temuan** mencantumkan apa yang ditemukan traffic66 di dalam flow, yang
-paling serius lebih dulu. Ia memeriksa 10 menit terakhir setiap 5 menit;
-sesuatu yang berlangsung satu jam adalah satu temuan yang terus bertambah,
-bukan temuan baru di setiap pemeriksaan.
-
-| Temuan | Artinya | Tingkat |
-|---|---|---|
-| Pemindaian | Satu alamat mengirim probe kecil ke banyak alamat pada satu port (TCP atau ping) | Tinggi dari dalam jaringan Anda, rendah dari internet |
-| Pemindaian port | Satu alamat mengirim probe kecil ke banyak port pada satu host | Tinggi dari dalam, rendah dari internet |
-| Tebak kata sandi | Banyak koneksi singkat ke layanan login (SSH, RDP, SMB, database, dan lainnya) | Tinggi dari dalam, rendah dari internet |
-| Pergerakan lateral | Di dalam jaringan Anda, sesi berbagi file atau administrasi jarak jauh (SMB, RDP, SSH, WinRM, VNC) ke host yang sebelumnya tidak pernah menyediakan layanan itu | Tinggi |
-| Unggahan tidak biasa | Host internal mengirim jauh lebih banyak daripada yang diterimanya (100 MB dalam 10 menit, tiga kali yang diterimanya) ke alamat yang belum pernah bertukar data dengannya | Tinggi |
-| Flood | 20,000 paket kecil atau lebih per detik ke satu alamat, sepuluh kali laju biasanya | Sedang |
-| Daftar ancaman | Trafik dengan alamat di salah satu daftar ancaman Anda | Tinggi bila host Anda terhubung ke alamat itu, rendah bila alamat dalam daftar mengetuk dari luar |
-
-Setiap temuan menyebutkan siapa melakukan apa terhadap siapa, kapan dan berapa
-lama, beserta angka di baliknya dan cara data di-sampling. **Detail** membuka
-halaman host, yang juga mencantumkan temuan tentang host itu.
-**Sudah ditangani** menutup temuan; jika terjadi lagi, temuan baru dibuka.
-**Bukan masalah** menutupnya untuk selamanya: temuan itu tidak akan pernah
-dilaporkan lagi. Angka merah di samping **Temuan** di menu samping menghitung
-temuan terbuka bertingkat tinggi dan sedang dalam 24 jam terakhir.
-
-Pergerakan lateral dan unggahan tidak biasa perlu tahu apa yang normal, jadi
-keduanya baru dilaporkan setelah ada riwayat satu hari. Saat pertama kali
-dijalankan, traffic66 belajar dari riwayat yang sudah ada.
-
-Dengan data hasil sampling (sFlow, NetFlow dengan sampling) aturan menghitung
-apa yang terlihat di sampel dan meminta jumlah yang lebih sedikit, tetapi
-setiap sampel harus tampak seperti satu probe singkat, sehingga host normal
-yang sibuk tidak memicunya. Apa yang disembunyikan sampling tidak bisa
-ditemukan: di balik sampling 1:4096, pemindaian terhadap beberapa puluh host
-mengirim terlalu sedikit paket untuk terlihat. Serangan dalam demo melewati
-switch yang melakukan sampling 1:4096 dan ditemukan seluruhnya; satu hari
-trafik normal demo tidak menghasilkan temuan apa pun kecuali pemindai internet
-yang mengetuk situs web.
-
-
+| Ringkasan | Bandwidth interface yang dipilih; trafik per aplikasi (total, masuk, atau keluar) dibanding kemarin atau minggu lalu; temuan terbuka; klien dan layanan teratas |
+| Top 66 | 66 percakapan teratas, bisa diurutkan menurut kolom mana pun, atau dikelompokkan per aplikasi, jaringan, segmen, perangkat, enkapsulasi, VLAN; 30 pihak teratas |
+| Detail trafik | Diagram cincin: server dan kliennya (atau sebaliknya), serta layanan |
+| Jalur trafik | Host → aplikasi → negara, atau klien → layanan → server, atau per jaringan |
+| Pencocokan antarmuka | Setiap interface dari waktu ke waktu dibanding counter-nya; nama, label, bawaan |
+| Catatan flow | Flow individual, live setiap 5 detik atau untuk rentang waktu mana pun |
+| Temuan, Intel ancaman | Apa yang perlu diperhatikan ([di bawah](#findings)); trafik dengan alamat yang terdaftar |
+| Geografi & jaringan | Peta dunia per negara, jaringan (AS) dari waktu ke waktu |
+| Pengaturan | Perangkat, sampling, loss, SNMP, basis data, logo, nama |
+| Analisis pcap offline, Pembersihan data | File tangkapan ([di bawah](#9-offline-pcap-terminal-ui-local-capture)); menghapus data lama |
+
+Di atas halaman: **Antarmuka** (semua, atau satu interface yang disampel;
+halaman trafik lalu hanya menampilkan trafik yang melewatinya), rentang
+waktu (15 menit sampai 30 hari, atau kustom), refresh setiap 30 detik, dan
+**Salin tautan** untuk tampilan yang persis sama. Bahasa dan lima tema warna
+ada di bagian bawah menu. Grafik berakhir di titik data sudah lengkap: dengan
+NetFlow/IPFIX, selambat perangkat mengekspor (paling lama 2 menit). Rentang
+lebih dari 6 jam dimulai pada jam penuh; satu interface selama 7 atau 30 hari
+membaca detail flow, sehingga lebih lambat dan hanya menjangkau sejauh detail
+disimpan.

@@ -859,368 +317,121 @@ yang mengetuk situs web.

-Ringkasan yang sama dalam bahasa Tionghoa; setiap halaman tersedia dalam 13 bahasa:
-

-
-
-### Analisis pcap offline
-
-**Analisis pcap offline** menampilkan tangkapan Wireshark atau tcpdump dengan halaman yang sama seperti data langsung, tanpa mencampurnya.
-
-traffic66 merangkum semua paket menjadi flow: siapa bicara dengan siapa, berapa banyak, kapan, dan apa yang tampak seperti serangan. Ia tidak mendekode protokol atau menampilkan isi paket; untuk satu paket atau satu aliran TCP, gunakan Wireshark.
-
-Dari baris perintah, tanpa pengaturan apa pun:
+
-```
-traffic66 office.pcap
-traffic66 a.pcap b.pcapng c.pcap
-```
+### Temuan
-traffic66 berjalan hanya di komputer ini (127.0.0.1, port kosong), mencetak alamat, kata sandi, dan tautan masuk sekali pakai, lalu membuka tangkapan di browser. Maksimal 3 file, total 3 GB; file dibaca di tempatnya dan tidak pernah diubah. Tidak ada yang dikumpulkan atau dikirim, dan nama host tidak dicari (`-dns` menyalakannya). Ctrl+C menghentikan dan menghapus data yang diimpor. Di mesin 2 inti, tangkapan 1 GB siap dalam sekitar 5 detik (1,2 juta paket ukuran penuh) hingga 30 detik (14 juta paket kecil).
+Diperiksa setiap 5 menit atas 10 menit terakhir; sesuatu yang berlangsung
+satu jam adalah satu temuan yang terus bertambah.
-```
-$ traffic66 office.pcap
+| Temuan | Artinya |
+|---|---|
+| Pemindaian, pemindaian port | Probe kecil ke banyak host pada satu port, atau ke banyak port pada satu host |
+| Tebak kata sandi | Banyak koneksi singkat ke layanan login |
+| Pergerakan lateral | Berbagi file atau administrasi jarak jauh ke host internal yang sebelumnya tidak pernah menyediakannya |
+| Unggahan tidak biasa | 100 MB dalam 10 menit ke alamat baru, tiga kali yang kembali |
+| Flood | 20,000+ paket kecil/detik ke satu alamat, sepuluh kali laju biasanya |
+| Daftar ancaman | Trafik dengan alamat yang terdaftar |
+
+Dari dalam jaringan Anda tingkatnya tinggi, dari internet rendah. **Sudah
+ditangani** menutup temuan, **Bukan masalah** membungkamnya untuk selamanya.
+Pergerakan lateral dan unggahan butuh riwayat satu hari. Melalui sampling
+1:4096, serangan dalam demo ditemukan seluruhnya; pemindaian yang sangat
+kecil bisa tersembunyi di balik sampling.
-traffic66 0.3.1: analysing 1 capture file(s); nothing is collected or sent
- Web UI http://127.0.0.1:38217 (port 38217, this computer only)
- Sign in user admin, password gfhfhbuutz2e
- Open http://127.0.0.1:38217/auto?t=b9388f… (signs in once)
- Stop Ctrl+C; the imported data is deleted, your files are kept
-```
+
-Di UI web traffic66 yang sedang berjalan:
+
-1. **Unggah file tangkapan…**: `.pcap` atau `.pcapng`, tidak dikompresi. Maksimal 3 file, masing-masing paling besar 50 MB. File diubah menjadi flow di basis data tersendiri (`/sandbox/`); data langsung, angka, dan temuannya tidak tersentuh.
-2. **Analisis**: semua halaman (ringkasan, Top 66, detail trafik, temuan, jalur, peta, catatan flow) menampilkan file untuk seluruh waktunya. Bilah oranye menyebut nama file; **Kembali ke data langsung** kembali. Tiap file tampil sebagai perangkat, jadi kotak **Perangkat** menampilkan satu file sekaligus.
-3. Aturan deteksi dijalankan pada tangkapan: pemindaian, pemindaian port, dan tebakan kata sandi muncul di **Temuan**. Aturan yang perlu riwayat sehari (pergerakan lateral, unggahan tak biasa) tidak berlaku untuk tangkapan.
-4. **Hapus** menghapus satu file dan datanya; **Hapus semua** menghapus semuanya.
+## 9. Pcap offline, antarmuka terminal, capture lokal
-Demo menyertakan contoh tangkapan berisi serangan.
+**Analisis pcap offline** menampilkan tangkapan paket (pcap, pcapng) dengan
+halaman yang sama, terpisah dari data langsung: `traffic66 a.pcap b.pcapng`
+berjalan di 127.0.0.1 dan membuka browser (maksimal 3 file, 3 GB; Ctrl+C
+menghapus data yang diimpor), atau unggah maksimal 3 file berukuran 50 MB di
+halaman itu. Analisis bekerja pada flow, bukan isi paket.

-## 10. Antarmuka terminal
-
-```
-traffic66 tui # traffic66 on this machine
-traffic66 tui -server http://192.0.2.50:8066 -user admin -password …
-traffic66 -tui # collect and show the terminal UI in one process
-```
-
-Di mesin traffic66, `traffic66 tui` login sendiri bila bisa membaca
-direktori data (beri `-data` jika bukan direktori default). Jika traffic66
-berjalan sebagai user lain, seperti halnya service, gunakan `-user` dan
-`-password`. `-lang` memilih bahasa (`en`, `zh`, `hi`,
-`es`, `ar`, `fr`, `bn`, `pt`, `ru`, `id`, `ur`, `ja`, `ko`).
-
-Tombol: 1–8 halaman, ↑↓ pilih, Enter aksi untuk nilai terpilih, f tampilkan
-hanya ini, x kecualikan, / cari, t rentang waktu, c hapus filter, w buka
-tampilan yang sama di browser, q keluar.
+**Antarmuka terminal**: `traffic66 tui` di mesin traffic66, atau
+`traffic66 tui -server http://192.0.2.50:8066 -user admin -password …`.
+Tombol: 1–8 halaman, Enter aksi, f tampilkan hanya ini, x kecualikan, t
+rentang waktu, w buka di browser, q keluar; `-lang` memilih bahasa.


-
-
-## 11. Capture lokal
-
-Selain menerima ekspor flow, traffic66 bisa membuat flow sendiri dari paket di
-interface jaringan mesin tempat ia berjalan. Apa yang terlihat bergantung pada
-interface-nya:
-
-| Interface | Yang dilihat traffic66 |
-|---|---|
-| Port jaringan cadangan yang terhubung ke port mirror (SPAN) sebuah switch | Semua trafik yang di-mirror switch: seluruh jaringan atau uplink |
-| Ethernet atau Wi-Fi milik mesin itu sendiri | Hanya trafik mesin ini sendiri |
-
-Adapter Wi-Fi tidak bisa melihat trafik perangkat lain. Untuk melihat seluruh
-jaringan Wi-Fi, biarkan router atau access point mengekspor flow (bagian 4),
-atau mirror port switch tempat access point terhubung.
-
-
-
-### Windows
-
-1. Pasang [Npcap](https://npcap.com) dengan opsi default-nya. Jika Anda
- mencentang "Restrict Npcap driver's access to Administrators only",
- jalankan traffic66 sebagai Administrator.
-2. Tampilkan daftar interface (PowerShell):
-
- ```
- C:\traffic66\traffic66.exe interfaces
- ```
-
- ```
- # Name Address Adapter / device
- 1 Ethernet - Intel(R) Ethernet I219-V \Device\NPF_{4B8A2C1E-…}
- 2 Wi-Fi 192.168.1.23 Intel(R) Wi-Fi 6 AX201 \Device\NPF_{9F00AA11-…}
- 3 Loopback - Adapter for loopback traffic capture \Device\NPF_Loopback
- ```
+**Capture lokal** membuat flow dari interface lokal, paling baik port yang
+terhubung ke port mirror sebuah switch: `traffic66 interfaces` menampilkan
+daftarnya, `-capture eth1` (atau nama atau nomor di Windows) melakukan
+capture. Linux butuh root atau `setcap cap_net_raw,cap_net_admin+ep`, macOS
+butuh root, Windows butuh [Npcap](https://npcap.com). Flow hasil capture
+berasal dari perangkat `127.0.0.1`.
- Kolom Name adalah nama koneksi dari pengaturan jaringan Windows; interface
- yang sedang dipakai punya alamat.
-3. Capture di Wi-Fi, berdasarkan nama atau nomor:
+
- ```
- C:\traffic66\traffic66.exe -capture Wi-Fi
- C:\traffic66\traffic66.exe -capture 2
- ```
-
- Beri tanda kutip pada nama yang mengandung spasi: `-capture "Ethernet 2"`.
- Ulangi `-capture` untuk capture di beberapa interface. Tambahkan `-listen=`
- jika Anda hanya ingin capture tanpa collector flow. Untuk startup task di
- bagian 2, tambahkan opsinya ke `-Argument`:
- `-Argument '-data C:\traffic66\traffic66-data -capture Wi-Fi'`.
-
-
-
-### Linux
-
-```
-traffic66 interfaces
-sudo setcap cap_net_raw,cap_net_admin+ep /opt/traffic66/traffic66
-traffic66 -capture eth1
-```
+## 10. Opsi dan data
-Capture butuh root, atau capability `CAP_NET_RAW` dan `CAP_NET_ADMIN`: baris
-`setcap` di atas, atau baris `AmbientCapabilities` di unit systemd di bagian 2.
-Interface Wi-Fi biasanya bernama `wlan0` atau `wlp…`.
-
-
-
-### macOS
-
-```
-traffic66 interfaces
-sudo traffic66 -capture en0
-```
-
-Capture butuh root; tidak ada yang perlu dipasang. Di MacBook, `en0` adalah
-Wi-Fi.
-
-
-
-### Memeriksa apakah capture berjalan
-
-**Pengaturan** mencantumkan setiap interface yang di-capture beserta metode
-capture dan jumlah paket yang terlihat. Flow-nya tampil seolah berasal dari
-perangkat `127.0.0.1` (mesin ini), di setiap halaman, sama seperti flow
-perangkat lain. Paket yang terlihat dua kali (misalnya di dua port mirror)
-dihitung dua kali.
-
-
-
-## 12. Opsi
-
-`traffic66 -h` dan `traffic66 -h` menampilkan semuanya.
-
-Perintah:
-
-| Perintah | |
-|---|---|
-| `traffic66` | mengumpulkan flow dan menyajikan antarmuka web |
-| `traffic66 demo` | sama, dengan jaringan simulasi |
-| `traffic66 tui` | antarmuka terminal untuk traffic66 yang sedang berjalan |
-| `traffic66 passwd` | menambah, mengubah, menampilkan daftar, atau menghapus user (lihat [User dan kata sandi](#3-users-and-passwords)) |
-| `traffic66 simulate -to HOST` | mengirim ekspor simulasi ke collector |
-| `traffic66 interfaces` | menampilkan interface untuk capture lokal |
-| `traffic66 version` | mencetak versi |
-
-Opsi untuk `traffic66` dan `traffic66 demo`:
+`traffic66 -h` menampilkan semuanya. Yang paling sering dipakai:
| Opsi | Default | |
|---|---|---|
-| `-addr` | `:8066` | alamat antarmuka web; `127.0.0.1:8066` agar hanya bisa diakses dari mesin ini |
| `-data` | `traffic66-data` di sebelah program | direktori data |
-| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | collector UDP dalam format `name=address`, dipisah koma; kosong berarti nonaktif |
-| `-user` | `admin` | nama user yang dibuat pada start pertama, dan user yang dikenai `-password` |
-| `-password` | tidak diatur | hanya menerima `-user` dengan kata sandi ini untuk run ini, mengabaikan file `password` (juga `TRAFFIC66_PASSWORD`) |
+| `-addr` | `:8066` | antarmuka web; `127.0.0.1:8066` hanya untuk mesin ini |
+| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | collector UDP; kosong berarti nonaktif |
| `-retention-days` | `30` | berapa hari detail flow disimpan; ringkasan disimpan 400 hari |
-| `-memory` | `0.10` | porsi memori fisik untuk cache database, dan sebesar itu lagi sebagai batas lunak untuk bagian program lainnya (masing-masing minimal 256 MB) |
-| `-l2-overhead` | `18` | byte per paket yang ditambahkan ke hitungan byte NetFlow/IPFIX |
+| `-memory` | `0.10` | porsi RAM untuk cache database |
| `-sampling-wait` | `5m` | berapa lama record menunggu sampling rate |
-| `-capture` | | capture di interface lokal (bisa diulang) |
-| `-inventory` | `/inventory.txt` | file nama |
-| `-asn` | `/asn.tsv.gz` | tabel IP-to-ASN (file `.mmdb`: unggah, atau `/country.mmdb` dan `/asn.mmdb`, `/both.mmdb`) |
-| `-threat` | `/threats/*.txt` | daftar ancaman tambahan dalam format `name=path` (bisa diulang) |
-| `-dns-upstream` | resolver sistem | server DNS untuk menampilkan nama host |
-| `-dns-rate` | `20` | maksimum reverse lookup per detik |
-| `-dns-cache` | `2m` | berapa lama nama host di-cache |
+| `-capture` | | interface lokal (bisa diulang) |
| `-no-dns` | | tanpa reverse lookup |
-| `-tui` | | sekaligus membuka antarmuka terminal |
-Contoh: port collector kedua, detail selama setahun, dan antarmuka web
-hanya di mesin lokal:
+Direktori data berisi `raw/` (detail, satu file per jam),
+`traffic66.duckdb` (ringkasan dan counter), `password`, `inventory.txt`,
+`license.json`, logo Anda, dan basis data. Backup dengan menghentikan
+traffic66 lalu menyalinnya; upgrade dengan mengganti file program.
+**Pembersihan data** menghapus data yang lebih lama dari 7–120 hari, atau
+semuanya.
-```
-traffic66 -data /var/lib/traffic66 -listen "sflow=:6343,netflow=:2055,ipfix=:4739,netflow=:9995" -retention-days 365 -addr 127.0.0.1:8066
-```
+
-
+### Lisensi
-## 13. Data, backup, upgrade, uninstall
+Kode sumber tersedia di bawah [PolyForm Noncommercial License 1.0.0](../LICENSE.md)
+dan [Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md) (teks bahasa
+Inggris yang mengikat): gratis untuk evaluasi dan untuk organisasi dengan
+kurang dari 100 orang; organisasi yang lebih besar mendaftar setelah 30 hari
+penggunaan produksi; menjual, meng-host untuk pihak lain, atau produk pesaing
+memerlukan lisensi komersial. Tidak ada yang pernah dimatikan. Bagian bawah
+setiap halaman menampilkan nomor instalasi 8 digit; kirim nomor itu kepada
+pembuatnya, lalu letakkan `license.json` yang Anda terima di direktori data.
+Kontak: .
-Semua tersimpan di direktori data:
+
-| | |
-|---|---|
-| `raw/` | detail flow, satu file terkompresi per jam |
-| `traffic66.duckdb` | ringkasan, counter interface, dan jam berjalan |
-| `password` | kata sandi login (dalam bentuk hash) |
-| `inventory.txt` | nama (**Pengaturan → Nama**) |
-| `license.json` | nomor instalasi dan lisensi (lihat [Masa uji dan lisensi](#trial-and-licence)) |
-| `logo.png` (atau `.svg`, `.jpg`, `.webp`, `.gif`) | logo Anda (**Pengaturan → Logo**), jika Anda mengunggahnya |
-| `country.mmdb`, `asn.mmdb`, `both.mmdb`, `asn.tsv.gz`, `dbip-country.mmdb`, `dbip-asn.mmdb`, `threats/`, `sandbox/` | basis data negara dan jaringan serta daftar ancaman yang Anda tambahkan |
-
-**Berapa lama data disimpan**: detail flow 30 hari, ringkasan (ikhtisar dan rentang waktu panjang) 400 hari. Data
-yang lebih lama dihapus otomatis, diperiksa setiap 5 menit; tidak ada yang lain dihapus dan tidak ada batas lain.
-Ubah masa simpan detail dengan `-retention-days`, berapa pun harinya, misalnya `-retention-days 365`. Pemakaian disk
-ikut bertambah: **Tersedia** di menu samping menjadi merah bila hari yang disimpan tidak muat. Jika disk penuh, flow
-baru tidak dapat disimpan sampai ada ruang kosong.
-
-**Pembersihan data** di menu samping menghapus data sebelum Anda
-membutuhkannya: yang lebih lama dari 120, 90, 60, 30, atau 7 hari, atau semua
-data. Untuk setiap pilihan ditampilkan berapa catatan flow yang terhapus dan
-kira-kira berapa ruang disk yang dibebaskan, dan konfirmasi diminta sebelum
-menghapus. Yang dihapus adalah catatan flow, ringkasan per jam dan per hari,
-counter interface, dan temuan; menghapus semua data juga mengatur ulang apa
-yang telah dipelajari aturan deteksi. Tindakan ini tidak dapat dibatalkan.
-
-- **Backup**: hentikan traffic66 lalu salin direktorinya. Tanpa
- menghentikannya, salin `raw/`, `password`, dan `inventory.txt`; jam
- berjalan dan ringkasan tidak ikut tersalin.
-- **Pindah**: hentikan traffic66, pindahkan direktori, lalu jalankan dengan
- `-data` yang menunjuk ke lokasi baru.
-- **Upgrade**: hentikan traffic66, ganti file program, lalu jalankan lagi.
- Data tetap utuh. Contoh di Linux:
-
- ```
- sudo systemctl stop traffic66
- sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
- sudo systemctl start traffic66
- ```
-
-- **Uninstall**: hentikan dan hapus service atau startup task (lihat
- [Instalasi](#2-install)), lalu hapus folder program dan direktori data.
-
-
-
-### Masa uji dan lisensi
-
-Kode sumber traffic66 tersedia di bawah
-[PolyForm Noncommercial License 1.0.0](../LICENSE.md) dan
-[Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md); teks bahasa
-Inggris keduanya yang mengikat. Singkatnya:
-
-- **Evaluasi**, pengujian, pengembangan, dan demonstrasi: gratis untuk siapa
- saja, tanpa batas waktu.
-- **Penggunaan produksi** (lalu lintas nyata, untuk operasional organisasi)
- oleh organisasi dengan kurang dari 100 karyawan dan kontraktor: gratis.
-- Penggunaan produksi oleh **organisasi yang lebih besar**: gratis selama
- 30 hari, lalu diperlukan lisensi registrasi dari pembuatnya.
-- Kontraktor dan penyedia layanan boleh menjalankannya untuk pelanggan, dalam
- deployment milik pelanggan itu sendiri; ukuran pelanggan yang menentukan.
-- Tidak diizinkan tanpa lisensi komersial: menjualnya atau memasukkannya ke
- dalam produk, menawarkannya kepada pihak lain sebagai layanan hosted atau
- multi-tenant, atau sebagai produk pesaing.
-
-Biaya, cakupan, dan jangka waktu lisensi registrasi ditetapkan kasus per
-kasus, dan bisa saja gratis. Kontak: .
-
-Setiap instalasi menampilkan masa uji, juga yang tidak memerlukan lisensi.
-Saat pertama kali dijalankan, traffic66
-menulis `license.json` ke direktori data dengan nomor instalasi 8 digit.
-Bagian bawah setiap halaman menampilkan sisa hari masa uji, lalu bahwa masa
-uji telah berakhir. Tidak ada yang dimatikan: semua fitur tetap berfungsi.
-
-Untuk mendaftar, kirim nomor instalasi kepada pembuatnya (juga ditampilkan di
-bagian bawah setiap halaman). Lisensi dikirim balik sebagai `license.json`
-baru; letakkan di direktori data menggantikan yang lama. Lisensi diperiksa
-saat traffic66 mulai dan setiap 4 jam, jadi tidak perlu restart; bagian bawah
-halaman lalu menampilkan atas nama siapa lisensinya dan berapa hari tersisa.
-
-
-
-## 14. Keamanan
-
-- Antarmuka web memakai HTTP biasa: kata sandi dan data melintasi jaringan
- tanpa enkripsi. Di jaringan yang tidak sepenuhnya Anda percayai, listen
- hanya di mesin ini (`-addr 127.0.0.1:8066`) dan pasang reverse proxy TLS
- di depannya, misalnya dengan [Caddy](https://caddyserver.com):
- `caddy reverse-proxy --from traffic66.example.com --to 127.0.0.1:8066`.
- Atau akses lewat VPN atau tunnel SSH:
- `ssh -L 8066:127.0.0.1:8066 user@192.0.2.50`, lalu buka
- http://127.0.0.1:8066.
-- Izinkan port collector UDP hanya dari alamat perangkat Anda.
-- Community SNMP di `inventory.txt` disimpan sebagai teks biasa; gunakan
- community read-only.
-
-
-
-## 15. Kebutuhan sumber daya
-
-Diukur pada 5.000 flow per detik di mesin 2 core: detail memakai sekitar
-12 GB disk per hari ditambah sekitar 1,5 GB untuk jam berjalan, programnya
-seperenam satu core. Ringkasan untuk rentang
-waktu panjang diambil dari data ringkasan dan selesai di bawah 0,2 detik.
-Query pada detail memindai sekitar 22 juta baris per jam: satu host selama
-1 jam butuh di bawah 1 detik, Top 66 semua percakapan selama 1 jam sekitar
-9 detik; waktunya bertambah seiring rentang dan berkurang dengan lebih
-banyak core.
-
-Jadi, disk untuk 30 hari pada 5.000 flow/detik sekitar 360 GB;
-sesuaikan dengan laju flow Anda (terlihat di **Pengaturan**) dan
-`-retention-days`.
-
-Memori: `-memory` (default 10% RAM, minimal 256 MB) membatasi cache
-database, dan bagian program lainnya mendapat batas lunak sebesar yang
-sama. Pada 5.000 flow per detik, data milik program sendiri (decoding,
-deteksi duplikat, batch) memakai sekitar 90 MB; secara total perkirakan
-0,6–0,8 GB, jadi mesin dengan RAM 2 GB sudah cukup. Diukur selama 10 menit
-pengumpulan terus-menerus (puncak 0,58 GB di mesin 8 GB) dan saat memuat
-flow satu jam dengan laju sebelas kali lipat dengan batas mesin 2 GB
-(puncak 0,74 GB).
-
-`-memory` adalah anggaran, bukan batas keras: batas Go bersifat lunak dan
-database bisa sesaat melebihi bagiannya. Untuk batas keras gunakan milik
-sistem operasi: `MemoryMax=` di unit systemd (bagian 2) atau batas memori
-container. Sediakan sekitar 2,5 kali bagian `-memory` dan minimal 1 GB;
-`MemoryMax=2G` cocok untuk mesin dengan RAM hingga 8 GB pada bagian
-default. Dengan begitu traffic66 yang di-restart, bukan mesin yang
-kehabisan memori.
-
-
-
-## 16. Pemecahan masalah
-
-| Gejala | Penyebab dan solusi |
-|---|---|
-| Perangkat tidak muncul di **Pengaturan** | Paket tidak sampai: lihat [Pastikan flow masuk](#5-check-that-flows-arrive) |
-| "waiting for the sampling rate" | Perangkat belum mengirim sampler options; kebanyakan mengirim ulang dalam beberapa menit. Jika tidak pernah, ekspor opsi itu (`option sampler-table` di Cisco) atau tandai perangkat sebagai `unsampled` di Nama jika memang 1:1, atau beri rasionya dengan `sampling=N` di baris `device`-nya. **Pengaturan** lalu menampilkan template yang dikirim perangkat, untuk melihat apa yang dideklarasikannya |
-| Angka lebih rendah dari counter interface | Lihat **Pencocokan antarmuka**: loss di jalan, interface tidak di-sampling, atau flow masih di cache perangkat (active timeout lebih dari 60 detik) |
-| Angka lebih tinggi dari counter interface | Trafik yang sama di-sampling di dua interface atau dua perangkat |
-| Tidak ada negara atau jaringan ("Tidak diketahui") | Tidak ada basis data yang dimuat: unggah di **Pengaturan**, lihat [Negara](#8-countries-networks-and-threat-lists) |
-| "Basis data mencapai batas memorinya dan tidak bisa menjawab" di sebuah halaman | Pilih rentang waktu yang lebih pendek, atau jalankan dengan `-memory` yang lebih besar; detailnya ada di log |
-| Lupa kata sandi | `traffic66 passwd` di mesin traffic66 (tambahkan `-data` jika traffic66 berjalan dengannya) |
-| `Conflicting lock is held` | traffic66 lain sudah memakai direktori data ini |
-| `receive buffer is only … KB` | Linux membatasi buffer UDP: atur `net.core.rmem_max=16777216` (lihat [Linux](#linux)) |
-| `cannot create the data directory` | Folder program tidak bisa ditulis oleh user ini: beri `-data` |
-| macOS: "cannot be opened" atau "developer cannot be verified" | `xattr -dr com.apple.quarantine ` |
-| Windows: "Windows protected your PC" (Windows melindungi PC Anda) | **More info** (info selengkapnya) → **Run anyway** (tetap jalankan); program ini belum ditandatangani |
-| Capture di Windows: Npcap tidak ditemukan | Pasang [Npcap](https://npcap.com) |
-| `address already in use` | Port dipakai program lain: pilih port lain dengan `-addr` atau `-listen` |
-
-
-
-## 17. Build dari source
-
-Go 1.24 dan compiler C (gcc atau clang; MinGW-w64 di Windows):
+## 11. Keamanan, kebutuhan sumber daya, pemecahan masalah
-```
-git clone https://github.com/githubflyideas/traffic66
-cd traffic66
-scripts/build.sh 0.1.0 traffic66
-```
+Antarmuka web memakai HTTP biasa: di jaringan yang tidak tepercaya, gunakan
+`-addr 127.0.0.1:8066` di belakang proxy TLS (`caddy reverse-proxy --from traffic66.example.com --to
+127.0.0.1:8066`) atau tunnel SSH. Izinkan port UDP hanya dari perangkat
+Anda. Community SNMP disimpan sebagai teks biasa; gunakan community
+read-only.
+
+Pada 5.000 flow/detik di 2 core: sekitar 12 GB disk per hari detail
+(360 GB untuk 30 hari), seperenam satu core, memori 0,6–0,8 GB. Ringkasan
+rentang waktu panjang butuh di bawah 0,2 detik; Top 66 semua percakapan
+selama 1 jam sekitar 9 detik.
+
+| Gejala | Solusi |
+|---|---|
+| "waiting for the sampling rate" | Ekspor sampler options, atau `sampling=N` / `unsampled` di baris perangkat |
+| Lebih rendah dari counter | Interface tidak disampel, loss, atau active timeout lebih dari 60 detik |
+| Lebih tinggi dari counter | Trafik yang sama disampel di dua interface atau dua perangkat |
+| Lupa kata sandi | `traffic66 passwd` di mesin traffic66 |
+| `Conflicting lock is held` | traffic66 lain memakai direktori data ini |
+| `address already in use` | Pilih port lain dengan `-addr` atau `-listen` |
+| Windows: "Windows protected your PC" (Windows melindungi PC Anda) | **More info** (info selengkapnya) → **Run anyway** (tetap jalankan) |
+
+Build dari source: Go 1.24 dan compiler C, lalu `scripts/build.sh 0.1.0 traffic66`.
diff --git a/docs/README.ja.md b/docs/README.ja.md
index c842ad4..ffe41ac 100644
--- a/docs/README.ja.md
+++ b/docs/README.ja.md
@@ -2,349 +2,128 @@
# traffic66
-sFlow・NetFlow・IPFIX のフロー分析を 1 つのプログラムで行います。スイッチ、ルーター、ファイアウォールからエクスポートされたフローを受信して組み込みデータベースに保存し、誰が帯域を使っているか、トラフィックがどこへ流れているか、その数値が機器自身のインターフェースカウンターと一致しているかを、Web UI とターミナル UI で表示します。
+sFlow・NetFlow・IPFIX のフロー分析を 1 つのプログラムで行います。誰が帯域を使っているか、トラフィックがどこへ流れているか、その数値が機器自身のインターフェースカウンターと一致しているかを、Web UI とターミナル UI で表示します。
-- Windows・Linux・macOS それぞれ実行ファイル 1 つだけです。データベースのインストールもランタイムも不要で、オフラインで動作します。
-- sFlow v5、NetFlow v5、NetFlow v9、IPFIX を任意の UDP ポートで受信できます。ネットワークインターフェースやミラーポートでのローカルキャプチャにも対応しています。
-- 自身の集計値をインターフェースカウンター(sFlow カウンターまたは SNMP)と照合し、ずれがあればその理由を示します。
-- フローからスキャン、パスワード総当たり、横展開、不審なアップロード、フラッド、脅威リストとの通信を見つけ出し(サンプリングされたフローでも可能)、対応すべき検知として一覧にします。
-- Top 66 ランキング、誰が誰と通信しているかのリングチャート(サーバーとそのクライアント、サービスとそのサーバー)、インターフェース・ネットワーク(AS)別のトラフィックの推移、フローの流れ、世界地図上の国、脅威リストとの一致、フローレコード、カプセル化(GRE、IPIP、VXLAN、GENEVE、MPLS)。
-- `traffic66 capture.pcap` で最大 3 個(合計 3 GB)のキャプチャを Web UI で開き、キャプチャ全体のフロー、検出、国、フローレコードを見られます。設定は不要です。
-- Web UI とターミナル UI は 13 言語に対応しています。
-- ソースアベイラブル:評価用途と 100 人未満の組織は無料。それより大きな組織は本番利用 30 日後に登録が必要です。機能が止まることはありません([試用とライセンス](#trial-and-licence) を参照)。
+- Windows・Linux・macOS それぞれ実行ファイル 1 つ。データベースのインストールは不要で、オフラインで動作します。
+- sFlow v5、NetFlow v5/v9、IPFIX を任意の UDP ポートで受信。インターフェースでのローカルキャプチャにも対応。
+- 自身の数値をインターフェースカウンター(sFlow または SNMP)と照合し、ずれの理由を示します。
+- スキャン、パスワード総当たり、横展開、不審なアップロード、フラッド、脅威リストとの通信を、サンプリング越しでも見つけます。
+- `traffic66 capture.pcap` で、設定なしにパケットキャプチャを分析できます。
+- 13 言語に対応。評価用途と 100 人未満の組織は無料です([ライセンス](#licence))。

-スクリーンショットはすべて `traffic66 demo` で撮影したものです。これは自分で実行できる模擬的な社内ネットワークです([デモを試す](#1-try-the-demo) を参照)。
+スクリーンショットはすべて、模擬的な社内ネットワークである `traffic66 demo` で撮影したものです。
## 目次
1. [デモを試す](#1-try-the-demo)
-2. [インストール](#2-install) — [Linux](#linux) · [Windows](#windows) · [macOS](#macos)
+2. [インストール](#2-install)
3. [ユーザーとパスワード](#3-users-and-passwords)
4. [機器からフローを送る](#4-send-flows-from-your-devices)
5. [フローの受信を確認する](#5-check-that-flows-arrive)
-6. [数値をインターフェースカウンターと一致させる](#6-make-the-numbers-match-the-interface-counters)
-7. [名前、SNMP、自社ネットワーク](#7-names-snmp-and-your-own-networks)
-8. [国、ネットワーク、脅威リスト](#8-countries-networks-and-threat-lists)
-9. [Web UI の使い方](#9-using-the-web-ui)
-10. [ターミナル UI](#10-terminal-ui)
-11. [ローカルキャプチャ](#11-local-capture)
-12. [オプション](#12-options)
-13. [データ、バックアップ、アップグレード、アンインストール](#13-data-backup-upgrade-uninstall)
-14. [セキュリティ](#14-security)
-15. [サイジング](#15-sizing)
-16. [トラブルシューティング](#16-troubleshooting)
-17. [ソースからのビルド](#17-build-from-source)
+6. [インターフェースとカウンター](#6-interfaces-and-counters)
+7. [名前、国、脅威リスト](#7-names-countries-and-threat-lists)
+8. [Web UI の使い方](#8-using-the-web-ui)
+9. [オフライン pcap、ターミナル UI、ローカルキャプチャ](#9-offline-pcap-terminal-ui-local-capture)
+10. [オプションとデータ](#10-options-and-data)
+11. [セキュリティ、サイジング、トラブルシューティング](#11-security-sizing-troubleshooting)
## 1. デモを試す
-[リリースページ](https://github.com/githubflyideas/traffic66/releases) から、お使いのシステム用のアーカイブをダウンロードします。
+[Releases ページ](https://github.com/githubflyideas/traffic66/releases) から自分のシステム用のアーカイブ(Windows x64、カーネル 3.2 以上の Linux x86-64/ARM64、macOS 11 以上)をダウンロードし、展開して実行します:
-| システム | アーカイブ |
-|---|---|
-| Windows 10/11、Server 2016 以降(x64) | `traffic66-windows-amd64.zip` |
-| Linux x86-64:カーネル 3.2 以降の任意のディストリビューション(CentOS 7、Alpine を含む) | `traffic66-linux-amd64.tar.gz` |
-| Linux ARM64:同じディストリビューション | `traffic66-linux-arm64.tar.gz` |
-| macOS 11 以降、Apple シリコン | `traffic66-darwin-arm64.tar.gz` |
-| macOS 11 以降、Intel | `traffic66-darwin-amd64.tar.gz` |
-
-Linux:
-
-```
-tar xzf traffic66-linux-amd64.tar.gz
-cd traffic66-linux-amd64
-./traffic66 demo -password try66
-```
-
-macOS(2 行目は、App Store 以外からダウンロードしたプログラムを macOS で実行できるようにするためのものです):
-
-```
-tar xzf traffic66-darwin-arm64.tar.gz
-xattr -dr com.apple.quarantine traffic66-darwin-arm64
-cd traffic66-darwin-arm64
-./traffic66 demo -password try66
```
-
-Windows(PowerShell):
-
+./traffic66 demo -password try66 # Linux, macOS
+.\traffic66.exe demo -password try66 # Windows
```
-Expand-Archive traffic66-windows-amd64.zip .
-cd traffic66-windows-amd64
-.\traffic66.exe demo -password try66
-```
-
-http://127.0.0.1:8066 を開き、`admin` / `try66` でサインインします。デモでは小さな社内ネットワークが構築され、1 日分の履歴と、シミュレートした 4 台の機器からのライブトラフィックが流れます。中には攻撃が 1 件含まれています。**検知** にはその各段階(スキャン、ポートスキャン、パスワード総当たり、横展開、制御サーバーへのアップロード)と、公開 Web サイトへのフラッドが表示されます。検知の **詳細** をクリックするか、**概要** から始めて **上位クライアント** のホストをクリックし、**詳細を表示** を選んで、そこからさらにクリックでたどってください。Ctrl+C で停止します。デモデータはプログラムと同じ場所の `traffic66-demo` に保存されます。このフォルダーを削除するとデモを最初からやり直せます。
-デモは本番インストールと同じポート(8066 と UDP 6343、2055、4739)を使います。本番環境と並べて動かす場合は、別のポートを指定してください:`traffic66 demo -password try66 -addr :8067 -listen ""`。
-
-Windows では `traffic66.exe` をダブルクリックするだけでも起動できます。この場合はデモではなく本番として traffic66 が起動し、ブラウザーで Web UI が開きます。初回起動時のパスワードは黒いウィンドウに表示され、ウィンドウを閉じると traffic66 は停止します。"Windows によって PC が保護されました" と表示された場合は、**詳細情報** → **実行** をクリックしてください。
+macOS では先に `xattr -dr com.apple.quarantine ` を実行してください。http://127.0.0.1:8066 を開いて `admin` / `try66` でサインインすると、1 日分の履歴と、シミュレートした 4 台の機器からのライブトラフィックが表示されます。その中には攻撃が含まれ、**検知** で段階ごとに示されます。Ctrl+C で停止し、`traffic66-demo` を削除すると最初からやり直せます。本番インストールと並べて動かすには:`-addr :8067 -listen ""`。
## 2. インストール
-traffic66 はファイル 1 つです。インストールとは、ファイルを配置し、データディレクトリを決め、パスワードを設定し、ファイアウォールを開け、起動時に自動実行されるようにすることです。例では traffic66 のマシンを `192.0.2.50`、ルーターを `192.0.2.1` としています。実際のアドレスに置き換えてください。
-
-ポート:
-
-| ポート | 用途 |
-|---|---|
-| UDP 6343 | sFlow(デフォルト) |
-| UDP 2055 | NetFlow(デフォルト) |
-| UDP 4739 | IPFIX(デフォルト) |
-| TCP 8066 | Web UI と API |
+traffic66 はファイル 1 つです。ポート:UDP 6343(sFlow)、2055(NetFlow)、4739(IPFIX)、TCP 8066(Web UI)。どの UDP ポートもすべてのプロトコルを受け付けます。
-どの UDP ポートでもすべてのプロトコルを受け付けるので、都合がよければ NetFlow を 6343 に送っても構いません。ポートの変更や追加は `-listen` で行います。
-
-
-
-### Linux
+**Linux**(systemd):
```
-sudo mkdir -p /opt/traffic66
-sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
+sudo mkdir -p /opt/traffic66 && sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
sudo useradd --system --no-create-home --shell /usr/sbin/nologin traffic66
sudo install -d -o traffic66 -g traffic66 /var/lib/traffic66
sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66
```
-最後のコマンドで、ユーザー `admin` のパスワードを入力します。
-
-`/etc/systemd/system/traffic66.service` を作成します:
+`/etc/systemd/system/traffic66.service`:
```
[Unit]
Description=traffic66 flow analytics
After=network-online.target
-Wants=network-online.target
[Service]
User=traffic66
ExecStart=/opt/traffic66/traffic66 -data /var/lib/traffic66
Restart=on-failure
-# hard memory limit for the whole process (see Sizing)
MemoryMax=2G
-# only needed for local capture (-capture):
-#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
+#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN # only for local capture
[Install]
WantedBy=multi-user.target
```
-起動し、バーストで取りこぼさないよう UDP バッファの上限を引き上げます:
-
-```
-echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf
-sudo sysctl --system
-sudo systemctl daemon-reload
-sudo systemctl enable --now traffic66
-sudo systemctl status traffic66
-journalctl -u traffic66 -f
-```
-
-ファイアウォール(firewalld の場合。RHEL、Rocky、Alma、Fedora):
-
```
-sudo firewall-cmd --permanent --add-port=6343/udp --add-port=2055/udp --add-port=4739/udp --add-port=8066/tcp
-sudo firewall-cmd --reload
+echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf && sudo sysctl --system
+sudo systemctl daemon-reload && sudo systemctl enable --now traffic66
+sudo firewall-cmd --permanent --add-port={6343,2055,4739}/udp --add-port=8066/tcp && sudo firewall-cmd --reload
```
-ufw の場合(Ubuntu、Debian):
+**Windows**(管理者として PowerShell を実行):`C:\traffic66` に展開し、`C:\traffic66\traffic66.exe passwd` を実行し、ポートを開けて、起動時に開始するよう登録します:
```
-sudo ufw allow 6343,2055,4739/udp
-sudo ufw allow 8066/tcp
-```
-
-
-
-### Windows
-
-`C:\traffic66` に展開してパスワードを設定します(管理者として PowerShell を実行):
-
-```
-Expand-Archive traffic66-windows-amd64.zip C:\
-Rename-Item C:\traffic66-windows-amd64 C:\traffic66
-C:\traffic66\traffic66.exe passwd
-```
-
-データはプログラムと同じ場所の `C:\traffic66\traffic66-data` に保存されます。
-
-ファイアウォールを開けます:
-
-```
-New-NetFirewallRule -DisplayName "traffic66 flows" -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
-New-NetFirewallRule -DisplayName "traffic66 web" -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
-```
-
-フォアグラウンドで試すには `C:\traffic66\traffic66.exe` を実行し、Ctrl+C で停止します。誰もサインインしていなくても起動時からバックグラウンドで動かすには、スタートアップタスクとして登録します:
-
-```
-$action = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
-$trigger = New-ScheduledTaskTrigger -AtStartup
-$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
-Register-ScheduledTask -TaskName traffic66 -Action $action -Trigger $trigger -Settings $settings -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
+New-NetFirewallRule -DisplayName traffic66 -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
+New-NetFirewallRule -DisplayName traffic66-web -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
+$a = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
+$s = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1)
+Register-ScheduledTask -TaskName traffic66 -Action $a -Trigger (New-ScheduledTaskTrigger -AtStartup) -Settings $s -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
Start-ScheduledTask -TaskName traffic66
```
-`-ExecutionTimeLimit ([TimeSpan]::Zero)` は必須です。これがないと Windows は 3 日後にタスクを停止します。停止は `Stop-ScheduledTask -TaskName
-traffic66`、削除は `Unregister-ScheduledTask -TaskName traffic66` で行います。
-
-
-
-### macOS
-
-```
-sudo mkdir -p /usr/local/traffic66
-sudo tar xzf traffic66-darwin-arm64.tar.gz -C /usr/local/traffic66 --strip-components=1
-sudo xattr -dr com.apple.quarantine /usr/local/traffic66
-sudo /usr/local/traffic66/traffic66 passwd -data "/Library/Application Support/traffic66"
-```
-
-`/Library/LaunchDaemons/traffic66.plist` を作成します:
-
-```
-
-
-
-
- Labeltraffic66
- ProgramArguments
-
- /usr/local/traffic66/traffic66
- -data
- /Library/Application Support/traffic66
-
- RunAtLoad
- KeepAlive
- StandardErrorPath/Library/Logs/traffic66.log
-
-
-```
-
-起動と停止:
-
-```
-sudo launchctl bootstrap system /Library/LaunchDaemons/traffic66.plist
-tail -f /Library/Logs/traffic66.log
-sudo launchctl bootout system/traffic66
-```
+`traffic66.exe` をダブルクリックしても動きます。Web UI が開き、初回のパスワードがウィンドウに表示されます。
-macOS のファイアウォールが有効な場合は、「システム設定 → ネットワーク → ファイアウォール →オプション」で traffic66 への着信接続を許可してください。
+**macOS**:`/usr/local/traffic66` に展開し、quarantine フラグを外し、`traffic66 passwd -data "/Library/Application Support/traffic66"` を実行して、LaunchDaemon から起動します。`ProgramArguments` にはプログラム、`-data`、そのディレクトリを指定し、`RunAtLoad` と `KeepAlive` を付けます。
## 3. ユーザーとパスワード
-**要点**:ユーザーとパスワードは、データディレクトリ内の 1 つのファイル `password` に保存されます。このファイルを手で編集することはありません。ユーザーの追加・変更・一覧表示・削除は `traffic66 passwd` コマンドで行います。`http://:8066` を開き、いずれかのユーザーでサインインします。
-
-
-
-### 初回のサインイン
-
-traffic66 は初回起動時に、ランダムなパスワードでユーザー `admin` を作成し、そのパスワードを 1 回だけ表示します:
-
-```
-first start: sign in as user "admin" with password "3f9c2a7e5b1d8046"
-```
-
-- Windows でダブルクリックして起動した場合:黒いウィンドウに表示されます。
-- ターミナルから起動した場合:そのターミナルに表示されます。
-- Linux サービス:`journalctl -u traffic66 | grep "first start"`
-- macOS サービス:`grep "first start" /Library/Logs/traffic66.log`
-
-見逃した場合は、`traffic66 passwd`(後述)で新しいパスワードを設定してください。上のインストール手順のように、初回起動前に `traffic66 passwd` でパスワードを設定しておけば、パスワードは生成されません。
-
-
+初回起動時、traffic66 はユーザー `admin` をランダムなパスワードで作成し、一度だけ表示します(ウィンドウ、ターミナル、または `journalctl -u traffic66 | grep "first start"`)。ユーザーはソルト付きハッシュとしてデータディレクトリの `password` に保存され、traffic66 のマシン上で 1 つのコマンドで管理します(traffic66 を `-data …` 付きで動かしている場合は同じものを付けます):
-### ユーザーの保存場所
-
-データディレクトリ内の `password` ファイルです:
-
-| traffic66 の動かし方 | ファイル |
-|---|---|
-| 展開したフォルダーから起動(デフォルト) | プログラムと同じ場所の `traffic66-data/password` |
-| Linux サービス(セクション 2) | `/var/lib/traffic66/password` |
-| Windows スタートアップタスク(セクション 2) | `C:\traffic66\traffic66-data\password` |
-| macOS サービス(セクション 2) | `/Library/Application Support/traffic66/password` |
-| デモ | プログラムと同じ場所の `traffic66-demo/password` |
-
-1 行に 1 ユーザーです。パスワードはソルト付きハッシュで保存されるため、誰もファイルから読み戻すことはできません。あなた自身も同じです。パスワードを忘れた場合は、新しく設定してください。このファイルは所有者だけが読み取れます。
-
-```
-# traffic66 login, one user per line; change with: traffic66 passwd
-admin:pbkdf2-sha256$210000$…
-alice:pbkdf2-sha256$210000$…
-```
-
-
-
-### ユーザーの管理
-
-traffic66 のマシンで次を実行します:
-
-| 目的 | コマンド |
+| 操作 | コマンド |
|---|---|
| `admin` のパスワードを変更 | `traffic66 passwd` |
-| ユーザー `alice` を追加、またはそのパスワードを変更 | `traffic66 passwd -user alice` |
-| ユーザー `alice` を削除 | `traffic66 passwd -user alice -delete` |
-| ユーザーを一覧表示 | `traffic66 passwd -list` |
-| ランダムなパスワードを設定して表示 | `traffic66 passwd -generate`(他のユーザーには `-user` を付ける) |
-
-- コマンドは新しいパスワードを 2 回入力するよう求め、入力内容は表示しません。8 文字以上にしてください。
-- traffic66 を `-data` 付きで動かしている場合は、コマンドにも同じ `-data` を付けます。セクション 2 の Linux サービスの場合:
-
- ```
- sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66 -user alice
- ```
-
- Windows の場合(管理者として PowerShell を実行):
-
- ```
- C:\traffic66\traffic66.exe passwd -user alice
- ```
+| `alice` を追加、またはパスワードを変更 | `traffic66 passwd -user alice` |
+| `alice` を削除 | `traffic66 passwd -user alice -delete` |
+| ユーザーの一覧 | `traffic66 passwd -list` |
-- 変更は再起動なしですぐに反映されます。新しいパスワードは次回のサインインから使え、削除したユーザーは開いているブラウザーからサインアウトされます。
-- 最後に残ったユーザーは削除できません。先に別のユーザーを追加してください。
-- どのユーザーも同じものを閲覧・変更できます。ロールはありません。
-
-
-
-### スクリプトやコンテナ用のパスワード
-
-環境変数 `TRAFFIC66_PASSWORD=…` またはコマンドラインの `-password …` を指定すると、traffic66 はその実行中、`-user` で指定したユーザー(デフォルトは `admin`)1 人だけを、そのパスワードで受け付けます。このとき `password` ファイルは無視され、変更もされません。環境変数を推奨します。コマンドラインはマシンの他のユーザーからも見えるためです。
-
-```
-TRAFFIC66_PASSWORD='s3cret-pass' traffic66 -user ops
-```
-
-1 分以内に 5 回パスワードを間違えたアドレスは、1 分間ブロックされます。
+変更はすぐに反映されます。すべてのユーザーの権限は同じです。スクリプトやコンテナでは、`TRAFFIC66_PASSWORD=…`(または `-password`)を指定すると、その実行では `-user` とそのパスワードだけを受け付けます。1 分間に 5 回パスワードを間違えると、そのアドレスは 1 分間ブロックされます。
## 4. 機器からフローを送る
-各機器のエクスポート先を traffic66 のマシンに向けます。コマンドは機種やソフトウェアのバージョンによって異なるので、機器のマニュアルを確認してください。すべての例で、`192.0.2.50` が traffic66、`192.0.2.1` が機器自身のアドレスです。
-
-全般的な注意点:
-
-- アクティブフロータイムアウトは 60 秒に設定してください。長くすると、トラフィックが遅れて大きな塊で届くようになります。
-- 機器が NetFlow/IPFIX でサンプリングしている場合は、サンプラーオプションもエクスポートさせてサンプリングレートが分かるようにしてください。traffic66 はレートが届くまでレコードを保留し、1:1 として数えることはしません。
-- サンプリングは全インターフェースか、エッジのインターフェースだけかのどちらかで、片方向で行ってください。同じトラフィックを入りと出の両方でサンプリングすると二重にカウントされます。**インターフェース照合** がこれを指摘します。
-- sFlow のサンプリングレートの目安:1 Gb/s リンクで約 1:1000、10 Gb/s で 1:4096、40/100 Gb/s で 1:8192。
-
-Cisco IOS / IOS-XE(Flexible NetFlow):
+`192.0.2.50` が traffic66、`192.0.2.1` が機器です。アクティブタイムアウトは 60 秒に設定し、NetFlow/IPFIX の機器にはサンプラーオプションをエクスポートさせ、**すべてのインターフェースで受信方向**(またはエッジのインターフェースだけ)をサンプリングしてください。こうすると各パケットが 1 回だけ数えられます。sFlow のレート:1 Gb/s で約 1:1000、10 Gb/s で 1:4096、40/100 Gb/s で 1:8192。
```
+! Cisco IOS-XE, NetFlow v9
flow exporter T66
destination 192.0.2.50
transport udp 2055
- export-protocol netflow-v9
option sampler-table
flow monitor T66
exporter T66
@@ -354,39 +133,8 @@ interface GigabitEthernet0/0/0
ip flow monitor T66 input
```
-Cisco NX-OS(sFlow):
-
-```
-feature sflow
-sflow collector-ip 192.0.2.50 vrf default
-sflow collector-port 6343
-sflow agent-ip 192.0.2.1
-sflow sampling-rate 4096
-sflow counter-poll-interval 30
-sflow data-source interface ethernet 1/1
-```
-
-Arista EOS(sFlow):
-
-```
-sflow sample 4096
-sflow destination 192.0.2.50
-sflow source-interface Management1
-sflow run
-```
-
-Juniper EX / QFX(sFlow):
-
-```
-set protocols sflow collector 192.0.2.50 udp-port 6343
-set protocols sflow sample-rate ingress 4096
-set protocols sflow polling-interval 30
-set protocols sflow interfaces ge-0/0/0
-```
-
-Huawei CloudEngine(sFlow):
-
```
+# Huawei CloudEngine, sFlow (H3C Comware is similar)
sflow agent ip 192.0.2.1
sflow collector 1 ip 192.0.2.50
interface 10GE1/0/1
@@ -397,46 +145,22 @@ interface 10GE1/0/1
sflow counter interval 30
```
-H3C Comware(sFlow):
-
-```
-sflow agent ip 192.0.2.1
-sflow collector 1 ip 192.0.2.50 port 6343
-interface Ten-GigabitEthernet1/0/1
- sflow sampling-rate 4096
- sflow flow collector 1
- sflow counter interval 30
- sflow counter collector 1
```
+# Juniper EX/QFX, sFlow
+set protocols sflow collector 192.0.2.50 udp-port 6343
+set protocols sflow sample-rate ingress 4096
+set protocols sflow interfaces ge-0/0/0
-MikroTik RouterOS 7(NetFlow v9 / IPFIX):
+# Arista EOS, sFlow
+sflow sample 4096
+sflow destination 192.0.2.50
+sflow run
-```
+# MikroTik RouterOS 7
/ip traffic-flow set enabled=yes interfaces=all active-flow-timeout=1m
/ip traffic-flow target add dst-address=192.0.2.50 port=2055 version=9
-```
-
-FortiGate FortiOS 7.4.2 以降(NetFlow v9):
-
-```
-config system netflow
- config collectors
- edit 1
- set collector-ip 192.0.2.50
- set collector-port 2055
- next
- end
-end
-config system interface
- edit port1
- set netflow-sampler both
- next
-end
-```
-
-Linux サーバー・ホストでは softflowd を使います(NetFlow v9):
-```
+# Linux host, softflowd
softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
```
@@ -444,466 +168,161 @@ softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
## 5. フローの受信を確認する
-**設定** を開きます。何かを送ってきた機器は数秒以内に表示され、プロトコル、サンプリングレート、ロス、最終受信パケット、ステータスが示されます。ステータスが緑でない場合は、横のテキストに何が問題で何を変えればよいかが書かれています。
-
-**欠損** は、届かなかったサンプルやレコードの数です。sFlow の場合は、どこで失われたかを横のテキストが示します。ここへ届くまでの途中(シーケンス番号の抜け:ネットワーク、またはこのマシンの UDP 受信バッファー。`netstat -su` の受信バッファーエラーが増え続けているなら `net.core.rmem_max` を引き上げてください)か、機器自身の中(sFlow は機器が破棄したサンプルを報告します:機器の sFlow エクスポートにはレート制限があるので、サンプリングの頻度を下げるか、機器の上限を引き上げてください)です。どちらの場合も合計は補正されますが、ホストごとの明細は補正されません。
+**設定** には、何かを送ってきた機器が数秒以内にすべて表示されます:プロトコル、サンプリングレート、ロス、サンプリングしているインターフェース、そしてステータスが緑でないときに何を直せばよいか。sFlow のロスは、途中でのロス(`netstat -su` にバッファーエラーが出ていれば `net.core.rmem_max` を引き上げる)と、機器自身が破棄したサンプルに分けて示されます。

-機器が表示されない場合:
+機器が表示されない場合は `sudo tcpdump -ni any udp port 6343 or udp port 2055 or udp port 4739` を実行します。何も見えなければ、ルーティング、ファイアウォール、または機器の設定の問題です。パケットは見えるのに **設定** に何も出なければ、ローカルのファイアウォールか `-listen` の問題です。別のマシンから `traffic66 simulate -to 192.0.2.50` を実行すると、シミュレートした機器で経路をテストできます。
-1. traffic66 のマシンでパケットを確認します(Linux、macOS):`sudo tcpdump -ni any udp port 6343 or udp port 2055 or udp port 4739`。何も見えなければ、パケットがマシンに届いていません。機器の設定、ルーティング、経路上のファイアウォールを確認してください。
-2. パケットは届いているのに **設定** が空のまま:ローカルのファイアウォールが破棄している([インストール](#2-install) を参照)か、traffic66 が別のポートで待ち受けています(`-listen`)。
-3. 機器に触れずに別のマシンから経路をテストするには、そのマシンで`traffic66 simulate -to 192.0.2.50` を数秒間実行します。シミュレートした機器からsFlow、NetFlow、IPFIX を送信し、それらは **設定** とデータに現れるので、テスト用のインストールで行うことをおすすめします。
+
-
+## 6. インターフェースとカウンター
-## 6. 数値をインターフェースカウンターと一致させる
+フローの数値は推定値です(サンプル数 × サンプリングレート)。**インターフェース照合** はこれを機器のインターフェースカウンター(sFlow カウンター、または **名前** の `snmp` 行による SNMP)と比較し、ずれの理由を示します:サンプリングされていないインターフェース、同じトラフィックの二重サンプリング、途中でのロス、または不明なサンプリングレート。各インターフェースには bits/s と packets/s のグラフがあり、受信は緑、送信は青、カウンターは破線で表示されます。
-フローの数値は推定値です(サンプリングされたパケット数 × サンプリングレート)。traffic66 はこれを機器自身のインターフェースカウンターと比較して **インターフェース照合** に差分を表示し、サンプリングだけでは説明できないほど大きい場合は考えられる原因も示します。各インターフェースには全幅の bits/s のグラフと、その下に packets/s のグラフがあり、受信(緑)と送信(青)を表示します。機器自身のカウンターは bits/s のグラフに破線で表示されます。一覧でインターフェースを選ぶとそのグラフが表示されます。
+各行の **✎** は名前と短いタグ(*uplink* など)を設定し、**☆** はそれをデフォルトのインターフェース(★)にします。各ページはこのインターフェースで開きます。
-一覧の各行にはボタンが 2 つあります。**✎** はインターフェースに名前と短いタグ(*uplink* など)を付けます。タグはどこでも名前の横に表示されます。**☆** はそれをデフォルトのインターフェース(**★**)にします。デフォルトは 1 つだけです。以後、各ページはそのインターフェースで開き([Web UI の使い方](#9-using-the-web-ui) の **インターフェース** の選択を参照)、概要にはその帯域幅が表示されます。どちらもすぐに **名前** の `iface` 行に保存されます。
-
-フローレコードには 2 つのインターフェースが記録されます。パケットが入ってきたインターフェースと出ていったインターフェースです。そのため、一部のインターフェースだけでサンプリングしている機器では、それらのフローの反対側のインターフェースも表示されます。これらの **対向インターフェース** は一覧の最後に、小さい灰色の文字で専用の見出しの下に並びます。その数値はサンプリング対象のインターフェースを通ったトラフィックだけで、そのインターフェースの全トラフィックではありません。ページ上部の **インターフェース** には表示されません。traffic66 は、どのインターフェースがフローをサンプリングしたかを、sFlow のデータソース、または NetFlow v9 と IPFIX の flowDirection フィールド(IPFIX 61)(ingress:入力インターフェース、egress:出力インターフェース)から判断します。このフィールドがない場合は、機器のトラフィックの 90% 以上が通るインターフェースをサンプリング対象とみなします。該当するものがなければ、どのインターフェースにも印を付けません。**設定** には機器ごとに、サンプリング対象のインターフェースと、テンプレートに方向フィールド(61)があるかどうかが表示されます。機器の全トラフィックを見るには、すべてのインターフェースで受信方向をサンプリングしてください([機器からフローを送る](#4-send-flows-from-your-devices) を参照)。
+一部のインターフェースだけでサンプリングしている機器では、それらのフローの反対側のインターフェースも表示されます。これらの **対向インターフェース** は最後に小さい灰色の文字で並びます。中身はサンプリング対象のインターフェースを通ったトラフィックだけです。サンプリング対象のインターフェースは sFlow のデータソースか flowDirection フィールド(IPFIX 61)から判断し、それがない場合は機器のトラフィックの 90% が通るインターフェースとみなします。

-比較用のカウンターを取得するには:
-
-- sFlow 機器は、カウンターの送信間隔を設定すれば(`sflow counter interval 30` など)自動的に送ってきます。
-- NetFlow・IPFIX 機器の場合は、**設定 → 名前** に `snmp` 行を追加します([名前](#7-names-snmp-and-your-own-networks) を参照)。traffic66 が毎分インターフェースカウンターを読み取ります。
-
-数値を一致させるために traffic66 がすでに行っていること:機器が実際に適用したサンプリングレートを使う、サンプリングレートが判明するまで NetFlow/IPFIX レコードを保留する、途中で失われたエクスポートパケットを補正する、長いフローを継続した各分に按分する、そしてNetFlow/IPFIX のバイト数にパケットあたり 18 バイトの Ethernet オーバーヘッドを加算する(インターフェースカウンターには含まれ、IP レイヤーのフローの集計には含まれないため。`-l2-overhead` で変更可能)。
-
-それでも残る差分のよくある原因は次のとおりで、いずれも **インターフェース照合** に報告されます:一部のインターフェースがサンプリングされていない、同じトラフィックを 2 つのインターフェースでサンプリングしている、エクスポートパケットが traffic66 に届く前に失われている、サンプリングレートがまだ分かっていない。
+traffic66 はすでに、機器が適用したレートを使い、不明なレートは待ち、エクスポートのロスを補正し、長いフローを各分に按分し、NetFlow/IPFIX にはパケットあたり 18 バイトの Ethernet オーバーヘッドを加算しています(`-l2-overhead`)。
-
+
-## 7. 名前、SNMP、自社ネットワーク
+## 7. 名前、国、脅威リスト
-ホストや機器に名前を付ける一番手早い方法は、どのページでもそのアドレスをクリックして **名前を付ける…** を選ぶことです。名前を入力して Enter を押すとすぐに保存され、以後どこでもアドレスの代わりにその名前が表示されます。
-
-ネットワーク、インターフェース、SNMP については **設定 → 名前** を使います。種類(ホスト、ネットワーク、機器、インターフェース、SNMP)を選び、アドレスと名前を入力して **追加** をクリックします。下の表にはすべての名前が **編集** と **削除** 付きで並びます。同じアドレスをもう一度追加すると古いエントリが置き換わります。アドレスとネットワークは保存前にチェックされます。
-
-名前はデータディレクトリに `inventory.txt` として 1 行に 1 エントリで保存されます。**テキストで編集(上級)** でこのファイルを表示でき、ファイルを直接編集することもできます(`inventory.txt.example` を参照)。どの行も省略可能です。
+任意のアドレスをクリックして **名前を付ける…** を選ぶか、**設定 → 名前** を使います。名前はデータディレクトリの `inventory.txt` に保存されます:
```
-# your networks: traffic between them is "internal"
-net 10.10.0.0/16 Office LAN
-net 203.0.113.0/24 Public servers country=JP
-
-# device names; "unsampled" if it exports every packet (1:1),
-# sampling=N if it samples 1:N but does not say so in its export
-device 192.0.2.1 Core router
-device 192.0.2.9 Branch firewall unsampled
-device 192.0.2.20 Edge router sampling=1000
-
-# interface names, by device address and ifIndex; speed in bits per second,
-# tag= a short tag, default = the interface the pages open on (one only)
-iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
-
-# host names shown instead of addresses
-host 10.10.3.27 Finance PC
-
-# read interface counters over SNMPv2c (IF-MIB 64-bit counters)
-snmp 192.0.2.1 public
-snmp 192.0.2.9 s3cret 10.99.0.9:161
+net 10.10.0.0/16 Office LAN # your networks
+net 203.0.113.0/24 Public servers country=JP # country: lines on the world map
+device 192.0.2.1 Core router
+device 192.0.2.9 Branch firewall unsampled # exports every packet
+device 192.0.2.20 Edge router sampling=1000 # rate it does not declare
+iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
+host 10.10.3.27 Finance PC
+snmp 192.0.2.1 public # read counters over SNMPv2c
+snmp 192.0.2.9 s3cret 10.99.0.9:161 # other management address
```
-- `net`:プライベートアドレス範囲(10/8、172.16/12、192.168/16、100.64/10)は常に自社のものとして扱われます。グローバルアドレス範囲も追加すると、それらとの間のトラフィックも自社扱いになります。名前は、セグメントでグループ化した **上位 66** と、ネットワーク別のフローの流れに表示されます。`country=JP`(2 文字の国コード)はそのネットワークの所在国を示し、世界地図ではそこから通信相手の国へ線が引かれます。
-- `snmp [[:port]]`:device はフローの送信元アドレスです。機器が別のアドレスで SNMP に応答する場合は管理アドレスを追加します。SNMP で読み取ったインターフェースの説明は、`iface` で名前を付けていない限りインターフェース名として使われます。機器の SNMP アクセスリストで traffic66 のマシンを許可してください。
-- 変更は **保存** をクリックすると反映されます。再起動は不要です。
-
-
-
-## 8. 国、ネットワーク、脅威リスト
-
-国とネットワーク(AS)は最初から表示されます。traffic66 には DB-IP の無料データベース **IP to Country Lite** と **IP to ASN Lite** が内蔵されています(ライセンス [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)、"IP Geolocation by DB-IP"、[db-ip.com](https://db-ip.com))。国とネットワークを表示するページにはデータの出典を表示します。
-
-内蔵データは、使っているリリース時点のものです。DB-IP は毎月新版を公開します。**設定 → 国・ネットワークデータベース → DB-IP Lite を今すぐ更新** で db-ip.com から最新版をダウンロードできます(traffic66 を動かしているサーバーからインターネットに出られる必要があります。失敗した場合は画面に表示されます)。
-
-ほかの無料データベースも使えます。ダウンロードして、同じページの **データベースファイルをアップロード…** でアップロードします。ファイルは検査されてデータディレクトリに保存され、すぐに新しいトラフィックに使われます。再起動は不要です。保存済みのトラフィックは保存時の国のままです。
-
-| データベース | 内容 | ライセンス | 入手先 |
-|---|---|---|---|
-| DB-IP Lite(内蔵) | 国、ネットワーク | CC BY 4.0、登録不要 | [db-ip.com/db/lite.php](https://db-ip.com/db/lite.php) |
-| MaxMind GeoLite2 Country と ASN、`.mmdb` | 国、ネットワーク | GeoLite2 EULA、無料アカウントが必要 | [maxmind.com](https://www.maxmind.com/en/geolite2/signup) |
-| IPinfo Lite、`ipinfo_lite.mmdb` | 国とネットワークを 1 ファイルで | CC BY-SA 4.0、無料アカウントが必要 | [ipinfo.io/lite](https://ipinfo.io/lite) |
-| IPtoASN、`ip2asn-combined.tsv.gz` | ネットワークとその国 | PDDL 1.0、登録不要 | [iptoasn.com](https://iptoasn.com) |
+プライベートアドレス範囲は常に自社のものとして扱われます。変更は **保存** で反映され、再起動は不要です。
-アップロードしたファイルが優先され、そこにない分は内蔵の DB-IP Lite が答えます。ファイルの横の **削除** で残りの構成に戻ります。ページには使用中のデータベースとそれぞれの日付が表示されます。
-
-Web UI を使わない場合は、ファイルを `country.mmdb`、`asn.mmdb`、`both.mmdb`(IPinfo Lite のように国とネットワークが 1 ファイルのもの)または `asn.tsv.gz` という名前でデータディレクトリに置き、traffic66 を再起動します。
-
-**地域とネットワーク** には他の国とのトラフィックが世界地図で表示されます。色が濃いほどトラフィックが多い国です。国にポインタを合わせるとトラフィック量が、クリックすると絞り込みやフローレコードの表示ができます。自社ネットワークに国が設定されていると(`net` 行の `country=`、[名前](#7-names-snmp-and-your-own-networks) を参照)、その国からトラフィックをやり取りしている国へ線が引かれ、トラフィックが多いほど太くなります。国境は [Natural Earth](https://www.naturalearthdata.com)(パブリックドメイン)のものです。
+国とネットワーク(AS)は、DB-IP の無料 Lite データベース([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)、"IP Geolocation by DB-IP"、[db-ip.com](https://db-ip.com))により最初から使えます。**設定** で更新したり、代わりに MaxMind GeoLite2、IPinfo Lite、IPtoASN のファイルを使ったりできます。地図の輪郭:[Natural Earth](https://www.naturalearthdata.com)。

-脅威リストは 1 行に 1 つのアドレスまたはネットワークを書いたプレーンテキストファイルで(`#` または `;` 以降は無視されます)、`/threats/.txt` として保存します。例:
-
-```
-mkdir -p /threats
-curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamhaus-drop.txt
-```
-
-リストを追加・変更したら traffic66 を再起動してください。一致したものは **脅威インテル** にリスト名ごとに表示されます。
+脅威リストは、1 行に 1 つのアドレスまたはネットワークを書いたテキストファイルで、`/threats/.txt` に置きます(例:Spamhaus DROP)。変更後は再起動してください。一致したものは **脅威インテル** に表示されます。

-
-
-## 9. Web UI の使い方
-
-キーボードで入力する場面はほとんどありません。どのページのどの値も(アドレス、ポート、アプリケーション、国、機器)クリックできます:
+
-- **これだけ表示** / **これを除外** でフィルターを追加します。フィルターはトップバーの下に表示され、外すまですべてのページに適用されます。
-- **フローレコードを見る** で、該当する個々のフローを開きます。
-- **詳細を表示**(ホスト、機器、サービス)で、そのホストまたはサービス 1 つについてのページを開きます。アプリケーション別のトラフィックの推移、通信相手、サービスまたはクライアント、国、最新のフローが表示されます。そこでもすべての値をクリックできるので、さらに掘り下げていけます。ブラウザーの戻るボタンで戻れます。
-- **名前を付ける…**(ホストと機器)で、アドレスに名前を付けます。以後どこでもその名前が表示されます。
-- **外部サイトで調べる** で、アドレスや AS を公開の検索サイトで開きます。
-- **コピー** で値をコピーします。
+## 8. Web UI の使い方
-ページ:
+どのページのどの値もクリックできます:**これだけ表示** / **これを除外**(フィルターは全ページに適用)、**フローレコードを見る**、**詳細を表示**(1 つのホストまたはサービスのページ)、**名前を付ける…**、**外部サイトで調べる**、**コピー**。
-| ページ | 分かること |
+| ページ | 表示内容 |
|---|---|
-| 概要 | 選択したインターフェース(未選択ならデフォルト、それもなければ最も通信量の多いもの)の帯域幅(bits/s、受信と送信はインターフェースから見た向き)、現在のトラフィック量(アプリケーション別。**合計**、または自ネットワークの **内向き** か **外向き** のトラフィックのみ)と、その時点のデータがあれば、昨日の同じ時刻(1 日までの範囲)、先週(1 週間までの範囲)、またはそれ以前の日々(それより長い範囲)との比較、未対応の検知、方向とプロトコル、上位のクライアントとサービス |
-| 上位 66 | 最初は **表** を表示:上位 66 件を 1 つの表で表示。既定は会話(クライアント、サーバー、サービス、国)。どの列見出しでも並べ替えられます。数値の列(トラフィック、パケット数、平均パケット長、フロー数)は期間内の全トラフィックから上位 66 件を取り直すので、平均パケット長の小さい順でスキャンやフラッドが見つかります。**グループ化** でアプリケーション、ネットワーク、セグメント、機器、カプセル化、VLAN に切り替えられます。**主な通信相手** は上位 30 のクライアントとサーバーを並べてトラフィック、パケット数、フローレコード数とともに示し、その下に全トラフィックの行があります |
-| トラフィック詳細 | 2 つのリングチャート。**サーバーとクライアント**:内側の輪は通信量の多い 8 サーバー、外側の輪は各サーバーのクライアントです。**クライアントを内側** で逆になります(内側にクライアント、外側に各クライアントが使うサーバー)。片側のほうが多くを語ることがよくあるためです。**サービス**:通信量の多いサービスの輪が 1 つ。セグメントにポインタを合わせるとトラフィック量が表示され、他の値と同じようにクリックできます |
-| フローの流れ | どのホストがどの国に向けてどのアプリケーションを使っているか。通信量の多い 8 ホストを表示し、残りは「その他」にまとめます。**クライアント → サーバー** でクライアント → サービス → サーバーを表示し、**ネットワーク別** でホストの代わりにネットワークを表示します。長い名前は 22 文字に短縮され、ポインタを合わせると完全な名前が表示されます |
-| 検知 | 対応が必要なもの:スキャン、パスワード総当たり、横展開、不審なアップロード、フラッド、脅威リストとの通信([詳しく](#findings)) |
-| 脅威インテル | 脅威リスト上のアドレスと通信したホストと、その送信量 |
-| 地域とネットワーク | 国別トラフィックの世界地図(自社ネットワークからの線付き)、トラフィックの送信元・送信先のネットワーク(AS)の推移(bits/s と packets/s)、国別・ネットワーク別のトラフィック |
-| 設定 | 機器、サンプリング、各機器のサンプリング対象のインターフェースと flowDirection を送っているかどうか、ロス、コレクター、SNMP、国・ネットワークデータベース、ロゴ、**名前** |
-| インターフェース照合 | 全インターフェースのトラフィックの推移(bits/s とその下に packets/s、受信(緑)と送信(青)、機器のカウンターは破線)と、フローの数値とカウンターの差(差の大きい順、理由付き)、各インターフェースの名前、タグ、デフォルトの指定 |
-| フローレコード | フローレコードの数とその時期(間隔ごとの棒グラフ)と、レコードそのもの(新しい順、ページ送り、表示列は選択可能)。開くと直近 15 分を表示し、5 秒ごとに更新。他のページの値から開いた場合(**フローレコードを見る**)はそのページの時間範囲を引き継ぎ、**リアルタイムに戻る** で戻る |
-| データ削除 | 120、90、60、30、7 日より古いデータ、またはすべてのデータを削除。それぞれで空く容量も表示([詳しく](#13-data-backup-upgrade-uninstall)) |
-| オフライン pcap 分析 | pcap・pcapng のキャプチャをライブデータと分けて分析 ([詳しく](#オフライン-pcap-分析)) |
-
-サイドメニューはページを 4 つのグループに分けて並べます:トラフィック(概要、上位 66、トラフィック詳細、フローの流れ、インターフェース照合、フローレコード)、セキュリティ(検知、脅威インテル、地域とネットワーク)、設定とオフライン pcap 分析、そして最下部のデータ削除。ロゴの下にはバージョンとサーバーの日時が表示されます。
-
-トラフィック系のページ(概要、上位 66、トラフィック詳細、フローの流れ、地域とネットワーク、フローレコード、値の詳細ページ)の上部には **インターフェース** があります。**すべてのインターフェース** か 1 つのインターフェースを選ぶと、これらのページにはそのインターフェースを通る(受信または送信の)トラフィックだけが表示されます。サンプリング対象のインターフェースが機器ごとにまとめて並び、初期値はデフォルトのインターフェース(★、**インターフェース照合** で設定)で、選択はリンクにも含まれます。検知、脅威インテル、インターフェース照合、設定は常にすべてのトラフィックを対象とします。1 つのインターフェースで 7 日または 30 日を表示する場合、ページは 1 時間ごと・1 日ごとの集計ではなくフロー明細を読むため、時間がかかり、遡れるのはフロー明細の保存期間(デフォルト 30 日)までです。
-
-ページの上部には、時間範囲(15 分〜30 日、または **期間指定…** で任意の開始・終了。30 日より前も指定可能)、30 秒ごとの自動更新、そして **リンクをコピー** があります。**リンクをコピー** は、現在の表示(ページ、時間範囲、フィルター)そのものへのリンクをコピーするので、同僚に送るのに便利です。**上位 66** と **トラフィック詳細** では、**機器**、**クライアント**、**サーバー**、**サービス** に、時間範囲内で通信量の多い値が並びます。値を選ぶか入力すると絞り込まれ、そのフィルターはボックスを空にするまで全ページに適用されます。言語はブラウザーの設定に従い、メニューの一番下、**ログアウト** の上で変更できます。設定、フローレコード(リアルタイム表示中)、データ削除、オフライン pcap 分析には時間範囲がありません。
-
-言語の隣はカラーテーマで、iOS のシステムカラーに倣っています。**ライト**(デフォルト)、**グレー**、**ブラック**(壁掛けディスプレイ向け)、**ティール**、**オレンジ** があります。クリックするたびに次のテーマに切り替わり、選択はブラウザーに保存されます。
-
-推移のグラフは、上位 8 つの値を固定の色で、残りを「その他」として表示します。凡例には各値の合計が示され、他の値と同じようにクリックできます。クライアントとサーバーのグラフでは「その他」を描画しません。ホストが数千台あると上位 8 つが平らになってしまうためです。凡例にはその合計が引き続き示されます。
-
-グラフはデータが揃っている時点で終わります。sFlow では現在の分まで、NetFlow と IPFIX では機器がフローをエクスポートするのにかかる時間だけ少し手前までです(traffic66 がこの時間を計測します。最大 2 分)。
-
-6 時間より長い時間範囲は正時から始まるため、ページ上のすべての数値がまったく同じ時間を集計します。「24 時間」は、直近の区切りのよい 24 時間に現在の 1 時間を加えた範囲です。これらの範囲の上位 66 は 1 時間ごとの集計から作られるため、フィルターは使えません(ページにもその旨が表示されます)。フィルターを使うには短い範囲を選んでください。会話は常にフローの明細を読むため、フローの多い環境で長い範囲を選ぶと時間がかかることがあります。1 時間が最速です。
-
-サイドメニューには、データが使っているディスク容量と空き容量が表示されます。空き容量にマウスを重ねると、現在のペースで明細を保持日数分残すのに必要な容量が分かります(1 日分のデータがたまると推定されます)。
-
-サインイン画面とメニュー上部に独自のロゴを表示するには、**設定 → ロゴ → ロゴをアップロード…** を使います。PNG、SVG、JPEG、WebP、GIF に対応し、1 MB まで、推奨サイズは 272 × 92 ピクセルです(他のサイズは収まるように縮小・拡大されます)。**内蔵ロゴに戻す** で traffic66 のロゴに戻ります。
-
-
-
-### 検知
-
-**検知** には、traffic66 がフローから見つけたものが深刻な順に表示されます。5 分ごとに直近 10 分間をチェックします。1 時間続く事象は、チェックのたびに新しい検知になるのではなく、1 件の検知として育っていきます。
-
-| 検知 | 意味 | 重大度 |
-|---|---|---|
-| スキャン | 1 つのアドレスが、多数のアドレスの同じポートに小さなプローブを送った(TCP または ping) | 社内ネットワークからなら高、インターネットからなら低 |
-| ポートスキャン | 1 つのアドレスが、1 台のホストの多数のポートに小さなプローブを送った | 社内からなら高、インターネットからなら低 |
-| パスワード総当たり | ログインサービス(SSH、RDP、SMB、データベースなど)への短い接続が多数 | 社内からなら高、インターネットからなら低 |
-| 横展開 | 社内ネットワーク内で、それまでそのサービスを提供したことのないホストへのファイル共有またはリモート管理のセッション(SMB、RDP、SSH、WinRM、VNC) | 高 |
-| 不審なアップロード | 内部ホストが、それまでデータをやり取りしたことのないアドレスへ、受信よりはるかに多く送信した(10 分間で 100 MB、受信量の 3 倍) | 高 |
-| フラッド | 1 つのアドレスへ毎秒 20,000 個以上の小さなパケット、普段の 10 倍のレート | 中 |
-| 脅威リスト | 脅威リストのいずれかに載っているアドレスとの通信 | 自分のホストから接続した場合は高、リスト上のアドレスが外から叩いてきた場合は低 |
-
-各検知には、誰が誰に何をしたか、いつ、どれだけの時間続いたかが、根拠となる数値とデータのサンプリング方法とともに示されます。**詳細** はそのホストのページを開きます。そこにもそのホストに関する検知が表示されます。**対応済み** は検知を閉じます。同じことが再び起きれば新しい検知が開きます。**問題なし** は検知を永久に閉じ、二度と報告されません。サイドメニューの **検知** の横にある赤い数字は、直近 24 時間の未対応の重大度「高」と「中」の検知の件数です。
-
-横展開と不審なアップロードは何が普段どおりかを知る必要があるため、1 日分の履歴がたまってから報告されます。初回起動時には、traffic66 はすでにある履歴から学習します。
-
-サンプリングされたデータ(sFlow、サンプリングされた NetFlow)では、ルールはサンプルに見えるものを数え、必要な件数を減らします。その代わり、各サンプルが 1 回の短いプローブに見えなければならないので、正常で忙しいホストが引っかかることはありません。サンプリングで隠れたものは見つけられません。1:4096 のサンプリングでは、数十台のホストへのスキャンは送るパケットが少なすぎて見えません。デモの攻撃は 1:4096 でサンプリングするスイッチを通りますが、すべて検知されます。デモの正常なトラフィックは 1 日分でも、Web サイトを叩くインターネット上のスキャナー以外の検知を生みません。
-
-
+| 概要 | 選択したインターフェースの帯域幅、アプリケーション別のトラフィック(合計、内向き、外向き)と昨日・先週との比較、未対応の検知、上位のクライアントとサービス |
+| 上位 66 | 上位 66 件の会話(どの列でも並べ替え可能)、またはアプリケーション、ネットワーク、セグメント、機器、カプセル化、VLAN でのグループ化、上位 30 の通信相手 |
+| トラフィック詳細 | リングチャート:サーバーとそのクライアント(またはその逆)、サービス |
+| フローの流れ | ホスト → アプリケーション → 国、またはクライアント → サービス → サーバー、またはネットワーク別 |
+| インターフェース照合 | 全インターフェースの推移とカウンターの比較、名前、タグ、デフォルト |
+| フローレコード | 個々のフロー。5 秒ごとのリアルタイム表示、または任意の時間範囲 |
+| 検知、脅威インテル | 対応が必要なもの([後述](#findings))、リスト上のアドレスとの通信 |
+| 地域とネットワーク | 国別の世界地図、ネットワーク(AS)の推移 |
+| 設定 | 機器、サンプリング、ロス、SNMP、データベース、ロゴ、名前 |
+| オフライン pcap 分析、データ削除 | キャプチャファイル([後述](#9-offline-pcap-terminal-ui-local-capture))、古いデータの削除 |
+
+ページの上部には、**インターフェース**(すべて、またはサンプリング対象のインターフェース 1 つ。選ぶとトラフィック系のページにはそこを通るトラフィックだけが表示されます)、時間範囲(15 分〜30 日、または任意指定)、30 秒ごとの更新、そして現在の表示そのものへの **リンクをコピー** があります。言語と 5 つのカラーテーマはメニューの一番下にあります。グラフはデータが揃っている時点で終わります。NetFlow/IPFIX では機器のエクスポートが遅れる分だけ手前になります(最大 2 分)。6 時間より長い範囲は正時から始まります。1 つのインターフェースで 7 日または 30 日を表示するとフロー明細を読むため、時間がかかり、遡れるのは明細の保存期間までです。


-
+

-同じ概要画面の中国語版です。すべてのページが 13 言語で表示できます:
-

-
-
-### オフライン pcap 分析
-
-**オフライン pcap 分析** では Wireshark や tcpdump のキャプチャを、ライブデータと混ぜずに同じページで見られます。
+
-すべてのパケットをフローにまとめます:誰が誰と、どれだけ、いつ通信し、何が攻撃らしいか。プロトコルのデコードやパケットの中身の表示はしません。1 パケットや 1 本の TCP ストリームを見るには Wireshark を使ってください。
+### 検知
-コマンドラインから、設定なしで開けます:
+5 分ごとに直近 10 分間をチェックします。1 時間続く事象は、1 件の検知として育っていきます。
-```
-traffic66 office.pcap
-traffic66 a.pcap b.pcapng c.pcap
-```
+| 検知 | 意味 |
+|---|---|
+| スキャン、ポートスキャン | 多数のホストの同じポート、または 1 台のホストの多数のポートへの小さなプローブ |
+| パスワード総当たり | ログインサービスへの短い接続が多数 |
+| 横展開 | それまでファイル共有やリモート管理を提供したことのない内部ホストへの、それらのセッション |
+| 不審なアップロード | 新しいアドレスへ 10 分間で 100 MB、戻ってきた量の 3 倍 |
+| フラッド | 1 つのアドレスへ毎秒 20,000 個以上の小さなパケット、普段の 10 倍のレート |
+| 脅威リスト | リスト上のアドレスとの通信 |
-traffic66 はこのコンピューターだけで起動し(127.0.0.1、空いているポート)、アドレス、パスワード、1 回限りのサインインリンクを表示して、ブラウザでキャプチャを開きます。最大 3 ファイル、合計 3 GB。ファイルはその場で読み、変更しません。何も収集・送信せず、ホスト名の逆引きもしません(`-dns` で有効)。Ctrl+C で停止し、取り込んだデータを削除します。2 コアのマシンで 1 GB のキャプチャは約 5 秒(フルサイズ 120 万パケット)から 30 秒(小さな 1,400 万パケット)で見られます。
+社内ネットワークからなら重大度は高、インターネットからなら低です。**対応済み** は検知を閉じ、**問題なし** は永久に表示しないようにします。横展開と不審なアップロードには 1 日分の履歴が必要です。1:4096 のサンプリング越しでもデモの攻撃はすべて検知されますが、ごく小さなスキャンはサンプリングに隠れることがあります。
-```
-$ traffic66 office.pcap
-
-traffic66 0.3.1: analysing 1 capture file(s); nothing is collected or sent
- Web UI http://127.0.0.1:38217 (port 38217, this computer only)
- Sign in user admin, password gfhfhbuutz2e
- Open http://127.0.0.1:38217/auto?t=b9388f… (signs in once)
- Stop Ctrl+C; the imported data is deleted, your files are kept
-```
+
-動作中の traffic66 の Web UI では:
+
-1. **キャプチャファイルをアップロード…**:`.pcap` または `.pcapng`(圧縮不可)。最大 3 ファイル、各 50 MB まで。ファイルはフローに変換されて専用のデータベース(`/sandbox/`)に入り、ライブデータや集計、検出結果には影響しません。
-2. **分析**:全ページ(概要、Top 66、トラフィック詳細、検出、フローパス、地図、フローレコード)がキャプチャの全期間を表示します。オレンジの帯にファイル名が出て、**ライブデータに戻る** で戻ります。各ファイルは 1 台の機器として扱われるので、**機器** 欄で 1 ファイルずつ見られます。
-3. 検出ルールもキャプチャに対して動き、スキャン、ポートスキャン、パスワード推測が **検知** に出ます。1 日分の履歴が必要なルール(横展開、異常なアップロード)はキャプチャには適用されません。
-4. **削除** でファイルとそのデータを、**すべて削除** ですべてを削除します。
+## 9. オフライン pcap、ターミナル UI、ローカルキャプチャ
-デモには攻撃を含むサンプルキャプチャが入っています。
+**オフライン pcap 分析** は、パケットキャプチャ(pcap、pcapng)をライブデータとは分けて、同じページで表示します。`traffic66 a.pcap b.pcapng` は 127.0.0.1 で起動してブラウザーを開きます(最大 3 ファイル、3 GB。Ctrl+C で取り込んだデータを削除)。そのページで 50 MB までのファイルを最大 3 つアップロードすることもできます。扱うのはフローで、パケットの中身ではありません。

-## 10. ターミナル UI
-
-```
-traffic66 tui # traffic66 on this machine
-traffic66 tui -server http://192.0.2.50:8066 -user admin -password …
-traffic66 -tui # collect and show the terminal UI in one process
-```
-
-traffic66 のマシン上では、データディレクトリを読み取れれば `traffic66 tui` は自動でサインインします(デフォルト以外の場所なら `-data` を指定)。サービスとして動かす場合のようにtraffic66 が別のユーザーで動いているときは、代わりに `-user` と `-password` を使います。`-lang` で言語を選びます(`en`、`zh`、`hi`、`es`、`ar`、`fr`、`bn`、`pt`、`ru`、`id`、`ur`、`ja`、`ko`)。
-
-キー操作:1–8 ページ切り替え、↑↓ 選択、Enter 選択した値に対する操作、f これだけ表示、x 除外、/ 検索、t 時間範囲、c フィルター解除、w 同じ表示をブラウザーで開く、q 終了。
+**ターミナル UI**:traffic66 のマシンで `traffic66 tui`、または `traffic66 tui -server http://192.0.2.50:8066 -user admin -password …`。キー操作:1–8 ページ、Enter 操作、f これだけ表示、x 除外、t 時間範囲、w ブラウザーで開く、q 終了。`-lang` で言語を選びます。


-
-
-## 11. ローカルキャプチャ
-
-traffic66 はフローのエクスポートを受信するだけでなく、自身が動いているマシンのネットワークインターフェース上のパケットから自分でフローを生成することもできます。何が見えるかはインターフェースによって変わります:
-
-| インターフェース | traffic66 から見えるもの |
-|---|---|
-| スイッチのミラー(SPAN)ポートにつないだ空きのネットワークポート | スイッチがミラーするすべてのトラフィック:ネットワーク全体やアップリンク |
-| そのマシン自身の Ethernet または Wi-Fi | そのマシン自身のトラフィックのみ |
-
-Wi-Fi アダプターでは他の機器のトラフィックは見えません。Wi-Fi ネットワーク全体を見るには、ルーターやアクセスポイントからフローをエクスポートする(セクション 4)か、アクセスポイントがつながっているスイッチポートをミラーしてください。
-
-
-
-### Windows
-
-1. [Npcap](https://npcap.com) をデフォルトのオプションでインストールします。"Restrict Npcap driver's access to Administrators only" にチェックを入れた場合は、traffic66 を管理者として実行してください。
-2. インターフェースを一覧表示します(PowerShell):
-
- ```
- C:\traffic66\traffic66.exe interfaces
- ```
-
- ```
- # Name Address Adapter / device
- 1 Ethernet - Intel(R) Ethernet I219-V \Device\NPF_{4B8A2C1E-…}
- 2 Wi-Fi 192.168.1.23 Intel(R) Wi-Fi 6 AX201 \Device\NPF_{9F00AA11-…}
- 3 Loopback - Adapter for loopback traffic capture \Device\NPF_Loopback
- ```
-
- Name 列は Windows のネットワーク設定にある接続名です。使用中のインターフェースにはアドレスが付いています。
-3. Wi-Fi で、名前または番号を指定してキャプチャします:
-
- ```
- C:\traffic66\traffic66.exe -capture Wi-Fi
- C:\traffic66\traffic66.exe -capture 2
- ```
-
- スペースを含む名前は引用符で囲みます:`-capture "Ethernet 2"`。複数のインターフェースでキャプチャするには `-capture` を繰り返します。キャプチャだけを行い、フローコレクターが不要なら `-listen=` を付けます。セクション 2 のスタートアップタスクでは、このオプションを `-Argument` に追加します:`-Argument '-data C:\traffic66\traffic66-data -capture Wi-Fi'`。
-
-
-
-### Linux
-
-```
-traffic66 interfaces
-sudo setcap cap_net_raw,cap_net_admin+ep /opt/traffic66/traffic66
-traffic66 -capture eth1
-```
-
-キャプチャには root 権限、またはケーパビリティ `CAP_NET_RAW` と `CAP_NET_ADMIN` が必要です。上記の `setcap` の行、またはセクション 2 の systemd ユニットにある `AmbientCapabilities` 行を使います。Wi-Fi インターフェースの名前は通常 `wlan0` か `wlp…` です。
-
-
-
-### macOS
-
-```
-traffic66 interfaces
-sudo traffic66 -capture en0
-```
-
-キャプチャには root 権限が必要です。追加のインストールは不要です。MacBook では `en0` が Wi-Fi です。
-
-
-
-### 動作の確認
-
-**設定** に、キャプチャ中の各インターフェースが、キャプチャ方式と受信したパケット数とともに表示されます。フローはすべてのページで、他の機器のフローと同じように機器 `127.0.0.1`(このマシン)からのものとして表示されます。同じパケットが 2 回見えた場合(例えば 2 つのミラーポートで)は 2 回カウントされます。
-
-
+**ローカルキャプチャ** はローカルのインターフェースからフローを作ります。スイッチのミラーポートにつないだポートが最適です。`traffic66 interfaces` で一覧を表示し、`-capture eth1`(または Windows の名前か番号)でキャプチャします。Linux では root か `setcap cap_net_raw,cap_net_admin+ep`、macOS では root、Windows では [Npcap](https://npcap.com) が必要です。キャプチャしたフローは機器 `127.0.0.1` からのものとして表示されます。
-## 12. オプション
+
-`traffic66 -h` と `traffic66 -h` ですべて確認できます。
+## 10. オプションとデータ
-コマンド:
-
-| コマンド | |
-|---|---|
-| `traffic66` | フローを収集し Web UI を提供 |
-| `traffic66 demo` | 同上、シミュレートしたネットワークで動作 |
-| `traffic66 tui` | 稼働中の traffic66 用のターミナル UI |
-| `traffic66 passwd` | ユーザーの追加・変更・一覧表示・削除([ユーザーとパスワード](#3-users-and-passwords) を参照) |
-| `traffic66 simulate -to HOST` | シミュレートしたエクスポートをコレクターに送信 |
-| `traffic66 interfaces` | ローカルキャプチャ用のインターフェースを一覧表示 |
-| `traffic66 version` | バージョンを表示 |
-
-`traffic66` と `traffic66 demo` のオプション:
+`traffic66 -h` ですべてを表示します。よく使うもの:
| オプション | デフォルト | |
|---|---|---|
-| `-addr` | `:8066` | Web UI のアドレス。`127.0.0.1:8066` でこのマシンからのみ |
| `-data` | プログラムと同じ場所の `traffic66-data` | データディレクトリ |
-| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | UDP コレクターを `name=address` のカンマ区切りで指定。空にすると無効 |
-| `-user` | `admin` | 初回起動時に作成されるユーザーの名前。`-password` が適用されるユーザーでもある |
-| `-password` | 未設定 | この実行では `password` ファイルを無視し、`-user` とこのパスワードだけを受け付ける(`TRAFFIC66_PASSWORD` でも可) |
-| `-retention-days` | `30` | フロー詳細の保存日数。集計は 400 日保存 |
-| `-memory` | `0.10` | データベースのキャッシュに使う物理メモリの割合。プログラムのその他の部分にも同じ量をソフト上限として設定(それぞれ最低 256 MB) |
-| `-l2-overhead` | `18` | NetFlow/IPFIX のバイト数にパケットあたり加算するバイト数 |
+| `-addr` | `:8066` | Web UI。`127.0.0.1:8066` でこのマシンからのみ |
+| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | UDP コレクター。空にすると無効 |
+| `-retention-days` | `30` | フロー明細の保存日数。集計は 400 日保存 |
+| `-memory` | `0.10` | データベースのキャッシュに使うメモリの割合 |
| `-sampling-wait` | `5m` | レコードがサンプリングレートを待つ時間 |
-| `-capture` | | ローカルインターフェースでキャプチャ(複数指定可) |
-| `-inventory` | `/inventory.txt` | 名前ファイル |
-| `-asn` | `/asn.tsv.gz` | IP-ASN 対応表(`.mmdb` ファイルはアップロードするか、`/country.mmdb` と `/asn.mmdb`, `/both.mmdb` に置く) |
-| `-threat` | `/threats/*.txt` | 追加の脅威リストを `name=path` で指定(複数指定可) |
-| `-dns-upstream` | システムのリゾルバー | ホスト名表示に使う DNS サーバー |
-| `-dns-rate` | `20` | 1 秒あたりの逆引き回数の上限 |
-| `-dns-cache` | `2m` | ホスト名のキャッシュ時間 |
+| `-capture` | | ローカルインターフェース(複数指定可) |
| `-no-dns` | | 逆引きを行わない |
-| `-tui` | | ターミナル UI も開く |
-
-例:コレクターのポートを 1 つ追加し、詳細を 1 年保存し、Web UI をローカルマシンだけに公開する:
-
-```
-traffic66 -data /var/lib/traffic66 -listen "sflow=:6343,netflow=:2055,ipfix=:4739,netflow=:9995" -retention-days 365 -addr 127.0.0.1:8066
-```
-
-
-
-## 13. データ、バックアップ、アップグレード、アンインストール
-
-すべてのデータはデータディレクトリにあります:
-
-| | |
-|---|---|
-| `raw/` | フロー詳細。1 時間ごとに 1 つの圧縮ファイル |
-| `traffic66.duckdb` | 集計、インターフェースカウンター、現在の 1 時間分 |
-| `password` | ログインパスワード(ハッシュ化) |
-| `inventory.txt` | 名前(**設定 → 名前**) |
-| `license.json` | インストール番号とライセンス([試用とライセンス](#trial-and-licence) を参照) |
-| `logo.png`(または `.svg`、`.jpg`、`.webp`、`.gif`) | アップロードしたロゴ(**設定 → ロゴ**)。アップロードした場合のみ |
-| `country.mmdb`, `asn.mmdb`, `both.mmdb`, `asn.tsv.gz`, `dbip-country.mmdb`, `dbip-asn.mmdb`, `threats/`, `sandbox/` | 追加した国・ネットワークデータベースと脅威リスト |
-
-**データの保存期間**:フロー明細は 30 日、集計(概要と長い期間)は 400 日です。それより古いデータは自動で削除され、5 分ごとに確認します。それ以外は何も削除せず、ほかの制限もありません。明細の保存日数は `-retention-days` で変更でき、何日でも指定できます(例:`-retention-days 365`)。ディスク使用量もそれに応じて増えます。保存日数分が入りきらないときは、サイドメニューの **空き** が赤くなります。ディスクが満杯になると、空きができるまで新しいフローは保存できません。
-
-サイドメニューの **データ削除** では、必要になる前にデータを削除できます:120、90、60、30、7 日より古いデータ、またはすべてのデータ。選択肢ごとに削除されるフローレコードの数とおおよそ空くディスク容量を表示し、削除前に確認します。削除されるのはフローレコード、1 時間ごと・1 日ごとの集計、インターフェースカウンター、検知です。すべてのデータを削除すると、検知ルールが学習した内容もリセットされます。元に戻すことはできません。
-
-- **バックアップ**:traffic66 を停止してディレクトリをコピーします。停止せずに行う場合は`raw/`、`password`、`inventory.txt` をコピーします。この場合、現在の 1 時間分と集計は含まれません。
-- **移動**:traffic66 を停止し、ディレクトリを移動して、新しい場所を `-data` で指定して起動します。
-- **アップグレード**:traffic66 を停止し、プログラムファイルを置き換えて、再び起動します。データはそのまま残ります。Linux の例:
- ```
- sudo systemctl stop traffic66
- sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
- sudo systemctl start traffic66
- ```
+データディレクトリには `raw/`(明細、1 時間ごとに 1 ファイル)、`traffic66.duckdb`(集計とカウンター)、`password`、`inventory.txt`、`license.json`、ロゴ、データベースが入っています。バックアップは traffic66 を停止してディレクトリをコピーし、アップグレードはプログラムファイルを置き換えます。**データ削除** は 7〜120 日より古いデータ、またはすべてのデータを削除します。
-- **アンインストール**:サービスまたはスタートアップタスクを停止・削除し([インストール](#2-install) を参照)、プログラムのフォルダーとデータディレクトリを削除します。
+
-
+### ライセンス
-### 試用とライセンス
+[PolyForm Noncommercial License 1.0.0](../LICENSE.md) と [Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md)(英語版が正本)のもとでのソースアベイラブルです。評価用途と 100 人未満の組織は無料。それより大きな組織は本番利用 30 日後に登録が必要です。販売、他者向けのホスティング、競合製品には商用ライセンスが必要です。機能が止まることは一切ありません。各ページの下部に 8 桁のインストール番号が表示されるので、それを作者に送り、返ってきた `license.json` をデータディレクトリに置いてください。連絡先:。
-traffic66 は [PolyForm Noncommercial License 1.0.0](../LICENSE.md) と [Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md) のもとでソースを公開しています。どちらも英語の原文が正本です。要点:
+
-- **評価**・テスト・開発・デモ:誰でも無料、期間の制限なし。
-- 従業員と業務委託者の合計が 100 人未満の組織による**本番利用**(組織の業務のために実トラフィックを処理すること):無料。
-- **それより大きな組織**の本番利用:30 日間は無料、その後は作者の登録ライセンスが必要です。
-- 委託先やサービス事業者は、顧客専用のデプロイで顧客のために運用できます。必要かどうかは顧客の規模で判断します。
-- 商用ライセンスなしには不可:販売や製品への組み込み、ホスト型・マルチテナント型サービスとしての他者への提供、競合製品。
+## 11. セキュリティ、サイジング、トラブルシューティング
-登録ライセンスの料金・範囲・期間は個別に決まり、無料の場合もあります。連絡先:。
+Web UI は平文の HTTP です。信頼できないネットワークでは `-addr 127.0.0.1:8066` とし、TLS プロキシ(`caddy reverse-proxy --from traffic66.example.com --to 127.0.0.1:8066`)か SSH トンネルの背後に置いてください。UDP ポートは自社の機器からのみ許可してください。SNMP コミュニティは平文で保存されるので、読み取り専用のものを使ってください。
-ライセンスが不要な場合も含め、どのインストールでも試用期間が表示されます。初回起動時に traffic66 は、8 桁のインストール番号を含む `license.json` をデータディレクトリに書き出します。各ページの下部には試用期間の残り日数が表示され、期間が過ぎると試用期間が終了したことが表示されます。どちらの場合も機能が止まることはなく、すべての機能をそのまま使えます。
+2 コアで毎秒 5,000 フローの場合:明細のディスクは 1 日あたり約 12 GB(30 日で 360 GB)、CPU は 1 コアの 6 分の 1、メモリは 0.6–0.8 GB。長い範囲の概要は 0.2 秒未満、全会話の 1 時間分の上位 66 は約 9 秒です。
-登録するには、インストール番号(各ページの下部にも表示)を作者に送ってください。ライセンスは新しい `license.json` として届きます。古いファイルと置き換えてデータディレクトリに置いてください。ライセンスは traffic66 の起動時と 4 時間ごとに確認されるので、再起動は不要です。その後、ページの下部にライセンス先と残り日数が表示されます。
-
-
-
-## 14. セキュリティ
-
-- Web UI は平文の HTTP を使います。パスワードとデータは暗号化されずにネットワークを流れます。完全には信頼できないネットワークでは、このマシンだけで待ち受け(`-addr 127.0.0.1:8066`)、前段に TLS リバースプロキシを置いてください。例えば [Caddy](https://caddyserver.com) なら:`caddy reverse-proxy --from traffic66.example.com --to 127.0.0.1:8066`。あるいは VPN や SSH トンネル経由でアクセスします:`ssh -L 8066:127.0.0.1:8066 user@192.0.2.50` の後、http://127.0.0.1:8066 を開きます。
-- UDP のコレクターポートは、自社機器のアドレスからのみ許可してください。
-- `inventory.txt` 内の SNMP コミュニティは平文で保存されます。読み取り専用のコミュニティを使ってください。
-
-
-
-## 15. サイジング
-
-2 コアのマシンで毎秒 5,000 フローを処理した実測値:詳細データはディスクを 1 日あたり約 12 GB、加えて現在の 1 時間分に約 1.5 GB 使用し、プログラムは CPU 1 コアの 6 分の 1程度を使います。長い時間範囲の概要は集計から作られ、0.2 秒未満で表示されます。詳細データへのクエリは 1 時間あたり約 2,200 万行をスキャンします。1 ホストの 1 時間分なら 1 秒未満、全通信ペアの 1 時間分の Top 66 なら約 9 秒です。所要時間は範囲に比例して増え、コア数が多いほど短くなります。
-
-したがって毎秒 5,000 フローで 30 日分のディスクは約 360 GB です。実際のフローレート(**設定** に表示)と `-retention-days` に応じて見積もってください。
-
-メモリ:`-memory`(デフォルトは物理メモリの 10%、最低 256 MB)はデータベースのキャッシュを制限し、プログラムのその他の部分には同じ大きさのソフト上限がかかります。毎秒 5,000 フローでは、プログラム自身のデータ(デコード、重複検出、バッチ)は約 90 MB です。全体では 0.6–0.8 GB を見込んでください。RAM 2 GB のマシンで足ります。10 分間の連続収集(8 GB のマシンでピーク 0.58 GB)と、2 GB のマシンの制限下でその 11 倍のレートで 1 時間分のフローを取り込んだとき(ピーク 0.74 GB)に実測しました。
-
-`-memory` は予算であり、厳密な上限ではありません。Go の制限はソフト上限で、データベースも一時的に自分の割り当てを超えることがあります。厳密な上限が必要なら OS の仕組みを使ってください:systemd ユニットの `MemoryMax=`(セクション 2)またはコンテナのメモリ制限です。`-memory` の割り当ての約 2.5 倍、かつ 1 GB 以上を見込んでください。デフォルトの割り当てなら、物理メモリ 8 GB までのマシンには `MemoryMax=2G` が適しています。こうすると、マシンのメモリが枯渇する代わりに traffic66 が再起動します。
-
-
-
-## 16. トラブルシューティング
-
-| 症状 | 原因と対処 |
+| 症状 | 対処 |
|---|---|
-| **設定** に機器が表示されない | パケットが届いていません:[フローの受信を確認する](#5-check-that-flows-arrive) を参照 |
-| "waiting for the sampling rate" | 機器がまだサンプラーオプションを送っていません。多くの機器は数分以内に再送します。いつまでも送られない場合はエクスポートを設定する(Cisco では `option sampler-table`)か、本当に 1:1 なら名前で `unsampled` を付けるか、`device` 行に `sampling=N` でレートを指定します。その後 **設定** に機器が送ったテンプレートが一覧表示されるので、何を宣言しているか確認できます |
-| 数値がインターフェースカウンターより小さい | **インターフェース照合** を確認:途中でのロス、サンプリングされていないインターフェース、またはフローがまだ機器のキャッシュ内にある(アクティブタイムアウトが 60 秒より長い) |
-| 数値がインターフェースカウンターより大きい | 同じトラフィックを 2 つのインターフェースまたは 2 台の機器でサンプリングしています |
-| 国やネットワークが表示されない("不明") | データベースが読み込まれていません。**設定** でアップロードしてください:[国](#8-countries-networks-and-threat-lists) を参照 |
-| ページに "データベースがメモリ上限に達したため、応答できませんでした" と表示される | 期間を短くするか、より大きな `-memory` で起動してください。詳細はログにあります |
-| パスワードを忘れた | traffic66 のマシンで `traffic66 passwd`(traffic66 を `-data` 付きで動かしている場合は `-data` も付ける) |
-| `Conflicting lock is held` | 別の traffic66 がすでにこのデータディレクトリを使っています |
-| `receive buffer is only … KB` | Linux が UDP バッファを制限しています:`net.core.rmem_max=16777216` を設定([Linux](#linux) を参照) |
-| `cannot create the data directory` | このユーザーはプログラムのフォルダーに書き込めません:`-data` を指定してください |
-| macOS:"cannot be opened" または "developer cannot be verified" | `xattr -dr com.apple.quarantine ` |
-| Windows:"Windows によって PC が保護されました" | **詳細情報** → **実行**。プログラムはまだ署名されていません |
-| Windows でのキャプチャ:Npcap が見つからない | [Npcap](https://npcap.com) をインストール |
-| `address already in use` | 別のプログラムがポートを使用中:`-addr` または `-listen` で別のポートを指定 |
-
-
-
-## 17. ソースからのビルド
-
-Go 1.24 と C コンパイラー(gcc または clang。Windows では MinGW-w64)が必要です:
-
-```
-git clone https://github.com/githubflyideas/traffic66
-cd traffic66
-scripts/build.sh 0.1.0 traffic66
-```
+| "waiting for the sampling rate" | サンプラーオプションをエクスポートするか、device 行に `sampling=N` / `unsampled` を付ける |
+| カウンターより小さい | サンプリングされていないインターフェース、ロス、またはアクティブタイムアウトが 60 秒超 |
+| カウンターより大きい | 同じトラフィックを 2 つのインターフェースまたは 2 台の機器でサンプリングしている |
+| パスワードを忘れた | traffic66 のマシンで `traffic66 passwd` |
+| `Conflicting lock is held` | 別の traffic66 がこのデータディレクトリを使っている |
+| `address already in use` | `-addr` または `-listen` で別のポートを指定 |
+| Windows:"Windows によって PC が保護されました" | **詳細情報** → **実行** |
+
+ソースからのビルド:Go 1.24 と C コンパイラーを用意し、`scripts/build.sh 0.1.0 traffic66` を実行します。
diff --git a/docs/README.ko.md b/docs/README.ko.md
index 8fc528e..119002c 100644
--- a/docs/README.ko.md
+++ b/docs/README.ko.md
@@ -2,398 +2,128 @@
# traffic66
-sFlow, NetFlow, IPFIX 플로 분석을 하나의 프로그램으로 처리합니다. 스위치, 라우터, 방화벽이
-익스포트한 플로를 수집해 내장 데이터베이스에 저장하고, 누가 대역폭을 쓰는지, 트래픽이 어디로
-가는지, 그 수치가 장비 자체의 인터페이스 카운터와 맞는지를 웹 UI와 터미널 UI로 보여 줍니다.
-
-- Windows, Linux, macOS 모두 실행 파일 하나입니다. 데이터베이스 설치나 런타임이 필요 없고,
- 오프라인에서도 동작합니다.
-- 어떤 UDP 포트로든 sFlow v5, NetFlow v5, NetFlow v9, IPFIX를 받습니다. 네트워크
- 인터페이스나 미러 포트에서 직접 로컬 캡처도 할 수 있습니다.
-- 자체 집계 수치를 인터페이스 카운터(sFlow 카운터 또는 SNMP)와 대조하고, 차이가 나면 그
- 이유를 알려 줍니다.
-- 플로에서 스캔, 비밀번호 대입, 내부 확산, 비정상 업로드, 플러드, 위협 목록 트래픽을
- 찾아내고(샘플링된 데이터에서도), 처리할 탐지 항목으로 보여 줍니다.
-- Top 66 목록, 누가 누구와 통신하는지 보여 주는 링 차트(서버와 그 클라이언트, 서비스와
- 그 서버), 인터페이스와 네트워크(AS)별 시간에 따른 트래픽, 트래픽 경로, 세계 지도 위의
- 국가, 위협 목록 일치 항목, 플로 레코드, 캡슐화(GRE, IPIP, VXLAN, GENEVE, MPLS).
-- `traffic66 capture.pcap`로 최대 3개(합계 3 GB)의 캡처를 웹 UI에서 열어 캡처 전체의 플로, 탐지, 국가, 플로 레코드를 봅니다. 설정할 것이 없습니다.
-- 웹 UI와 터미널 UI 모두 13개 언어를 지원합니다.
-- 소스 공개: 평가 용도와 100명 미만 조직은 무료이고, 더 큰 조직은 운영 사용 30일 뒤
- 등록해야 합니다. 꺼지는 기능은 전혀 없습니다
- ([체험과 라이선스](#trial-and-licence) 참조).
+sFlow, NetFlow, IPFIX 플로 분석을 하나의 프로그램으로 처리합니다. 누가 대역폭을 쓰는지, 트래픽이 어디로 가는지, 그 수치가 장비 자체의 인터페이스 카운터와 맞는지를 웹 UI와 터미널 UI로 보여 줍니다.
+
+- Windows, Linux, macOS 모두 실행 파일 하나입니다. 설치할 데이터베이스가 없고, 오프라인에서도 동작합니다.
+- 어떤 UDP 포트로든 sFlow v5, NetFlow v5/v9, IPFIX를 받으며, 인터페이스에서 로컬 캡처도 할 수 있습니다.
+- 자체 수치를 인터페이스 카운터(sFlow 또는 SNMP)와 대조하고, 차이가 나는 이유를 알려 줍니다.
+- 스캔, 비밀번호 대입, 내부 확산, 비정상 업로드, 플러드, 위협 목록 트래픽을 샘플링을 거쳐서도 찾아냅니다.
+- `traffic66 capture.pcap`은 설정할 것 없이 패킷 캡처를 분석합니다.
+- 13개 언어 지원. 평가 용도와 100명 미만 조직은 무료입니다([라이선스](#licence)).

-모든 스크린샷은 직접 실행해 볼 수 있는 가상의 회사 네트워크인 `traffic66 demo`에서 찍은 것입니다([데모 실행해 보기](#1-try-the-demo) 참조).
+모든 스크린샷은 가상의 회사 네트워크인 `traffic66 demo`에서 찍은 것입니다.
## 목차
1. [데모 실행해 보기](#1-try-the-demo)
-2. [설치](#2-install) — [Linux](#linux) · [Windows](#windows) · [macOS](#macos)
+2. [설치](#2-install)
3. [사용자와 비밀번호](#3-users-and-passwords)
4. [장비에서 플로 보내기](#4-send-flows-from-your-devices)
5. [플로 수신 확인](#5-check-that-flows-arrive)
-6. [수치를 인터페이스 카운터와 맞추기](#6-make-the-numbers-match-the-interface-counters)
-7. [이름, SNMP, 자체 네트워크](#7-names-snmp-and-your-own-networks)
-8. [국가, 네트워크, 위협 목록](#8-countries-networks-and-threat-lists)
-9. [웹 UI 사용법](#9-using-the-web-ui)
-10. [터미널 UI](#10-terminal-ui)
-11. [로컬 캡처](#11-local-capture)
-12. [옵션](#12-options)
-13. [데이터, 백업, 업그레이드, 제거](#13-data-backup-upgrade-uninstall)
-14. [보안](#14-security)
-15. [용량 산정](#15-sizing)
-16. [문제 해결](#16-troubleshooting)
-17. [소스에서 빌드](#17-build-from-source)
+6. [인터페이스와 카운터](#6-interfaces-and-counters)
+7. [이름, 국가, 위협 목록](#7-names-countries-and-threat-lists)
+8. [웹 UI 사용법](#8-using-the-web-ui)
+9. [오프라인 pcap, 터미널 UI, 로컬 캡처](#9-offline-pcap-terminal-ui-local-capture)
+10. [옵션과 데이터](#10-options-and-data)
+11. [보안, 용량 산정, 문제 해결](#11-security-sizing-troubleshooting)
## 1. 데모 실행해 보기
-[릴리스 페이지](https://github.com/githubflyideas/traffic66/releases)에서 사용 중인
-시스템용 압축 파일을 내려받습니다.
-
-| 시스템 | 압축 파일 |
-|---|---|
-| Windows 10/11, Server 2016 이상(x64) | `traffic66-windows-amd64.zip` |
-| Linux x86-64: 커널 3.2 이상의 모든 배포판(CentOS 7, Alpine 포함) | `traffic66-linux-amd64.tar.gz` |
-| Linux ARM64: 동일한 배포판 | `traffic66-linux-arm64.tar.gz` |
-| macOS 11 이상, Apple 실리콘 | `traffic66-darwin-arm64.tar.gz` |
-| macOS 11 이상, Intel | `traffic66-darwin-amd64.tar.gz` |
-
-Linux:
-
-```
-tar xzf traffic66-linux-amd64.tar.gz
-cd traffic66-linux-amd64
-./traffic66 demo -password try66
-```
-
-macOS(두 번째 줄은 App Store가 아닌 인터넷에서 내려받은 프로그램을 macOS에서 실행할 수 있게 해 줍니다):
+[Releases 페이지](https://github.com/githubflyideas/traffic66/releases)에서 시스템에 맞는 압축 파일(Windows x64, 커널 3.2 이상의 Linux x86-64/ARM64, macOS 11 이상)을 내려받아 풀고 실행합니다:
```
-tar xzf traffic66-darwin-arm64.tar.gz
-xattr -dr com.apple.quarantine traffic66-darwin-arm64
-cd traffic66-darwin-arm64
-./traffic66 demo -password try66
-```
-
-Windows(PowerShell):
-
+./traffic66 demo -password try66 # Linux, macOS
+.\traffic66.exe demo -password try66 # Windows
```
-Expand-Archive traffic66-windows-amd64.zip .
-cd traffic66-windows-amd64
-.\traffic66.exe demo -password try66
-```
-
-http://127.0.0.1:8066 을 열고 `admin` / `try66`으로 로그인합니다. 데모는 작은 회사
-네트워크를 만들어 하루치 이력과 시뮬레이션 장비 4대의 실시간 트래픽을 보여 주며, 공격
-하나가 들어 있습니다. **탐지**에 그 각 단계(스캔, 포트 스캔, 비밀번호 대입, 내부 확산,
-제어 서버로의 업로드)와 공개 웹사이트에 대한 플러드가 표시됩니다. 탐지 항목에서 **상세**를
-클릭하거나, **개요**에서 시작해 **상위 클라이언트**의 호스트를 클릭하고 **상세 보기**를 고른
-뒤, 거기서부터 계속 클릭해 보십시오. Ctrl+C로 중지합니다. 데모 데이터는 프로그램 옆의 `traffic66-demo`에
-저장되며, 이 폴더를 삭제하면 데모를 처음부터 다시 시작할 수 있습니다.
-
-데모는 실제 설치와 같은 포트(8066, UDP 6343, 2055, 4739)를 사용합니다. 실제 인스턴스와
-함께 실행하려면 다른 포트를 지정합니다:
-`traffic66 demo -password try66 -addr :8067 -listen ""`.
-Windows에서는 `traffic66.exe`를 더블클릭해도 됩니다. 이렇게 하면 데모가 아닌
-실제 traffic66이 시작되고 브라우저에서 웹 UI가 열립니다. 첫 시작 비밀번호는 검은
-창에 표시되며, 창을 닫으면 traffic66이 중지됩니다. Windows가 "Windows의 PC 보호"
-메시지를 표시하면 **추가 정보** → **실행**을 클릭합니다.
+macOS에서는 먼저 `xattr -dr com.apple.quarantine `를 실행하십시오. http://127.0.0.1:8066을 열고 `admin` / `try66`으로 로그인하면, 하루치 이력과 가상 장비 네 대의 실시간 트래픽이 보입니다. 여기에는 공격이 하나 포함되어 있으며 **탐지**에서 단계별로 보여 줍니다. Ctrl+C로 중지하고, `traffic66-demo`를 삭제하면 처음부터 다시 시작합니다. 실제 설치와 나란히 실행하려면: `-addr :8067 -listen ""`.
## 2. 설치
-traffic66은 파일 하나입니다. 설치란 이 파일을 적당한 곳에 두고, 데이터 디렉터리를 정하고,
-비밀번호를 설정하고, 방화벽을 열고, 부팅 시 자동으로 시작되게 하는 것입니다. 예시에서는
-traffic66 서버를 `192.0.2.50`, 라우터를 `192.0.2.1`로 표기합니다. 실제 주소로 바꿔
-사용하십시오.
+traffic66은 파일 하나입니다. 포트: UDP 6343(sFlow), 2055(NetFlow), 4739(IPFIX), TCP 8066(웹 UI). 모든 UDP 포트가 모든 프로토콜을 받습니다.
-포트:
-
-| 포트 | 용도 |
-|---|---|
-| UDP 6343 | sFlow(기본값) |
-| UDP 2055 | NetFlow(기본값) |
-| UDP 4739 | IPFIX(기본값) |
-| TCP 8066 | 웹 UI 및 API |
-
-모든 UDP 포트가 모든 프로토콜을 받으므로, 편하다면 장비에서 NetFlow를 6343으로 보내도
-됩니다. 포트 변경이나 추가는 `-listen`으로 합니다.
-
-
-
-### Linux
+**Linux**(systemd):
```
-sudo mkdir -p /opt/traffic66
-sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
+sudo mkdir -p /opt/traffic66 && sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
sudo useradd --system --no-create-home --shell /usr/sbin/nologin traffic66
sudo install -d -o traffic66 -g traffic66 /var/lib/traffic66
sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66
```
-마지막 명령은 사용자 `admin`의 비밀번호를 묻습니다.
-
-`/etc/systemd/system/traffic66.service`를 만듭니다:
+`/etc/systemd/system/traffic66.service`:
```
[Unit]
Description=traffic66 flow analytics
After=network-online.target
-Wants=network-online.target
[Service]
User=traffic66
ExecStart=/opt/traffic66/traffic66 -data /var/lib/traffic66
Restart=on-failure
-# hard memory limit for the whole process (see Sizing)
MemoryMax=2G
-# only needed for local capture (-capture):
-#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
+#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN # only for local capture
[Install]
WantedBy=multi-user.target
```
-서비스를 시작하고, 버스트 시 유실되지 않도록 UDP 버퍼 한도를 늘립니다:
-
```
-echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf
-sudo sysctl --system
-sudo systemctl daemon-reload
-sudo systemctl enable --now traffic66
-sudo systemctl status traffic66
-journalctl -u traffic66 -f
+echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf && sudo sysctl --system
+sudo systemctl daemon-reload && sudo systemctl enable --now traffic66
+sudo firewall-cmd --permanent --add-port={6343,2055,4739}/udp --add-port=8066/tcp && sudo firewall-cmd --reload
```
-방화벽, firewalld 사용 시(RHEL, Rocky, Alma, Fedora):
+**Windows**(관리자 권한 PowerShell): `C:\traffic66`에 압축을 풀고, `C:\traffic66\traffic66.exe passwd`를 실행하고, 포트를 연 다음, 부팅 시 시작하도록 등록합니다:
```
-sudo firewall-cmd --permanent --add-port=6343/udp --add-port=2055/udp --add-port=4739/udp --add-port=8066/tcp
-sudo firewall-cmd --reload
-```
-
-ufw 사용 시(Ubuntu, Debian):
-
-```
-sudo ufw allow 6343,2055,4739/udp
-sudo ufw allow 8066/tcp
-```
-
-
-
-### Windows
-
-`C:\traffic66`에 압축을 풀고 비밀번호를 설정합니다(관리자 권한 PowerShell):
-
-```
-Expand-Archive traffic66-windows-amd64.zip C:\
-Rename-Item C:\traffic66-windows-amd64 C:\traffic66
-C:\traffic66\traffic66.exe passwd
-```
-
-데이터는 프로그램 옆의 `C:\traffic66\traffic66-data`에 저장됩니다.
-
-방화벽을 엽니다:
-
-```
-New-NetFirewallRule -DisplayName "traffic66 flows" -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
-New-NetFirewallRule -DisplayName "traffic66 web" -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
-```
-
-포그라운드에서 시험해 보려면 `C:\traffic66\traffic66.exe`를 실행하고 Ctrl+C로 중지합니다.
-아무도 로그인하지 않은 상태에서도 부팅 시부터 백그라운드로 실행하려면 시작 작업으로
-등록합니다:
-
-```
-$action = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
-$trigger = New-ScheduledTaskTrigger -AtStartup
-$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
-Register-ScheduledTask -TaskName traffic66 -Action $action -Trigger $trigger -Settings $settings -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
+New-NetFirewallRule -DisplayName traffic66 -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
+New-NetFirewallRule -DisplayName traffic66-web -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
+$a = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
+$s = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1)
+Register-ScheduledTask -TaskName traffic66 -Action $a -Trigger (New-ScheduledTaskTrigger -AtStartup) -Settings $s -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
Start-ScheduledTask -TaskName traffic66
```
-`-ExecutionTimeLimit ([TimeSpan]::Zero)`는 반드시 필요합니다. 이것이 없으면 Windows가
-3일 후 작업을 중지합니다. 중지는 `Stop-ScheduledTask -TaskName
-traffic66`, 제거는 `Unregister-ScheduledTask -TaskName traffic66`으로 합니다.
-
-
-
-### macOS
-
-```
-sudo mkdir -p /usr/local/traffic66
-sudo tar xzf traffic66-darwin-arm64.tar.gz -C /usr/local/traffic66 --strip-components=1
-sudo xattr -dr com.apple.quarantine /usr/local/traffic66
-sudo /usr/local/traffic66/traffic66 passwd -data "/Library/Application Support/traffic66"
-```
-
-`/Library/LaunchDaemons/traffic66.plist`를 만듭니다:
-
-```
-
-
-
-
- Labeltraffic66
- ProgramArguments
-
- /usr/local/traffic66/traffic66
- -data
- /Library/Application Support/traffic66
-
- RunAtLoad
- KeepAlive
- StandardErrorPath/Library/Logs/traffic66.log
-
-
-```
-
-시작과 중지:
-
-```
-sudo launchctl bootstrap system /Library/LaunchDaemons/traffic66.plist
-tail -f /Library/Logs/traffic66.log
-sudo launchctl bootout system/traffic66
-```
+`traffic66.exe`를 더블클릭해도 됩니다. 웹 UI가 열리고, 첫 비밀번호가 창에 표시됩니다.
-macOS 방화벽이 켜져 있다면 시스템 설정 → 네트워크 → 방화벽 → 옵션에서 traffic66의 수신
-연결을 허용하십시오.
+**macOS**: `/usr/local/traffic66`에 압축을 풀고, quarantine 플래그를 제거하고, `traffic66 passwd -data "/Library/Application Support/traffic66"`를 실행한 뒤, LaunchDaemon으로 시작합니다. `ProgramArguments`는 프로그램, `-data`, 그 디렉터리로 하고 `RunAtLoad`와 `KeepAlive`를 지정합니다.
## 3. 사용자와 비밀번호
-**요약:** 사용자와 비밀번호는 데이터 디렉터리의 파일 하나, `password`에 저장됩니다.
-이 파일을 직접 편집할 일은 없습니다. 사용자 추가, 변경, 목록 확인, 삭제는
-`traffic66 passwd` 명령으로 합니다. `http://:8066`을 열고
-그중 한 사용자로 로그인합니다.
-
-
-
-### 첫 로그인
-
-traffic66은 처음 시작할 때 임의의 비밀번호로 사용자 `admin`을 만들고, 그 비밀번호를
-한 번만 보여 줍니다:
-
-```
-first start: sign in as user "admin" with password "3f9c2a7e5b1d8046"
-```
-
-- Windows에서 더블클릭으로 시작한 경우: 검은 창에 표시됩니다.
-- 터미널에서 시작한 경우: 그 터미널에 표시됩니다.
-- Linux 서비스: `journalctl -u traffic66 | grep "first start"`
-- macOS 서비스: `grep "first start" /Library/Logs/traffic66.log`
-
-놓쳤다면 `traffic66 passwd`(아래 참조)로 새 비밀번호를 설정합니다. 위의 설치 절차처럼
-첫 시작 전에 `traffic66 passwd`로 비밀번호를 설정해 두었다면 비밀번호가 생성되지
-않습니다.
-
-
-
-### 사용자가 저장되는 곳
-
-데이터 디렉터리의 `password` 파일입니다:
-
-| traffic66 실행 방식 | 파일 |
-|---|---|
-| 압축을 풀고 그 폴더에서 시작(기본) | 프로그램 옆의 `traffic66-data/password` |
-| Linux 서비스(섹션 2) | `/var/lib/traffic66/password` |
-| Windows 시작 작업(섹션 2) | `C:\traffic66\traffic66-data\password` |
-| macOS 서비스(섹션 2) | `/Library/Application Support/traffic66/password` |
-| 데모 | 프로그램 옆의 `traffic66-demo/password` |
-
-사용자마다 한 줄입니다. 비밀번호는 솔트를 넣은 해시로 저장되므로 누구도 파일에서
-비밀번호를 다시 읽어 낼 수 없으며, 본인도 마찬가지입니다. 비밀번호를 잊어버렸다면
-새로 설정합니다. 이 파일은 소유자만 읽을 수 있습니다.
-
-```
-# traffic66 login, one user per line; change with: traffic66 passwd
-admin:pbkdf2-sha256$210000$…
-alice:pbkdf2-sha256$210000$…
-```
-
-
-
-### 사용자 관리
-
-traffic66 서버에서 다음을 실행합니다:
+처음 시작할 때 traffic66은 임의의 비밀번호로 사용자 `admin`을 만들고 그 비밀번호를 한 번만 출력합니다(창, 터미널, 또는 `journalctl -u traffic66 | grep "first start"`). 사용자는 솔트를 적용한 해시로 데이터 디렉터리의 `password`에 저장되며, traffic66 서버에서 명령 하나로 관리합니다(traffic66을 `-data …`와 함께 실행한다면 같은 옵션을 추가):
| 작업 | 명령 |
|---|---|
| `admin`의 비밀번호 변경 | `traffic66 passwd` |
-| 사용자 `alice` 추가 또는 비밀번호 변경 | `traffic66 passwd -user alice` |
-| 사용자 `alice` 삭제 | `traffic66 passwd -user alice -delete` |
+| `alice` 추가 또는 비밀번호 변경 | `traffic66 passwd -user alice` |
+| `alice` 삭제 | `traffic66 passwd -user alice -delete` |
| 사용자 목록 보기 | `traffic66 passwd -list` |
-| 임의의 비밀번호를 설정하고 출력 | `traffic66 passwd -generate`(다른 사용자는 `-user` 추가) |
-
-- 명령은 새 비밀번호를 두 번 묻고, 입력하는 내용은 화면에 표시하지 않습니다.
- 8자 이상을 사용합니다.
-- traffic66을 `-data`와 함께 실행한다면 명령에도 같은 `-data`를 붙입니다.
- 섹션 2의 Linux 서비스라면:
-
- ```
- sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66 -user alice
- ```
-
- Windows에서는(관리자 권한 PowerShell):
-
- ```
- C:\traffic66\traffic66.exe passwd -user alice
- ```
-
-- 변경 사항은 재시작 없이 바로 적용됩니다. 새 비밀번호는 다음 로그인부터 쓸 수 있고,
- 삭제된 사용자는 열려 있는 브라우저에서 로그아웃됩니다.
-- 마지막 남은 사용자는 삭제할 수 없습니다. 먼저 다른 사용자를 추가합니다.
-- 모든 사용자가 같은 것을 보고 바꿀 수 있습니다. 역할 구분은 없습니다.
-
-
-### 스크립트와 컨테이너용 비밀번호
-
-환경 변수 `TRAFFIC66_PASSWORD=…` 또는 명령줄의 `-password …`를 쓰면 traffic66은
-그 실행 동안 사용자 한 명만 받아들입니다. `-user`로 지정한 사용자(기본값 `admin`)와
-그 비밀번호입니다. 이때 `password` 파일은 무시되며 변경되지도 않습니다. 환경 변수를
-권장합니다. 명령줄은 같은 서버의 다른 사용자에게 보이기 때문입니다.
-
-```
-TRAFFIC66_PASSWORD='s3cret-pass' traffic66 -user ops
-```
-
-1분 안에 비밀번호를 다섯 번 틀린 주소는 1분간 차단됩니다.
+변경은 즉시 적용됩니다. 모든 사용자의 권한은 같습니다. 스크립트와 컨테이너에서는 `TRAFFIC66_PASSWORD=…`(또는 `-password`)를 지정하면 그 실행에서는 `-user`와 그 비밀번호만 받습니다. 1분 안에 비밀번호를 다섯 번 틀리면 그 주소는 1분 동안 차단됩니다.
## 4. 장비에서 플로 보내기
-각 장비가 traffic66 서버로 플로를 보내도록 설정합니다. 명령은 모델과 소프트웨어 버전에 따라
-다르므로 장비 매뉴얼을 확인하십시오. 모든 예시에서 `192.0.2.50`은 traffic66,
-`192.0.2.1`은 장비 자신의 주소입니다.
-
-일반적인 권장 사항:
-
-- 액티브 플로 타임아웃은 60초로 설정합니다. 타임아웃이 길수록 트래픽이 늦게, 큰 덩어리로
- 도착합니다.
-- 장비가 NetFlow/IPFIX를 샘플링한다면 샘플러 옵션도 익스포트하도록 해서 샘플링 레이트를 알 수
- 있게 합니다. traffic66은 레이트가 도착할 때까지 레코드를 보류하며, 1:1로 계산하지 않습니다.
-- 모든 인터페이스 또는 경계 인터페이스만, 한 방향으로 샘플링합니다. 같은 트래픽을 들어올 때와
- 나갈 때 모두 샘플링하면 두 번 집계됩니다. **인터페이스 대조**가 이를 지적해 줍니다.
-- sFlow 샘플링 레이트: 1 Gb/s 링크는 약 1:1000, 10 Gb/s는 1:4096, 40/100 Gb/s는 1:8192.
-
-Cisco IOS / IOS-XE(Flexible NetFlow):
+`192.0.2.50`은 traffic66, `192.0.2.1`은 장비입니다. 액티브 타임아웃을 60초로 설정하고, NetFlow/IPFIX 장비가 샘플러 옵션을 익스포트하게 하고, **모든 인터페이스의 수신 방향**(또는 에지 인터페이스만)을 샘플링하십시오. 그러면 각 패킷이 한 번만 집계됩니다. sFlow 샘플링 비율: 1 Gb/s는 약 1:1000, 10 Gb/s는 1:4096, 40/100 Gb/s는 1:8192.
```
+! Cisco IOS-XE, NetFlow v9
flow exporter T66
destination 192.0.2.50
transport udp 2055
- export-protocol netflow-v9
option sampler-table
flow monitor T66
exporter T66
@@ -403,39 +133,8 @@ interface GigabitEthernet0/0/0
ip flow monitor T66 input
```
-Cisco NX-OS(sFlow):
-
-```
-feature sflow
-sflow collector-ip 192.0.2.50 vrf default
-sflow collector-port 6343
-sflow agent-ip 192.0.2.1
-sflow sampling-rate 4096
-sflow counter-poll-interval 30
-sflow data-source interface ethernet 1/1
-```
-
-Arista EOS(sFlow):
-
-```
-sflow sample 4096
-sflow destination 192.0.2.50
-sflow source-interface Management1
-sflow run
-```
-
-Juniper EX / QFX(sFlow):
-
-```
-set protocols sflow collector 192.0.2.50 udp-port 6343
-set protocols sflow sample-rate ingress 4096
-set protocols sflow polling-interval 30
-set protocols sflow interfaces ge-0/0/0
-```
-
-Huawei CloudEngine(sFlow):
-
```
+# Huawei CloudEngine, sFlow (H3C Comware is similar)
sflow agent ip 192.0.2.1
sflow collector 1 ip 192.0.2.50
interface 10GE1/0/1
@@ -446,46 +145,22 @@ interface 10GE1/0/1
sflow counter interval 30
```
-H3C Comware(sFlow):
-
-```
-sflow agent ip 192.0.2.1
-sflow collector 1 ip 192.0.2.50 port 6343
-interface Ten-GigabitEthernet1/0/1
- sflow sampling-rate 4096
- sflow flow collector 1
- sflow counter interval 30
- sflow counter collector 1
```
+# Juniper EX/QFX, sFlow
+set protocols sflow collector 192.0.2.50 udp-port 6343
+set protocols sflow sample-rate ingress 4096
+set protocols sflow interfaces ge-0/0/0
-MikroTik RouterOS 7(NetFlow v9 / IPFIX):
+# Arista EOS, sFlow
+sflow sample 4096
+sflow destination 192.0.2.50
+sflow run
-```
+# MikroTik RouterOS 7
/ip traffic-flow set enabled=yes interfaces=all active-flow-timeout=1m
/ip traffic-flow target add dst-address=192.0.2.50 port=2055 version=9
-```
-
-FortiGate FortiOS 7.4.2 이상(NetFlow v9):
-```
-config system netflow
- config collectors
- edit 1
- set collector-ip 192.0.2.50
- set collector-port 2055
- next
- end
-end
-config system interface
- edit port1
- set netflow-sampler both
- next
-end
-```
-
-Linux 서버와 호스트는 softflowd 사용(NetFlow v9):
-
-```
+# Linux host, softflowd
softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
```
@@ -493,290 +168,74 @@ softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
## 5. 플로 수신 확인
-**설정**를 엽니다. 무엇이든 보내는 장비는 몇 초 안에 나타나며, 프로토콜, 샘플링 레이트,
-유실, 마지막 패킷, 상태가 표시됩니다. 상태가 녹색이 아니면 옆의 설명에 무엇이 잘못됐고 무엇을
-바꿔야 하는지 나와 있습니다.
-
-**손실**은 도착하지 않은 샘플이나 레코드 수입니다. sFlow의 경우 옆의 설명이 어디서
-사라졌는지 알려 줍니다: 여기로 오는 도중(시퀀스 번호의 빈틈: 네트워크, 또는 이 머신의 UDP
-수신 버퍼. `netstat -su`에서 수신 버퍼 오류가 계속 늘어나면 `net.core.rmem_max`를
-올리세요), 또는 장비 자체(sFlow는 장비가 버린 샘플을 보고합니다: 장비의 sFlow 내보내기에
-속도 제한이 있으니 샘플링 빈도를 낮추거나 장비의 한도를 올리세요). 어느 경우든 합계는
-보정되지만, 호스트별 상세는 보정되지 않습니다.
+**설정**에는 무엇이든 보내온 장비가 몇 초 안에 모두 나타납니다: 프로토콜, 샘플링 비율, 유실, 샘플링하는 인터페이스, 그리고 상태가 초록이 아닐 때 무엇을 고쳐야 하는지. sFlow 유실은 경로상의 유실(`netstat -su`에 버퍼 오류가 보이면 `net.core.rmem_max`를 올리십시오)과 장비 자체가 버린 샘플로 나뉘어 표시됩니다.

-장비가 나타나지 않으면:
-
-1. traffic66 서버에서 패킷을 확인합니다(Linux, macOS):
- `sudo tcpdump -ni any udp port 6343 or udp port 2055 or udp port 4739`.
- 아무것도 보이지 않으면 패킷이 서버까지 오지 않는 것입니다. 장비 설정, 라우팅, 경로상의
- 방화벽을 확인하십시오.
-2. 패킷은 들어오는데 **설정**가 비어 있다면: 로컬 방화벽이 패킷을 버리고 있거나
- ([설치](#2-install) 참조), traffic66이 다른 포트에서 수신하고 있는 것입니다(`-listen`).
-3. 장비를 건드리지 않고 다른 서버에서 경로를 테스트하려면 그 서버에서
- `traffic66 simulate -to 192.0.2.50`을 몇 초간 실행합니다. 시뮬레이션 장비에서 sFlow,
- NetFlow, IPFIX를 보내며, 이 장비들이 **설정**와 데이터에 나타나므로 테스트용 설치에서
- 하는 것이 좋습니다.
-
-
-
-## 6. 수치를 인터페이스 카운터와 맞추기
-
-플로 수치는 추정값입니다(샘플링된 패킷 수 × 샘플링 레이트). traffic66은 이를 장비 자체의
-인터페이스 카운터와 비교해 **인터페이스 대조**에 차이를 보여 주며, 샘플링만으로 설명되지 않을
-만큼 차이가 크면 가능한 원인도 함께 표시합니다. 인터페이스마다 전체 폭의 bits/s 그래프와
-그 아래 packets/s 그래프가 있으며 수신(초록)과 송신(파랑)을 함께 보여 줍니다. 장비 자체의
-카운터는 bits/s 그래프에 점선으로 표시됩니다. 목록에서 인터페이스를 고르면 그 그래프가
-표시됩니다.
-
-목록의 각 행에는 버튼이 두 개 있습니다. **✎**는 인터페이스에 이름과 짧은 태그(*uplink* 등)를
-붙이며, 태그는 어디서나 이름 옆에 표시됩니다. **☆**는 그 인터페이스를 기본 인터페이스(**★**)로
-만듭니다. 기본 인터페이스는 하나뿐입니다. 이후 페이지는 그 인터페이스로 열리고
-([웹 UI 사용법](#9-using-the-web-ui)의 **인터페이스** 선택 참조), 개요에 그 대역폭이 표시됩니다.
-둘 다 **이름**의 `iface` 행에 바로 저장됩니다.
-
-플로 레코드에는 인터페이스가 두 개 기록됩니다. 패킷이 들어온 인터페이스와 나간
-인터페이스입니다. 그래서 일부 인터페이스에서만 샘플링하는 장비는 그 플로의 반대쪽
-인터페이스도 보여 줍니다. 이 **상대 인터페이스**는 목록 맨 끝에 더 작은 회색 글씨로 별도
-제목 아래 나열됩니다. 그 수치는 샘플링 인터페이스를 거친 트래픽만 담으며, 그 인터페이스의
-전체 트래픽이 아닙니다. 페이지 위쪽의 **인터페이스**에는 나오지 않습니다.
-traffic66은 어느 인터페이스가 플로를 샘플링했는지를 sFlow 데이터 소스로, 또는 NetFlow v9와
-IPFIX의 flowDirection 필드(IPFIX 61)로 압니다(ingress: 입력 인터페이스, egress: 출력
-인터페이스). 이 필드가 없으면 장비 트래픽의 90% 이상이 지나는 인터페이스를 샘플링
-인터페이스로 봅니다. 그런 인터페이스가 없으면 아무 인터페이스도 표시하지 않습니다.
-**설정**은 장비마다 샘플링 인터페이스와 템플릿에 방향 필드(61)가 있는지를 보여 줍니다.
-장비의 모든 트래픽을 보려면 모든 인터페이스에서 수신 방향을 샘플링하십시오
-([장비에서 플로 보내기](#4-send-flows-from-your-devices) 참조).
+장비가 보이지 않습니까? `sudo tcpdump -ni any udp port 6343 or udp port 2055 or udp port 4739`를 실행하십시오. 아무것도 보이지 않으면 라우팅, 방화벽 또는 장비 설정 문제이고, 패킷은 보이는데 **설정**에 아무것도 없으면 로컬 방화벽이나 `-listen` 문제입니다. 다른 머신에서 `traffic66 simulate -to 192.0.2.50`을 실행하면 가상 장비로 경로를 테스트할 수 있습니다.
-
+
-비교할 카운터를 얻으려면:
+## 6. 인터페이스와 카운터
-- sFlow 장비는 카운터 전송 주기를 설정하면(`sflow counter interval 30` 등) 알아서
- 보냅니다.
-- NetFlow와 IPFIX 장비는 **설정 → 이름**에 `snmp` 줄을 추가합니다
- ([이름](#7-names-snmp-and-your-own-networks) 참조). 그러면 traffic66이 1분마다
- 인터페이스 카운터를 읽습니다.
+플로 수치는 추정값입니다(샘플 수 × 샘플링 비율). **인터페이스 대조**는 이를 장비의 인터페이스 카운터(sFlow 카운터, 또는 **이름**의 `snmp` 줄을 통한 SNMP)와 비교하고 차이 나는 이유를 알려 줍니다: 샘플링되지 않은 인터페이스, 같은 트래픽의 중복 샘플링, 경로상 유실, 또는 알 수 없는 샘플링 비율. 각 인터페이스에는 bits/s 차트와 packets/s 차트가 있으며, 수신은 초록, 송신은 파랑, 카운터는 점선입니다.
-수치를 맞추기 위해 traffic66이 이미 하고 있는 일: 장비가 실제로 적용한 샘플링 레이트를
-사용하고, 샘플링 레이트가 확인될 때까지 NetFlow/IPFIX 레코드를 보류하고, 중간에 유실된
-익스포트 패킷을 보정하고, 긴 플로를 지속된 각 분에 나눠 배분하며, NetFlow/IPFIX 바이트 수에
-패킷당 18바이트의 Ethernet 오버헤드를 더합니다(인터페이스 카운터에는 포함되고 IP 계층 플로
-집계에는 포함되지 않기 때문이며, `-l2-overhead`로 변경 가능).
+각 행에서 **✎**는 이름과 짧은 태그(*uplink* 등)를 설정하고, **☆**는 그 인터페이스를 기본 인터페이스(★)로 만듭니다. 페이지는 이 인터페이스로 열립니다.
-그래도 남는 차이의 흔한 원인은 다음과 같으며, 모두 **인터페이스 대조**에 보고됩니다: 일부
-인터페이스가 샘플링되지 않음, 같은 트래픽을 두 인터페이스에서 샘플링함, 익스포트 패킷이
-traffic66에 도착하기 전에 유실됨, 샘플링 레이트를 아직 모름.
+일부 인터페이스만 샘플링하는 장비는 그 플로의 반대쪽 인터페이스도 보여 줍니다. 이 **상대 인터페이스**는 맨 끝에 작은 회색 글씨로 나열되며, 샘플링된 인터페이스를 지나간 트래픽만 담고 있습니다. 샘플링된 인터페이스는 sFlow 데이터 소스나 flowDirection 필드(IPFIX 61)로 알 수 있고, 그것이 없으면 장비 트래픽의 90%가 지나는 인터페이스로 판단합니다.
-
+
-## 7. 이름, SNMP, 자체 네트워크
+traffic66은 이미 장비가 적용한 비율을 사용하고, 알 수 없는 비율은 기다리고, 익스포트 유실을 보정하고, 긴 플로를 해당 분들에 나눠 담고, NetFlow/IPFIX에는 패킷당 18바이트의 이더넷 오버헤드를 더합니다(`-l2-overhead`).
-호스트나 장비에 이름을 붙이는 가장 빠른 방법: 아무 페이지에서나 그 주소를 클릭하고
-**이름 붙이기…** 메뉴를 고릅니다. 이름을 입력하고 Enter를 누르면 바로 저장되고, 이후 모든
-곳에서 주소 대신 그 이름이 표시됩니다.
+
-네트워크, 인터페이스, SNMP는 **설정 → 이름**을 씁니다. 유형(호스트, 네트워크, 장비,
-인터페이스, SNMP)을 고르고 주소와 이름을 입력한 뒤 **추가**를 클릭합니다. 아래 표에는 모든
-이름이 **수정**, **삭제**와 함께 나열됩니다. 같은 주소를 다시 추가하면 기존 항목이 바뀝니다.
-주소와 네트워크는 저장하기 전에 검사합니다.
+## 7. 이름, 국가, 위협 목록
-이름은 데이터 디렉터리에 `inventory.txt`로, 한 줄에 하나씩 저장됩니다. **텍스트로 편집(고급)** 버튼은
-이 파일을 보여 주며, 파일을 직접 편집해도 됩니다(`inventory.txt.example` 참조). 모든 줄은
-선택 사항입니다.
+아무 주소나 클릭해 **이름 붙이기…**를 선택하거나, **설정 → 이름**을 사용하십시오. 이름은 데이터 디렉터리의 `inventory.txt`에 저장됩니다:
```
-# your networks: traffic between them is "internal"
-net 10.10.0.0/16 Office LAN
-net 203.0.113.0/24 Public servers country=JP
-
-# device names; "unsampled" if it exports every packet (1:1),
-# sampling=N if it samples 1:N but does not say so in its export
-device 192.0.2.1 Core router
-device 192.0.2.9 Branch firewall unsampled
-device 192.0.2.20 Edge router sampling=1000
-
-# interface names, by device address and ifIndex; speed in bits per second,
-# tag= a short tag, default = the interface the pages open on (one only)
-iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
-
-# host names shown instead of addresses
-host 10.10.3.27 Finance PC
-
-# read interface counters over SNMPv2c (IF-MIB 64-bit counters)
-snmp 192.0.2.1 public
-snmp 192.0.2.9 s3cret 10.99.0.9:161
+net 10.10.0.0/16 Office LAN # your networks
+net 203.0.113.0/24 Public servers country=JP # country: lines on the world map
+device 192.0.2.1 Core router
+device 192.0.2.9 Branch firewall unsampled # exports every packet
+device 192.0.2.20 Edge router sampling=1000 # rate it does not declare
+iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
+host 10.10.3.27 Finance PC
+snmp 192.0.2.1 public # read counters over SNMPv2c
+snmp 192.0.2.9 s3cret 10.99.0.9:161 # other management address
```
-- `net`: 사설 대역(10/8, 172.16/12, 192.168/16, 100.64/10)은 항상 자체 네트워크로
- 취급됩니다. 공인 대역도 추가하면 그 대역을 오가는 트래픽도 자체 트래픽으로 집계됩니다.
- 이름은 세그먼트로 묶은 **Top 66**과 세그먼트별 트래픽 경로에 표시됩니다. `country=JP`(두
- 글자 국가 코드)는 그 네트워크가 있는 국가를 나타내며, 세계 지도는 거기서 통신 상대 국가로
- 선을 그립니다.
-- `snmp [[:port]]`: device는 플로를 보내는
- 주소입니다. 장비가 다른 주소로 SNMP에 응답한다면 관리 주소를 추가합니다. SNMP로 읽은
- 인터페이스 설명은 `iface`로 이름을 붙이지 않은 경우 인터페이스 이름으로 쓰입니다. 장비의
- SNMP 접근 목록에서 traffic66 서버를 허용하십시오.
-- 변경 사항은 **저장**을 클릭하면 적용되며, 재시작은 필요 없습니다.
-
-
-
-## 8. 국가, 네트워크, 위협 목록
-
-국가와 네트워크(AS)는 처음부터 표시됩니다. traffic66에는 DB-IP의 무료 데이터베이스 **IP to Country Lite**와 **IP to ASN Lite**가 내장되어 있습니다(라이선스 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), "IP Geolocation by DB-IP", [db-ip.com](https://db-ip.com)). 국가와 네트워크를 보여 주는 페이지에는 데이터 출처가 표시됩니다.
+사설 주소 대역은 항상 자체 네트워크로 취급합니다. 변경은 **저장**하면 적용되며 재시작이 필요 없습니다.
-내장 데이터는 사용 중인 릴리스 시점의 것입니다. DB-IP는 매월 새 버전을 냅니다. **설정 → 국가 및 네트워크 데이터베이스 → DB-IP Lite 지금 업데이트**를 누르면 db-ip.com에서 최신판을 내려받습니다(traffic66이 실행되는 서버가 인터넷에 연결되어 있어야 하며, 실패하면 화면에 알려 줍니다).
-
-다른 무료 데이터베이스도 쓸 수 있습니다. 내려받은 뒤 같은 페이지의 **데이터베이스 파일 업로드…**로 올리면 됩니다. 파일은 검사 후 데이터 디렉터리에 저장되고 새 트래픽에 바로 적용됩니다. 재시작은 필요 없습니다. 이미 저장된 트래픽은 저장할 때의 국가를 유지합니다.
-
-| 데이터베이스 | 내용 | 라이선스 | 받는 곳 |
-|---|---|---|---|
-| DB-IP Lite(내장) | 국가, 네트워크 | CC BY 4.0, 가입 불필요 | [db-ip.com/db/lite.php](https://db-ip.com/db/lite.php) |
-| MaxMind GeoLite2 Country 및 ASN, `.mmdb` | 국가, 네트워크 | GeoLite2 EULA, 무료 계정 필요 | [maxmind.com](https://www.maxmind.com/en/geolite2/signup) |
-| IPinfo Lite, `ipinfo_lite.mmdb` | 국가와 네트워크를 한 파일에 | CC BY-SA 4.0, 무료 계정 필요 | [ipinfo.io/lite](https://ipinfo.io/lite) |
-| IPtoASN, `ip2asn-combined.tsv.gz` | 네트워크와 그 국가 | PDDL 1.0, 가입 불필요 | [iptoasn.com](https://iptoasn.com) |
-
-직접 올린 파일을 먼저 쓰고, 거기에 없는 주소는 내장 DB-IP Lite가 답합니다. 파일 옆의 **삭제**를 누르면 나머지 구성으로 돌아갑니다. 페이지에는 사용 중인 데이터베이스와 각각의 날짜가 나옵니다.
-
-웹 UI 없이 하려면 파일을 `country.mmdb`, `asn.mmdb`, `both.mmdb`(IPinfo Lite처럼 국가와 네트워크가 한 파일인 경우) 또는 `asn.tsv.gz`라는 이름으로 데이터 디렉터리에 복사하고 traffic66을 재시작합니다.
-
-**지역 및 네트워크**는 다른 국가와 주고받은 트래픽을 세계 지도로 보여 줍니다. 색이 진할수록 트래픽이 많습니다. 국가에 마우스를 올리면 트래픽 양이, 클릭하면 필터나 플로 레코드를 볼 수 있습니다. 자체 네트워크에 국가가 지정되어 있으면(`net` 줄의 `country=`, [이름](#7-names-snmp-and-your-own-networks) 참조) 그 국가에서 트래픽을 주고받는 국가로 선이 그려지며, 트래픽이 많을수록 굵어집니다. 국경선은 [Natural Earth](https://www.naturalearthdata.com)(퍼블릭 도메인)의 것입니다.
+국가와 네트워크(AS)는 DB-IP의 무료 Lite 데이터베이스([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), "IP Geolocation by DB-IP", [db-ip.com](https://db-ip.com))로 바로 동작합니다. **설정**에서 이를 업데이트하거나, 대신 MaxMind GeoLite2, IPinfo Lite, IPtoASN 파일을 쓸 수 있습니다. 지도 윤곽: [Natural Earth](https://www.naturalearthdata.com).

-위협 목록은 한 줄에 주소나 네트워크 하나씩 적은 일반 텍스트 파일이며(`#` 또는 `;` 뒤는
-무시됨), `/threats/.txt`로 저장합니다. 예:
-
-```
-mkdir -p /threats
-curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamhaus-drop.txt
-```
-
-목록을 추가하거나 변경한 뒤에는 traffic66을 재시작합니다. 일치 항목은 **위협 정보**에 목록
-이름별로 나타납니다.
+위협 목록은 한 줄에 주소나 네트워크 하나를 적은 텍스트 파일로, `/threats/.txt`에 둡니다(예: Spamhaus DROP). 변경한 뒤에는 재시작하십시오. 일치 항목은 **위협 정보**에 나타납니다.

-
-
-## 9. 웹 UI 사용법
+
-직접 입력할 일은 거의 없습니다. 모든 페이지의 모든 값(주소, 포트, 애플리케이션, 국가, 장비)을
-클릭할 수 있습니다:
+## 8. 웹 UI 사용법
-- **이것만 보기** / **이것 제외**는 필터를 추가합니다. 필터는 상단 바 아래에 표시되며, 제거할
- 때까지 모든 페이지에 적용됩니다.
-- **플로 레코드 보기**는 해당하는 개별 플로를 엽니다.
-- **상세 보기**(호스트, 장비, 서비스)는 그 호스트나 서비스 하나에 대한 페이지를 엽니다.
- 애플리케이션별 트래픽 추이, 통신 상대, 서비스 또는 클라이언트, 국가, 최근 플로를 보여
- 줍니다. 그곳의 모든 값도 다시 클릭할 수 있어 계속 파고들 수 있으며, 브라우저의 뒤로
- 버튼으로 돌아옵니다.
-- **이름 붙이기…**(호스트와 장비)는 주소에 이름을 붙이며, 이후 모든 곳에 그 이름이
- 표시됩니다.
-- **온라인에서 조회**는 주소나 AS를 공개 조회 사이트에서 엽니다.
-- **복사**는 값을 복사합니다.
+모든 페이지의 모든 값을 클릭할 수 있습니다: **이것만 보기** / **이것 제외**(필터는 모든 페이지에 적용), **플로 레코드 보기**, **상세 보기**(호스트나 서비스 하나에 대한 페이지), **이름 붙이기…**, **온라인에서 조회**, **복사**.
-페이지:
-
-| 페이지 | 알 수 있는 것 |
+| 페이지 | 보여 주는 것 |
|---|---|
-| 개요 | 선택한 인터페이스(선택하지 않았으면 기본 인터페이스, 그것도 없으면 가장 바쁜 인터페이스)의 대역폭(bits/s, 수신과 송신은 인터페이스 기준), 현재 트래픽 양(애플리케이션별. **합계**, 또는 자체 네트워크의 **인바운드**나 **아웃바운드** 트래픽만)과, 그때의 데이터가 있으면 어제 같은 시각(하루 이하 범위), 지난주(일주일 이하) 또는 그 이전 며칠(더 긴 범위) 대비 변화, 미처리 탐지, 방향과 프로토콜, 상위 클라이언트와 서비스 |
-| Top 66 | 처음에는 **표**가 열립니다: 상위 66개를 담은 하나의 표로, 기본은 대화(클라이언트, 서버, 서비스, 국가). 모든 열 제목으로 정렬할 수 있고, 숫자 열(트래픽, 패킷, 평균 패킷 크기, 플로)은 기간 내 전체 트래픽에서 상위 66개를 다시 뽑으므로 평균 패킷 크기가 작은 순으로 스캔과 플러드를 찾을 수 있습니다. **그룹 기준**에서 애플리케이션, 네트워크, 세그먼트, 장비, 캡슐화, VLAN으로 바꿀 수 있습니다. **주요 통신 상대**는 상위 30개 클라이언트와 서버를 트래픽, 패킷, 플로 레코드와 함께 나란히 보여 주며, 그 아래에 전체 트래픽 행이 있습니다 |
-| 트래픽 상세 | 링 차트 두 개. **서버와 클라이언트**: 안쪽 링은 트래픽이 가장 많은 서버 8개, 바깥쪽 링은 각 서버의 클라이언트입니다. **클라이언트를 안쪽에**는 이를 뒤집습니다(안쪽에 클라이언트, 바깥쪽에 각 클라이언트가 쓰는 서버). 한쪽이 다른 쪽보다 더 많은 것을 설명할 때가 많기 때문입니다. **서비스**: 트래픽이 가장 많은 서비스로 된 링 하나. 조각에 마우스를 올리면 트래픽 양이 보이고, 다른 값처럼 클릭할 수 있습니다 |
-| 트래픽 경로 | 어느 호스트가 어느 국가로 어느 애플리케이션을 쓰는지: 트래픽이 가장 많은 호스트 8개, 나머지는 기타로 묶음. **클라이언트 → 서버**는 클라이언트 → 서비스 → 서버를 보여 주고, **세그먼트별**은 호스트 대신 세그먼트를 보여 줍니다. 긴 이름은 22자로 줄이며, 마우스를 올리면 전체 이름이 보입니다 |
-| 탐지 | 살펴봐야 할 것: 스캔, 비밀번호 대입, 내부 확산, 비정상 업로드, 플러드, 위협 목록 트래픽([자세히](#findings)) |
-| 위협 정보 | 위협 목록에 있는 주소와 통신한 호스트와 그 전송량 |
-| 지역 및 네트워크 | 국가별 트래픽 세계 지도(자체 네트워크에서 뻗는 선 포함), 트래픽이 오간 네트워크(AS)의 시간에 따른 변화(bits/s와 packets/s), 국가별, 네트워크별 트래픽 |
-| 설정 | 장비, 샘플링, 각 장비의 샘플링 인터페이스와 flowDirection 전송 여부, 유실, 수집기, SNMP, 국가 및 네트워크 데이터베이스, 로고, **이름** |
-| 인터페이스 대조 | 모든 인터페이스의 시간에 따른 트래픽(bits/s와 그 아래 packets/s, 수신(초록)과 송신(파랑), 장비 카운터는 점선), 그리고 플로 수치가 카운터와 얼마나 차이 나는지, 차이가 큰 순, 원인 포함, 각 인터페이스의 이름, 태그, 기본 인터페이스 지정 |
-| 플로 레코드 | 플로 레코드가 얼마나, 언제 있었는지(간격마다 막대 하나), 그리고 레코드 자체, 최신순, 페이지 단위, 표시할 열 선택 가능. 처음에는 최근 15분을 5초마다 갱신해 표시하며, 다른 페이지의 값에서 열면(**플로 레코드 보기**) 그 페이지의 시간 범위를 유지하고, **실시간으로 돌아가기**로 돌아옴 |
-| 데이터 정리 | 120, 90, 60, 30, 7일보다 오래된 데이터 또는 모든 데이터를 삭제하며, 각각 얼마나 공간이 확보되는지 표시([자세히](#13-data-backup-upgrade-uninstall)) |
-| 오프라인 pcap 분석 | pcap·pcapng 캡처를 실시간 데이터와 따로 분석 ([자세히](#오프라인-pcap-분석)) |
-
-사이드 메뉴는 페이지를 네 그룹으로 나눠 보여 줍니다: 트래픽(개요, Top 66, 트래픽 상세,
-트래픽 경로, 인터페이스 대조, 플로 레코드), 보안(탐지, 위협 정보, 지역 및 네트워크), 설정과
-오프라인 pcap 분석, 그리고 맨 아래의 데이터 정리. 로고 아래에는 버전과 서버의
-날짜와 시간이 표시됩니다.
-
-트래픽 페이지(개요, Top 66, 트래픽 상세, 트래픽 경로, 지역 및 네트워크, 플로 레코드, 값의 상세
-페이지) 위쪽에는 **인터페이스**가 있습니다. **모든 인터페이스** 또는 인터페이스 하나를 고르면
-이 페이지들은 그 인터페이스를 지나는(수신 또는 송신) 트래픽만 보여 줍니다. 샘플링 인터페이스가 장비별로 묶여
-나열되며, 처음에는 기본 인터페이스(★, **인터페이스 대조**에서 설정)로 시작하고, 선택은 링크에도 포함됩니다. 탐지,
-위협 정보, 인터페이스 대조, 설정은 항상 모든 트래픽을 대상으로 합니다. 인터페이스 하나를
-7일이나 30일로 볼 때는 시간별·일별 요약 대신 플로 레코드를 읽으므로 시간이 더 걸리고,
-플로 레코드를 보관하는 기간(기본 30일)까지만 거슬러 올라갈 수 있습니다.
-
-페이지 위쪽에는 시간 범위(15분~30일, 또는 **직접 지정…** 메뉴로 임의의 시작과 끝, 30일보다
-이전도 가능), 30초마다 자동 새로 고침, 그리고 **링크 복사**가 있습니다. **링크 복사**는 현재
-보고 있는 화면(페이지, 시간 범위, 필터) 그대로의 링크를 복사하므로 동료에게 보낼 때
-편리합니다. **Top 66**과 **트래픽 상세**에서는 **장비**, **클라이언트**, **서버**, **서비스**에 시간 범위에서 트래픽이 가장 많은 값이 나열됩니다. 값을 고르거나 입력하면
-필터링되고, 그 필터는 상자를 비울 때까지 모든 페이지에 적용됩니다. 언어는 브라우저 설정을
-따르며, 메뉴 맨 아래 **로그아웃** 위에서 바꿀 수 있습니다. 설정, 플로 레코드(실시간 표시 중),
-데이터 정리, 오프라인 pcap 분석에는 시간 범위가 없습니다.
-
-언어 옆에는 iOS의 시스템 색상을 따른 색상 테마가 있습니다. **라이트**(기본값),
-**회색**, **블랙**(벽걸이 화면용), **청록**, **주황**. 클릭할 때마다 다음 테마로 바뀌며,
-선택은 브라우저에 저장됩니다.
-
-시간에 따른 차트는 가장 큰 8개 값을 고정된 색으로, 나머지를 기타로 보여 줍니다. 범례에는 각
-값의 합계가 표시되며, 다른 값처럼 클릭할 수 있습니다. 클라이언트와 서버 차트는 기타를 그리지
-않습니다. 호스트가 수천 개이면 상위 8개가 납작해지기 때문입니다. 범례에는 그 합계가 계속
-표시됩니다.
-
-차트는 데이터가 완전한 지점에서 끝납니다. sFlow는 현재 분까지, NetFlow와 IPFIX는 장비가
-플로를 내보내는 데 걸리는 시간만큼 조금 앞에서 끝납니다(traffic66이 이 시간을 측정하며,
-최대 2분입니다).
-
-6시간보다 긴 범위는 정시에 시작하므로 페이지의 모든 수치가 정확히 같은 시간을 집계합니다.
-"24시간"은 지난 24개의 온전한 시간에 현재 시간을 더한 범위입니다. 이런 범위의 Top 66은
-시간 단위 요약에서 가져오므로 필터를 쓸 수 없으며, 페이지에도 그렇게 표시됩니다. 필터를
-쓰려면 더 짧은 범위를 선택하십시오. 대화는 항상 플로 상세를 읽으므로 플로가 많은 환경에서
-긴 범위를 고르면 시간이 걸릴 수 있습니다. 1시간이 가장 빠릅니다.
-
-사이드 메뉴에는 데이터가 쓰는 디스크 용량과 남은 용량이 표시됩니다. 남은 용량에 마우스를
-올리면 현재 속도로 상세 데이터를 보관 일수만큼 유지하는 데 필요한 용량을 볼 수 있습니다
-(하루치 데이터가 쌓이면 추정됨).
-
-로그인 화면과 메뉴 맨 위에 자체 로고를 표시하려면 **설정 → 로고 → 로고 업로드…**를
-사용하십시오. PNG, SVG, JPEG, WebP 또는 GIF, 최대 1 MB이며 272 × 92 픽셀이 가장 좋습니다
-(다른 크기는 맞춰서 조정됨). **기본 로고로 되돌리기**를 누르면 traffic66 로고로 돌아갑니다.
-
-
-
-### 탐지
-
-**탐지**는 traffic66이 플로에서 찾아낸 것을 심각한 순서로 보여 줍니다. 5분마다 최근
-10분을 검사하며, 한 시간 동안 이어지는 일은 검사할 때마다 새로 생기는 것이 아니라 하나의
-탐지 항목으로 계속 커집니다.
-
-| 탐지 | 의미 | 심각도 |
-|---|---|---|
-| 스캔 | 한 주소가 여러 주소의 같은 포트로 작은 탐색 패킷을 보냄(TCP 또는 ping) | 내부 네트워크에서 오면 높음, 인터넷에서 오면 낮음 |
-| 포트 스캔 | 한 주소가 한 호스트의 여러 포트로 작은 탐색 패킷을 보냄 | 내부에서 오면 높음, 인터넷에서 오면 낮음 |
-| 비밀번호 대입 | 로그인 서비스(SSH, RDP, SMB, 데이터베이스 등)로의 짧은 연결이 많음 | 내부에서 오면 높음, 인터넷에서 오면 낮음 |
-| 내부 확산 | 내부 네트워크 안에서, 그 서비스를 제공한 적이 없는 호스트로의 파일 공유 또는 원격 관리 세션(SMB, RDP, SSH, WinRM, VNC) | 높음 |
-| 비정상 업로드 | 내부 호스트가 이전에 데이터를 주고받은 적 없는 주소로, 받은 것보다 훨씬 많이 보냄(10분 동안 100 MB, 받은 양의 세 배) | 높음 |
-| 플러드 | 한 주소로 초당 20,000개 이상의 작은 패킷, 평소 속도의 열 배 | 중간 |
-| 위협 목록 | 위협 목록 중 하나에 있는 주소와의 트래픽 | 내 호스트가 그 주소에 연결했으면 높음, 목록의 주소가 밖에서 두드렸으면 낮음 |
-
-각 탐지 항목은 누가 누구에게 무엇을 했는지, 언제 얼마나 오래 했는지를 근거가 되는 수치와
-데이터 샘플링 방식과 함께 보여 줍니다. **상세**는 그 호스트의 페이지를 여는데, 거기에도 그
-호스트에 관한 탐지가 나옵니다. **처리 완료**는 탐지 항목을 닫으며, 같은 일이 다시 일어나면
-새 항목이 열립니다. **문제 없음**은 항목을 영구히 닫아 다시는 보고되지 않습니다. 사이드
-메뉴의 **탐지** 옆 빨간 숫자는 최근 24시간의 미처리 높음·중간 탐지 수입니다.
-
-내부 확산과 비정상 업로드는 무엇이 평소와 같은지 알아야 하므로, 하루치 이력이 쌓인 뒤부터
-보고됩니다. 처음 시작할 때 traffic66은 이미 있는 이력에서 학습합니다.
-
-샘플링된 데이터(sFlow, 샘플링된 NetFlow)에서는 규칙이 샘플에 보이는 것을 세고 더 적은
-수를 요구하지만, 그 대신 각 샘플이 짧은 탐색 하나처럼 보여야 하므로 바쁜 정상 호스트는
-걸리지 않습니다. 샘플링이 가린 것은 찾을 수 없습니다. 1:4096 샘플링 뒤에서는 호스트 수십
-대를 스캔해도 패킷이 너무 적어 보이지 않습니다. 데모의 공격은 1:4096으로 샘플링하는
-스위치를 거치지만 모두 탐지되며, 데모의 정상 트래픽은 하루치를 돌려도 웹사이트를 두드리는
-인터넷 스캐너 말고는 탐지를 만들지 않습니다.
-
-
+| 개요 | 선택한 인터페이스의 대역폭, 애플리케이션별 트래픽(합계, 인바운드, 아웃바운드)과 어제 또는 지난주와의 비교, 미처리 탐지, 상위 클라이언트와 서비스 |
+| Top 66 | 상위 66개 대화(어느 열로든 정렬), 또는 애플리케이션, 네트워크, 세그먼트, 장비, 캡슐화, VLAN별 그룹, 상위 30개 통신 상대 |
+| 트래픽 상세 | 링 차트: 서버와 그 클라이언트(또는 그 반대), 서비스 |
+| 트래픽 경로 | 호스트 → 애플리케이션 → 국가, 또는 클라이언트 → 서비스 → 서버, 또는 네트워크별 |
+| 인터페이스 대조 | 모든 인터페이스의 시간에 따른 트래픽과 카운터 비교, 이름, 태그, 기본 인터페이스 |
+| 플로 레코드 | 개별 플로. 5초마다 실시간으로, 또는 임의의 시간 범위 |
+| 탐지, 위협 정보 | 살펴봐야 할 것([아래](#findings)), 목록에 있는 주소와의 트래픽 |
+| 지역 및 네트워크 | 국가별 세계 지도, 시간에 따른 네트워크(AS) |
+| 설정 | 장비, 샘플링, 유실, SNMP, 데이터베이스, 로고, 이름 |
+| 오프라인 pcap 분석, 데이터 정리 | 캡처 파일([아래](#9-offline-pcap-terminal-ui-local-capture)), 오래된 데이터 삭제 |
+
+페이지 위쪽에는 **인터페이스**(전체, 또는 샘플링된 인터페이스 하나. 이때 트래픽 페이지는 그 인터페이스를 지나는 트래픽만 보여 줍니다), 시간 범위(15분~30일, 또는 사용자 지정), 30초마다 새로 고침, 그리고 정확히 현재 화면을 가리키는 **링크 복사**가 있습니다. 언어와 다섯 가지 색상 테마는 메뉴 맨 아래에 있습니다. 차트는 데이터가 완전한 지점에서 끝납니다. NetFlow/IPFIX에서는 장비가 익스포트하는 만큼 늦어집니다(최대 2분). 6시간이 넘는 범위는 정시에 시작합니다. 인터페이스 하나를 7일 또는 30일로 보면 플로 상세를 읽으므로 더 느리고, 상세 보관 기간까지만 거슬러 올라갑니다.

@@ -786,338 +245,84 @@ curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamh

-같은 개요 화면의 중국어 버전입니다. 모든 페이지를 13개 언어로 볼 수 있습니다:
-

-
-
-### 오프라인 pcap 분석
-
-**오프라인 pcap 분석**는 Wireshark나 tcpdump 캡처를 실시간 데이터와 섞지 않고 같은 페이지로 보여 줍니다.
-
-모든 패킷을 플로로 요약합니다: 누가 누구와, 얼마나, 언제 통신했고 무엇이 공격처럼 보이는지. 프로토콜을 해석하거나 패킷 내용을 보여 주지는 않습니다. 패킷 하나나 TCP 스트림 하나를 보려면 Wireshark를 쓰세요.
+
-명령줄에서 설정 없이 바로 엽니다:
+### 탐지
-```
-traffic66 office.pcap
-traffic66 a.pcap b.pcapng c.pcap
-```
+5분마다 최근 10분을 검사합니다. 한 시간 동안 이어지는 일은 하나의 탐지 항목으로 계속 커집니다.
-traffic66은 이 컴퓨터에서만(127.0.0.1, 빈 포트) 실행되며, 주소와 비밀번호, 한 번만 쓰는 로그인 링크를 출력하고 브라우저에서 캡처를 엽니다. 최대 3개 파일, 합계 3 GB. 파일은 그 자리에서 읽으며 바꾸지 않습니다. 아무것도 수집하거나 보내지 않고, 호스트 이름도 조회하지 않습니다(`-dns`로 켬). Ctrl+C로 멈추면 가져온 데이터를 지웁니다. 2코어 컴퓨터에서 1 GB 캡처는 약 5초(최대 크기 패킷 120만 개)에서 30초(작은 패킷 1,400만 개)면 준비됩니다.
+| 탐지 | 의미 |
+|---|---|
+| 스캔, 포트 스캔 | 여러 호스트의 같은 포트, 또는 한 호스트의 여러 포트로 보내는 작은 탐색 패킷 |
+| 비밀번호 대입 | 로그인 서비스로의 짧은 연결이 많음 |
+| 내부 확산 | 파일 공유나 원격 관리를 제공한 적이 없는 내부 호스트로의 그런 세션 |
+| 비정상 업로드 | 새 주소로 10분 동안 100 MB, 돌아온 양의 세 배 |
+| 플러드 | 한 주소로 초당 20,000개 이상의 작은 패킷, 평소 속도의 열 배 |
+| 위협 목록 | 목록에 있는 주소와의 트래픽 |
-```
-$ traffic66 office.pcap
+내부 네트워크에서 오면 높음, 인터넷에서 오면 낮음입니다. **처리 완료**는 탐지 항목을 닫고, **문제 없음**은 영구히 끕니다. 내부 확산과 비정상 업로드에는 하루치 이력이 필요합니다. 1:4096 샘플링을 거쳐도 데모의 공격은 모두 탐지되지만, 아주 작은 스캔은 샘플링 뒤에 숨을 수 있습니다.
-traffic66 0.3.1: analysing 1 capture file(s); nothing is collected or sent
- Web UI http://127.0.0.1:38217 (port 38217, this computer only)
- Sign in user admin, password gfhfhbuutz2e
- Open http://127.0.0.1:38217/auto?t=b9388f… (signs in once)
- Stop Ctrl+C; the imported data is deleted, your files are kept
-```
+
-실행 중인 traffic66의 웹 UI에서는:
+
-1. **캡처 파일 업로드…**: `.pcap` 또는 `.pcapng`(압축 불가). 최대 3개 파일, 각각 50 MB 이하. 파일은 플로로 바뀌어 별도 데이터베이스(`/sandbox/`)에 들어가며, 실시간 데이터와 집계, 탐지 결과에는 영향이 없습니다.
-2. **분석**: 모든 페이지(개요, Top 66, 트래픽 상세, 탐지, 플로 경로, 지도, 플로 레코드)가 캡처의 전체 기간을 보여 줍니다. 주황색 막대에 파일 이름이 나오고, **실시간 데이터로 돌아가기**로 돌아갑니다. 각 파일은 장비 하나로 나타나므로 **장비** 칸으로 파일을 하나씩 볼 수 있습니다.
-3. 탐지 규칙도 캡처에 대해 실행되어 스캔, 포트 스캔, 비밀번호 추측이 **탐지**에 나옵니다. 하루치 이력이 필요한 규칙(내부 확산, 비정상 업로드)은 캡처에 적용되지 않습니다.
-4. **삭제**는 파일과 데이터를, **모두 삭제**는 전부를 지웁니다.
+## 9. 오프라인 pcap, 터미널 UI, 로컬 캡처
-데모에는 공격이 담긴 예제 캡처가 들어 있습니다.
+**오프라인 pcap 분석**은 패킷 캡처(pcap, pcapng)를 실시간 데이터와 따로, 같은 페이지로 보여 줍니다. `traffic66 a.pcap b.pcapng`는 127.0.0.1에서 시작해 브라우저를 엽니다(최대 3개 파일, 3 GB. Ctrl+C로 가져온 데이터를 삭제). 또는 그 페이지에서 50 MB까지의 파일을 최대 3개 업로드할 수 있습니다. 다루는 것은 플로이며, 패킷 내용이 아닙니다.

-## 10. 터미널 UI
-
-```
-traffic66 tui # traffic66 on this machine
-traffic66 tui -server http://192.0.2.50:8066 -user admin -password …
-traffic66 -tui # collect and show the terminal UI in one process
-```
-
-traffic66 서버에서는 데이터 디렉터리를 읽을 수 있으면 `traffic66 tui`가 알아서 로그인합니다
-(기본 위치가 아니면 `-data` 지정). 서비스로 실행할 때처럼 traffic66이 다른 사용자로 실행 중이면
-대신 `-user`와 `-password`를 사용합니다. `-lang`으로 언어를 고릅니다(`en`, `zh`, `hi`,
-`es`, `ar`, `fr`, `bn`, `pt`, `ru`, `id`, `ur`, `ja`, `ko`).
-
-키: 1–8 페이지, ↑↓ 선택, Enter 선택한 값에 대한 동작, f 이것만 보기, x 제외, / 검색,
-t 시간 범위, c 필터 해제, w 같은 화면을 브라우저에서 열기, q 종료.
+**터미널 UI**: traffic66 서버에서 `traffic66 tui`, 또는 `traffic66 tui -server http://192.0.2.50:8066 -user admin -password …`. 키: 1–8 페이지, Enter 작업, f 이것만 보기, x 제외, t 시간 범위, w 브라우저에서 열기, q 종료. `-lang`으로 언어를 고릅니다.


-
-
-## 11. 로컬 캡처
-
-traffic66은 플로 익스포트를 받는 것 외에도, 자신이 실행 중인 머신의 네트워크 인터페이스에서
-패킷을 받아 직접 플로를 만들 수 있습니다. 무엇이 보이는지는 인터페이스에 따라 다릅니다:
-
-| 인터페이스 | traffic66에 보이는 것 |
-|---|---|
-| 스위치의 미러(SPAN) 포트에 연결한 남는 네트워크 포트 | 스위치가 미러링하는 모든 트래픽: 네트워크 전체 또는 업링크 |
-| 머신 자체의 이더넷 또는 Wi-Fi | 이 머신 자신의 트래픽만 |
-
-Wi-Fi 어댑터로는 다른 장비의 트래픽을 볼 수 없습니다. Wi-Fi 네트워크 전체를 보려면 라우터나
-액세스 포인트가 플로를 익스포트하게 하거나(섹션 4), 액세스 포인트가 연결된 스위치 포트를
-미러링하십시오.
-
-
-
-### Windows
-
-1. [Npcap](https://npcap.com)을 기본 옵션으로 설치합니다.
- "Restrict Npcap driver's access to Administrators only"를 선택했다면 traffic66을
- 관리자 권한으로 실행하십시오.
-2. 인터페이스 목록을 봅니다(PowerShell):
-
- ```
- C:\traffic66\traffic66.exe interfaces
- ```
-
- ```
- # Name Address Adapter / device
- 1 Ethernet - Intel(R) Ethernet I219-V \Device\NPF_{4B8A2C1E-…}
- 2 Wi-Fi 192.168.1.23 Intel(R) Wi-Fi 6 AX201 \Device\NPF_{9F00AA11-…}
- 3 Loopback - Adapter for loopback traffic capture \Device\NPF_Loopback
- ```
-
- Name 열은 Windows 네트워크 설정의 연결 이름이며, 사용 중인 인터페이스에는 주소가
- 있습니다.
-3. Wi-Fi에서 이름이나 번호로 캡처합니다:
-
- ```
- C:\traffic66\traffic66.exe -capture Wi-Fi
- C:\traffic66\traffic66.exe -capture 2
- ```
-
- 공백이 들어간 이름은 따옴표로 감쌉니다: `-capture "Ethernet 2"`. 여러 인터페이스에서
- 캡처하려면 `-capture`를 반복합니다. 플로 수집기 없이 캡처만 하려면 `-listen=`을
- 추가합니다. 섹션 2의 시작 작업이라면 `-Argument`에 옵션을 추가합니다:
- `-Argument '-data C:\traffic66\traffic66-data -capture Wi-Fi'`.
-
-
-
-### Linux
+**로컬 캡처**는 로컬 인터페이스에서 플로를 만듭니다. 스위치의 미러 포트에 연결한 포트가 가장 좋습니다. `traffic66 interfaces`로 목록을 보고, `-capture eth1`(또는 Windows의 이름이나 번호)로 캡처합니다. Linux는 root 또는 `setcap cap_net_raw,cap_net_admin+ep`, macOS는 root, Windows는 [Npcap](https://npcap.com)이 필요합니다. 캡처한 플로는 장비 `127.0.0.1`에서 온 것으로 표시됩니다.
-```
-traffic66 interfaces
-sudo setcap cap_net_raw,cap_net_admin+ep /opt/traffic66/traffic66
-traffic66 -capture eth1
-```
-
-캡처에는 root 권한 또는 `CAP_NET_RAW`, `CAP_NET_ADMIN` 케이퍼빌리티가 필요합니다. 위의
-`setcap` 줄이나 섹션 2 systemd 유닛의 `AmbientCapabilities` 줄을 쓰면 됩니다. Wi-Fi
-인터페이스 이름은 보통 `wlan0` 또는 `wlp…`입니다.
-
-
-
-### macOS
-
-```
-traffic66 interfaces
-sudo traffic66 -capture en0
-```
-
-캡처에는 root 권한이 필요하며, 따로 설치할 것은 없습니다. MacBook에서는 `en0`이 Wi-Fi입니다.
-
-
-
-### 동작 확인
-
-**설정**에 캡처 중인 인터페이스마다 캡처 방식과 지금까지 본 패킷 수가 표시됩니다. 플로는
-모든 페이지에서 다른 장비의 플로와 마찬가지로 장비 `127.0.0.1`(이 머신)에서 온 것으로
-나타납니다. 같은 패킷이 두 번 보이면(예: 미러 포트 두 곳에서) 두 번 집계됩니다.
-
-
+
-## 12. 옵션
+## 10. 옵션과 데이터
-`traffic66 -h`와 `traffic66 -h`로 전체 목록을 볼 수 있습니다.
-
-명령:
-
-| 명령 | |
-|---|---|
-| `traffic66` | 플로를 수집하고 웹 UI 제공 |
-| `traffic66 demo` | 위와 같으나 시뮬레이션 네트워크 사용 |
-| `traffic66 tui` | 실행 중인 traffic66용 터미널 UI |
-| `traffic66 passwd` | 사용자 추가, 변경, 목록 확인, 삭제([사용자와 비밀번호](#3-users-and-passwords) 참조) |
-| `traffic66 simulate -to HOST` | 수집기로 시뮬레이션 익스포트 전송 |
-| `traffic66 interfaces` | 로컬 캡처용 인터페이스 목록 |
-| `traffic66 version` | 버전 출력 |
-
-`traffic66`과 `traffic66 demo`의 옵션:
+`traffic66 -h`가 전체를 보여 줍니다. 자주 쓰는 옵션:
| 옵션 | 기본값 | |
|---|---|---|
-| `-addr` | `:8066` | 웹 UI 주소. `127.0.0.1:8066`이면 이 서버에서만 접근 |
| `-data` | 프로그램 옆의 `traffic66-data` | 데이터 디렉터리 |
-| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | UDP 수집기를 `name=address` 형식으로 쉼표 구분. 비우면 비활성화 |
-| `-user` | `admin` | 첫 시작 때 만들어지는 사용자의 이름이자 `-password`가 적용되는 사용자 |
-| `-password` | 설정 안 함 | 이번 실행에서는 `password` 파일을 무시하고 `-user`와 이 비밀번호만 허용(`TRAFFIC66_PASSWORD`도 가능) |
+| `-addr` | `:8066` | 웹 UI. `127.0.0.1:8066`이면 이 머신에서만 |
+| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | UDP 수집기. 비우면 비활성화 |
| `-retention-days` | `30` | 플로 상세 보관 일수. 요약은 400일 보관 |
-| `-memory` | `0.10` | 데이터베이스 캐시에 쓸 물리 메모리 비율. 프로그램의 나머지 부분에도 같은 크기의 소프트 한도 적용(각각 최소 256 MB) |
-| `-l2-overhead` | `18` | NetFlow/IPFIX 바이트 수에 패킷당 더하는 바이트 |
-| `-sampling-wait` | `5m` | 레코드가 샘플링 레이트를 기다리는 시간 |
-| `-capture` | | 로컬 인터페이스에서 캡처(반복 지정 가능) |
-| `-inventory` | `/inventory.txt` | 이름 파일 |
-| `-asn` | `/asn.tsv.gz` | IP-ASN 매핑 테이블(`.mmdb` 파일은 업로드하거나 `/country.mmdb`와 `/asn.mmdb`, `/both.mmdb`에 둠) |
-| `-threat` | `/threats/*.txt` | 추가 위협 목록, `name=path` 형식(반복 지정 가능) |
-| `-dns-upstream` | 시스템 리졸버 | 호스트 이름 표시에 쓰는 DNS 서버 |
-| `-dns-rate` | `20` | 초당 최대 역방향 조회 횟수 |
-| `-dns-cache` | `2m` | 호스트 이름 캐시 시간 |
+| `-memory` | `0.10` | 데이터베이스 캐시에 쓰는 메모리 비율 |
+| `-sampling-wait` | `5m` | 레코드가 샘플링 비율을 기다리는 시간 |
+| `-capture` | | 로컬 인터페이스(반복 지정 가능) |
| `-no-dns` | | 역방향 조회 안 함 |
-| `-tui` | | 터미널 UI도 함께 열기 |
-예: 수집 포트 하나 추가, 상세 1년 보관, 웹 UI는 로컬 서버에서만:
+데이터 디렉터리에는 `raw/`(상세, 시간당 파일 하나), `traffic66.duckdb`(요약과 카운터), `password`, `inventory.txt`, `license.json`, 로고와 데이터베이스가 있습니다. 백업은 traffic66을 중지하고 디렉터리를 복사하며, 업그레이드는 프로그램 파일을 교체합니다. **데이터 정리**는 7~120일보다 오래된 데이터 또는 모든 데이터를 삭제합니다.
-```
-traffic66 -data /var/lib/traffic66 -listen "sflow=:6343,netflow=:2055,ipfix=:4739,netflow=:9995" -retention-days 365 -addr 127.0.0.1:8066
-```
+
-
+### 라이선스
-## 13. 데이터, 백업, 업그레이드, 제거
+[PolyForm Noncommercial License 1.0.0](../LICENSE.md)과 [Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md)(영문이 구속력을 가짐)에 따른 소스 공개: 평가 용도와 100명 미만 조직은 무료이고, 더 큰 조직은 운영 사용 30일 뒤 등록합니다. 판매, 타인을 위한 호스팅, 경쟁 제품에는 상용 라이선스가 필요합니다. 꺼지는 기능은 전혀 없습니다. 모든 페이지 하단에 8자리 설치 번호가 표시되니 작성자에게 보내고, 돌려받은 `license.json`을 데이터 디렉터리에 넣으십시오. 연락처: .
-모든 데이터는 데이터 디렉터리에 있습니다:
+
-| | |
-|---|---|
-| `raw/` | 플로 상세, 시간당 압축 파일 하나 |
-| `traffic66.duckdb` | 요약, 인터페이스 카운터, 현재 시간대 데이터 |
-| `password` | 로그인 비밀번호(해시) |
-| `inventory.txt` | 이름(**설정 → 이름**) |
-| `license.json` | 설치 번호와 라이선스([체험과 라이선스](#trial-and-licence) 참조) |
-| `logo.png`(또는 `.svg`, `.jpg`, `.webp`, `.gif`) | 업로드한 경우 내 로고(**설정 → 로고**) |
-| `country.mmdb`, `asn.mmdb`, `both.mmdb`, `asn.tsv.gz`, `dbip-country.mmdb`, `dbip-asn.mmdb`, `threats/`, `sandbox/` | 추가한 국가 및 네트워크 데이터베이스와 위협 목록 |
-
-**데이터 보존 기간**: 플로 상세는 30일, 요약(개요와 긴 기간)은 400일입니다. 그보다 오래된 데이터는 자동으로 삭제되며 5분마다 확인합니다.
-그 밖에는 아무것도 삭제하지 않고 다른 제한도 없습니다. 상세 보존 일수는 `-retention-days`로 바꿀 수 있고
-몇 일이든 지정할 수 있습니다(예: `-retention-days 365`). 디스크 사용량도 함께 늘어납니다. 보존 일수만큼 공간이 부족하면
-사이드 메뉴의 **여유**가 빨간색으로 바뀝니다. 디스크가 가득 차면 공간을 확보할 때까지 새 플로를 저장할 수 없습니다.
-
-사이드 메뉴의 **데이터 정리**는 필요해지기 전에 데이터를 삭제합니다: 120, 90, 60, 30, 7일보다
-오래된 데이터 또는 모든 데이터. 선택지마다 삭제될 플로 레코드 수와 확보되는 디스크 공간의
-대략적인 크기를 보여 주고, 삭제 전에 확인합니다. 플로 레코드, 시간별·일별 요약, 인터페이스
-카운터, 탐지가 삭제되며, 모든 데이터를 삭제하면 탐지 규칙이 학습한 내용도 초기화됩니다.
-되돌릴 수 없습니다.
-
-- **백업**: traffic66을 중지하고 디렉터리를 복사합니다. 중지하지 않고 하려면 `raw/`,
- `password`, `inventory.txt`를 복사합니다. 이 경우 현재 시간대 데이터와 요약은 빠집니다.
-- **이전**: traffic66을 중지하고 디렉터리를 옮긴 뒤, `-data`로 새 위치를 지정해 시작합니다.
-- **업그레이드**: traffic66을 중지하고 프로그램 파일을 교체한 뒤 다시 시작합니다. 데이터는
- 그대로 유지됩니다. Linux 예:
-
- ```
- sudo systemctl stop traffic66
- sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
- sudo systemctl start traffic66
- ```
-
-- **제거**: 서비스나 시작 작업을 중지하고 삭제한 다음([설치](#2-install) 참조), 프로그램
- 폴더와 데이터 디렉터리를 삭제합니다.
-
-
-
-### 체험과 라이선스
-
-traffic66은 [PolyForm Noncommercial License 1.0.0](../LICENSE.md)과
-[Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md)에 따라 소스를 공개합니다. 둘 다
-영어 원문이 구속력을 가집니다. 요약하면:
-
-- **평가**, 테스트, 개발, 시연: 누구나 기간 제한 없이 무료.
-- 직원과 외부 계약자를 합쳐 100명 미만인 조직의 **운영 사용**(조직 업무를 위해 실제 트래픽을
- 처리하는 것): 무료.
-- **더 큰 조직**의 운영 사용: 30일 동안 무료, 그 뒤에는 작성자의 등록 라이선스가 필요합니다.
-- 계약자와 서비스 제공자는 고객 전용 배포에서 고객을 위해 운영할 수 있습니다. 필요 여부는
- 고객의 규모로 판단합니다.
-- 상용 라이선스 없이는 불가: 판매하거나 제품에 넣는 것, 호스팅 또는 멀티테넌트 서비스로
- 다른 사람에게 제공하는 것, 경쟁 제품.
-
-등록 라이선스의 요금, 범위, 기간은 사안별로 정하며 무료일 수도 있습니다. 연락처:
-.
-
-라이선스가 필요 없는 경우에도 모든 설치에서 체험 기간이 표시됩니다. 처음 시작할 때 traffic66은
-8자리 설치 번호가 담긴 `license.json`을 데이터 디렉터리에 씁니다. 모든 페이지 하단에 체험 기간이 며칠 남았는지,
-그 뒤에는 체험 기간이 끝났다는 것이 표시됩니다. 어느 경우에도 꺼지는 기능은 없으며, 모든
-기능이 계속 동작합니다.
-
-등록하려면 설치 번호(모든 페이지 하단에도 표시)를 작성자에게 보내십시오. 라이선스는 새
-`license.json`으로 돌아옵니다. 기존 파일 대신 데이터 디렉터리에 넣으십시오. 라이선스는
-traffic66이 시작할 때와 4시간마다 확인하므로 재시작할 필요가 없습니다. 그 뒤 페이지 하단에
-라이선스 대상과 남은 일수가 표시됩니다.
-
-
-
-## 14. 보안
-
-- 웹 UI는 평문 HTTP를 사용합니다. 비밀번호와 데이터가 암호화되지 않은 채 네트워크를 지납니다.
- 완전히 신뢰할 수 없는 네트워크에서는 이 서버에서만 수신하도록 하고(`-addr 127.0.0.1:8066`)
- 앞단에 TLS 리버스 프록시를 두십시오. 예를 들어 [Caddy](https://caddyserver.com)를 쓴다면:
- `caddy reverse-proxy --from traffic66.example.com --to 127.0.0.1:8066`.
- 또는 VPN이나 SSH 터널로 접속합니다:
- `ssh -L 8066:127.0.0.1:8066 user@192.0.2.50` 후
- http://127.0.0.1:8066 을 엽니다.
-- UDP 수집 포트는 자체 장비 주소에서만 허용하십시오.
-- `inventory.txt`의 SNMP 커뮤니티는 평문으로 저장됩니다. 읽기 전용 커뮤니티를 사용하십시오.
-
-
-
-## 15. 용량 산정
-
-2코어 서버에서 초당 5,000 플로로 측정한 결과: 상세 데이터는 하루 약 12 GB의 디스크와 현재
-시간대용 약 1.5 GB를 사용하고, 프로그램은 코어 하나의 6분의 1 정도를
-사용합니다. 긴 시간 범위의 개요는 요약에서 가져오며 0.2초 미만이 걸립니다. 상세 데이터 쿼리는
-시간당 약 2,200만 행을 스캔합니다. 호스트 하나의 1시간 조회는 1초 미만, 전체 대화의 1시간
-Top 66은 약 9초이며, 소요 시간은 범위에 비례해 늘고 코어가 많을수록 줄어듭니다.
-
-따라서 초당 5,000 플로로 30일을 보관하면 디스크가 약 360 GB 필요합니다. 실제 플로 속도
-(**설정**에 표시)와 `-retention-days`에 맞춰 환산하십시오.
-
-메모리: `-memory`(기본값 RAM의 10%, 최소 256 MB)는 데이터베이스 캐시를 제한하며, 프로그램의
-나머지 부분에도 같은 크기의 소프트 한도가 적용됩니다. 초당 5,000 플로에서 프로그램 자체 데이터
-(디코딩, 중복 검출, 배치)는 약 90 MB이며, 전체로는 0.6–0.8 GB를 예상하면 되므로 RAM 2 GB
-서버면 충분합니다. 10분간 연속 수집(8 GB 서버에서 최대 0.58 GB)과, 2 GB 서버의 한도로 그
-11배 속도에서 1시간 분량의 플로를 적재할 때(최대 0.74 GB) 측정했습니다.
-
-`-memory`는 예산이지 하드 한도가 아닙니다. Go 한도는 소프트 한도이고 데이터베이스도
-잠시 자기 몫을 넘을 수 있습니다. 하드 한도가 필요하면 운영체제의 기능을 쓰세요: systemd 유닛의
-`MemoryMax=`(섹션 2) 또는 컨테이너의 메모리 한도. `-memory` 몫의 약 2.5배, 최소 1 GB를
-잡으세요. 기본 몫이라면 RAM 8 GB 이하 서버에는 `MemoryMax=2G`가 적당합니다. 그러면 서버
-메모리가 바닥나는 대신 traffic66이 재시작됩니다.
-
-
-
-## 16. 문제 해결
-
-| 증상 | 원인과 해결 |
-|---|---|
-| **설정**에 장비가 없음 | 패킷이 도착하지 않음: [플로 수신 확인](#5-check-that-flows-arrive) 참조 |
-| "waiting for the sampling rate" | 장비가 아직 샘플러 옵션을 보내지 않았습니다. 대부분 몇 분 안에 다시 보냅니다. 끝내 보내지 않으면 익스포트하도록 설정하거나(Cisco는 `option sampler-table`), 정말 1:1이라면 이름에서 `unsampled`로 표시하거나, 해당 `device` 줄에 `sampling=N`으로 비율을 지정합니다. 그러면 **설정**에 장비가 보낸 템플릿이 표시되어 무엇을 선언하는지 확인할 수 있습니다 |
-| 수치가 인터페이스 카운터보다 낮음 | **인터페이스 대조** 확인: 경로상 유실, 샘플링되지 않은 인터페이스, 또는 플로가 아직 장비 캐시에 있음(액티브 타임아웃이 60초보다 김) |
-| 수치가 인터페이스 카운터보다 높음 | 같은 트래픽을 두 인터페이스 또는 두 장비에서 샘플링함 |
-| 국가나 네트워크가 표시되지 않음("알 수 없음") | 로드된 데이터베이스가 없음: **설정**에서 업로드. [국가](#8-countries-networks-and-threat-lists) 참조 |
-| 페이지에 "데이터베이스가 메모리 한도에 도달해 응답하지 못했습니다" 표시 | 기간을 줄이거나 더 큰 `-memory`로 시작. 자세한 내용은 로그 참조 |
-| 비밀번호를 잊어버림 | traffic66 서버에서 `traffic66 passwd`(traffic66을 `-data`와 함께 실행한다면 `-data` 추가) |
-| `Conflicting lock is held` | 다른 traffic66이 이미 이 데이터 디렉터리를 사용 중 |
-| `receive buffer is only … KB` | Linux가 UDP 버퍼를 제한함: `net.core.rmem_max=16777216` 설정([Linux](#linux) 참조) |
-| `cannot create the data directory` | 이 사용자에게 프로그램 폴더 쓰기 권한이 없음: `-data` 지정 |
-| macOS: "cannot be opened" 또는 "developer cannot be verified" | `xattr -dr com.apple.quarantine ` |
-| Windows: "Windows의 PC 보호" | **추가 정보** → **실행**. 프로그램이 아직 서명되지 않음 |
-| Windows 캡처: Npcap을 찾을 수 없음 | [Npcap](https://npcap.com) 설치 |
-| `address already in use` | 다른 프로그램이 포트를 사용 중: `-addr` 또는 `-listen`으로 다른 포트 지정 |
-
-
-
-## 17. 소스에서 빌드
-
-Go 1.24와 C 컴파일러(gcc 또는 clang. Windows에서는 MinGW-w64)가 필요합니다:
+## 11. 보안, 용량 산정, 문제 해결
-```
-git clone https://github.com/githubflyideas/traffic66
-cd traffic66
-scripts/build.sh 0.1.0 traffic66
-```
+웹 UI는 평문 HTTP입니다. 신뢰할 수 없는 네트워크에서는 `-addr 127.0.0.1:8066`을 쓰고 TLS 프록시(`caddy reverse-proxy --from traffic66.example.com --to 127.0.0.1:8066`)나 SSH 터널 뒤에 두십시오. UDP 포트는 자체 장비에서만 허용하십시오. SNMP 커뮤니티는 평문으로 저장되므로 읽기 전용 커뮤니티를 쓰십시오.
+
+2코어에서 초당 5,000 플로일 때: 상세 데이터 하루당 디스크 약 12 GB(30일이면 360 GB), 코어 1개의 6분의 1, 메모리 0.6–0.8 GB. 긴 범위의 개요는 0.2초 미만, 전체 대화의 1시간 Top 66은 약 9초 걸립니다.
+
+| 증상 | 해결 |
+|---|---|
+| "waiting for the sampling rate" | 샘플러 옵션을 익스포트하거나, device 줄에 `sampling=N` / `unsampled` 지정 |
+| 카운터보다 낮음 | 샘플링되지 않은 인터페이스, 유실, 또는 60초를 넘는 액티브 타임아웃 |
+| 카운터보다 높음 | 같은 트래픽을 두 인터페이스 또는 두 장비에서 샘플링함 |
+| 비밀번호를 잊어버림 | traffic66 서버에서 `traffic66 passwd` |
+| `Conflicting lock is held` | 다른 traffic66이 이 데이터 디렉터리를 사용 중 |
+| `address already in use` | `-addr` 또는 `-listen`으로 다른 포트 지정 |
+| Windows: "Windows의 PC 보호" | **추가 정보** → **실행** |
+
+소스에서 빌드: Go 1.24와 C 컴파일러를 준비한 뒤 `scripts/build.sh 0.1.0 traffic66`.
diff --git a/docs/README.pt.md b/docs/README.pt.md
index 18ce210..204d1e7 100644
--- a/docs/README.pt.md
+++ b/docs/README.pt.md
@@ -2,419 +2,158 @@
# traffic66
-Análise de fluxos sFlow, NetFlow e IPFIX em um único programa. Ele coleta
-as exportações de fluxo de switches, roteadores e firewalls, armazena tudo
-em um banco de dados embutido e mostra quem usa a banda, para onde vai o
-tráfego e se os números batem com os contadores de interface dos próprios
-equipamentos, em uma interface web e em uma interface de terminal.
-
-- Um único executável para Windows, Linux e macOS. Sem banco de dados para
- instalar, sem runtime, funciona offline.
-- sFlow v5, NetFlow v5, NetFlow v9 e IPFIX em qualquer porta UDP; captura
- local opcional a partir de uma interface de rede ou porta espelho.
-- Confere os próprios números com os contadores de interface (contadores
- sFlow ou SNMP) e explica por que diferem quando há diferença.
-- Encontra nos fluxos varreduras, tentativas de senhas, movimento lateral,
- envios incomuns, inundações e tráfego de listas de ameaças, inclusive
- através da amostragem, e os lista como detecções a tratar.
-- Listas Top 66, quem fala com quem em gráficos de anéis (servidores e
- seus clientes, serviços e seus servidores), tráfego ao longo do tempo por
- interface e rede (AS), caminhos do tráfego, países num mapa-múndi,
- ocorrências em listas de ameaças, registros de fluxo, encapsulamento
- (GRE, IPIP, VXLAN, GENEVE, MPLS).
-- `traffic66 captura.pcap` abre até 3 capturas de pacotes (3 GB no total) na interface web: fluxos, detecções, países e registros de toda a captura, sem configurar nada.
-- 13 idiomas na interface web e na interface de terminal.
-- Código-fonte disponível: gratuito para avaliação e para organizações
- com menos de 100 pessoas; organizações maiores se registram após 30 dias
- de uso em produção. Nada é desligado, nunca (veja
- [Teste e licença](#trial-and-licence)).
+Análise de fluxos sFlow, NetFlow e IPFIX em um único programa: quem usa a
+banda, para onde vai o tráfego e se os números batem com os contadores de
+interface dos próprios equipamentos, em uma interface web e em uma
+interface de terminal.
+
+- Um único executável para Windows, Linux e macOS; sem banco de dados para instalar, funciona offline.
+- sFlow v5, NetFlow v5/v9 e IPFIX em qualquer porta UDP, ou captura local a partir de uma interface.
+- Confere os próprios números com os contadores de interface (sFlow ou SNMP) e explica por que diferem.
+- Encontra varreduras, tentativas de senhas, movimento lateral, envios incomuns, inundações e tráfego de listas de ameaças, inclusive através da amostragem.
+- `traffic66 capture.pcap` analisa capturas de pacotes sem configurar nada.
+- 13 idiomas. Gratuito para avaliação e para organizações com menos de 100 pessoas ([licença](#licence)).

-Todas as capturas de tela vêm do `traffic66 demo`, uma rede corporativa simulada que você mesmo pode executar (veja [Testar a demo](#1-try-the-demo)).
+Todas as capturas de tela vêm do `traffic66 demo`, uma rede corporativa simulada.
## Conteúdo
1. [Testar a demo](#1-try-the-demo)
-2. [Instalação](#2-install) — [Linux](#linux) · [Windows](#windows) · [macOS](#macos)
+2. [Instalação](#2-install)
3. [Usuários e senhas](#3-users-and-passwords)
4. [Enviar fluxos dos seus equipamentos](#4-send-flows-from-your-devices)
5. [Verificar se os fluxos estão chegando](#5-check-that-flows-arrive)
-6. [Fazer os números baterem com os contadores de interface](#6-make-the-numbers-match-the-interface-counters)
-7. [Nomes, SNMP e suas próprias redes](#7-names-snmp-and-your-own-networks)
-8. [Países, redes e listas de ameaças](#8-countries-networks-and-threat-lists)
-9. [Usando a interface web](#9-using-the-web-ui)
-10. [Interface de terminal](#10-terminal-ui)
-11. [Captura local](#11-local-capture)
-12. [Opções](#12-options)
-13. [Dados, backup, atualização, desinstalação](#13-data-backup-upgrade-uninstall)
-14. [Segurança](#14-security)
-15. [Dimensionamento](#15-sizing)
-16. [Solução de problemas](#16-troubleshooting)
-17. [Compilar a partir do código-fonte](#17-build-from-source)
+6. [Interfaces e contadores](#6-interfaces-and-counters)
+7. [Nomes, países e listas de ameaças](#7-names-countries-and-threat-lists)
+8. [Usando a interface web](#8-using-the-web-ui)
+9. [Pcap offline, interface de terminal, captura local](#9-offline-pcap-terminal-ui-local-capture)
+10. [Opções e dados](#10-options-and-data)
+11. [Segurança, dimensionamento, solução de problemas](#11-security-sizing-troubleshooting)
## 1. Testar a demo
Baixe o arquivo do seu sistema na
-[página de releases](https://github.com/githubflyideas/traffic66/releases):
-
-| Sistema | Arquivo |
-|---|---|
-| Windows 10/11, Server 2016 ou posterior (x64) | `traffic66-windows-amd64.zip` |
-| Linux x86-64: qualquer distribuição com kernel 3.2 ou posterior, incluindo CentOS 7 e Alpine | `traffic66-linux-amd64.tar.gz` |
-| Linux ARM64: as mesmas distribuições | `traffic66-linux-arm64.tar.gz` |
-| macOS 11 ou posterior, Apple silicon | `traffic66-darwin-arm64.tar.gz` |
-| macOS 11 ou posterior, Intel | `traffic66-darwin-amd64.tar.gz` |
-
-Linux:
-
-```
-tar xzf traffic66-linux-amd64.tar.gz
-cd traffic66-linux-amd64
-./traffic66 demo -password try66
-```
-
-macOS (a segunda linha permite que o macOS execute um programa baixado da
-internet que não veio da App Store):
+[página de releases](https://github.com/githubflyideas/traffic66/releases)
+(Windows x64, Linux x86-64/ARM64 com kernel 3.2+, macOS 11+), descompacte e execute:
```
-tar xzf traffic66-darwin-arm64.tar.gz
-xattr -dr com.apple.quarantine traffic66-darwin-arm64
-cd traffic66-darwin-arm64
-./traffic66 demo -password try66
+./traffic66 demo -password try66 # Linux, macOS
+.\traffic66.exe demo -password try66 # Windows
```
-Windows (PowerShell):
-
-```
-Expand-Archive traffic66-windows-amd64.zip .
-cd traffic66-windows-amd64
-.\traffic66.exe demo -password try66
-```
-
-Abra http://127.0.0.1:8066 e entre como `admin` / `try66`. A demo monta a
-rede de uma pequena empresa com um dia de histórico e tráfego ao vivo de
-quatro equipamentos simulados, incluindo um ataque: **Detecções** mostra
-cada etapa dele (uma varredura, uma varredura de portas, tentativas de
-senhas, movimento lateral, um envio para um servidor de controle) e uma
-inundação contra o site público. Clique em **Detalhes** em uma detecção, ou
-comece em **Visão geral**, clique em um host em **Principais clientes**,
-escolha **Ver detalhes** e vá clicando a partir daí. Pare com Ctrl+C. Os dados da demo ficam em `traffic66-demo`, ao lado
-do programa; apague essa pasta para recomeçar a demo do zero.
-
-A demo usa as mesmas portas de uma instalação real (8066 e UDP 6343, 2055,
-4739). Para rodá-la ao lado de uma instalação real, use outras portas:
-`traffic66 demo -password try66 -addr :8067 -listen ""`.
-
-No Windows, você também pode simplesmente dar um clique duplo em
-`traffic66.exe`. Isso inicia o traffic66 de verdade (não a demo) e abre a
-interface web no seu navegador; a senha do primeiro início aparece na janela
-preta, e fechar a janela encerra o traffic66. Se o Windows exibir
-"O Windows protegeu o computador", clique em **Mais informações** →
-**Executar assim mesmo**.
+No macOS, execute antes `xattr -dr com.apple.quarantine `. Abra
+http://127.0.0.1:8066 como `admin` / `try66`: um dia de histórico e tráfego
+ao vivo de quatro equipamentos simulados, incluindo um ataque mostrado etapa
+por etapa em **Detecções**. Ctrl+C para; apague `traffic66-demo` para
+recomeçar do zero. Para rodá-la ao lado de uma instalação real:
+`-addr :8067 -listen ""`.
## 2. Instalação
-O traffic66 é um único arquivo. Instalar significa colocá-lo em algum
-lugar, escolher um diretório de dados, definir uma senha, liberar o
-firewall e configurá-lo para iniciar no boot. Os exemplos usam `192.0.2.50`
-para a máquina do traffic66 e `192.0.2.1` para um roteador; troque pelos
-seus endereços.
-
-Portas:
-
-| Porta | Uso |
-|---|---|
-| UDP 6343 | sFlow (padrão) |
-| UDP 2055 | NetFlow (padrão) |
-| UDP 4739 | IPFIX (padrão) |
-| TCP 8066 | interface web e API |
-
-Toda porta UDP aceita todos os protocolos, então um equipamento pode mandar
-NetFlow para a 6343 se for mais prático. Altere ou adicione portas com
-`-listen`.
+O traffic66 é um único arquivo. Portas: UDP 6343 (sFlow), 2055 (NetFlow),
+4739 (IPFIX), TCP 8066 (interface web); toda porta UDP aceita todos os
+protocolos.
-
-
-### Linux
+**Linux** (systemd):
```
-sudo mkdir -p /opt/traffic66
-sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
+sudo mkdir -p /opt/traffic66 && sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
sudo useradd --system --no-create-home --shell /usr/sbin/nologin traffic66
sudo install -d -o traffic66 -g traffic66 /var/lib/traffic66
sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66
```
-O último comando pede a senha do usuário `admin`.
-
-Crie `/etc/systemd/system/traffic66.service`:
+`/etc/systemd/system/traffic66.service`:
```
[Unit]
Description=traffic66 flow analytics
After=network-online.target
-Wants=network-online.target
[Service]
User=traffic66
ExecStart=/opt/traffic66/traffic66 -data /var/lib/traffic66
Restart=on-failure
-# hard memory limit for the whole process (see Sizing)
MemoryMax=2G
-# only needed for local capture (-capture):
-#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
+#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN # only for local capture
[Install]
WantedBy=multi-user.target
```
-Inicie o serviço e permita buffers UDP maiores para não perder rajadas:
-
```
-echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf
-sudo sysctl --system
-sudo systemctl daemon-reload
-sudo systemctl enable --now traffic66
-sudo systemctl status traffic66
-journalctl -u traffic66 -f
+echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf && sudo sysctl --system
+sudo systemctl daemon-reload && sudo systemctl enable --now traffic66
+sudo firewall-cmd --permanent --add-port={6343,2055,4739}/udp --add-port=8066/tcp && sudo firewall-cmd --reload
```
-Firewall, com firewalld (RHEL, Rocky, Alma, Fedora):
+**Windows** (PowerShell como administrador): descompacte em `C:\traffic66`,
+execute `C:\traffic66\traffic66.exe passwd`, libere as portas e configure-o
+para iniciar no boot:
```
-sudo firewall-cmd --permanent --add-port=6343/udp --add-port=2055/udp --add-port=4739/udp --add-port=8066/tcp
-sudo firewall-cmd --reload
-```
-
-ou com ufw (Ubuntu, Debian):
-
-```
-sudo ufw allow 6343,2055,4739/udp
-sudo ufw allow 8066/tcp
-```
-
-
-
-### Windows
-
-Descompacte em `C:\traffic66` e defina a senha (PowerShell como
-administrador):
-
-```
-Expand-Archive traffic66-windows-amd64.zip C:\
-Rename-Item C:\traffic66-windows-amd64 C:\traffic66
-C:\traffic66\traffic66.exe passwd
-```
-
-Os dados ficam em `C:\traffic66\traffic66-data`, ao lado do programa.
-
-Libere o firewall:
-
-```
-New-NetFirewallRule -DisplayName "traffic66 flows" -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
-New-NetFirewallRule -DisplayName "traffic66 web" -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
-```
-
-Para testar em primeiro plano, execute `C:\traffic66\traffic66.exe` e pare
-com Ctrl+C. Para rodar em segundo plano desde o boot, sem ninguém logado,
-registre-o como tarefa de inicialização:
-
-```
-$action = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
-$trigger = New-ScheduledTaskTrigger -AtStartup
-$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
-Register-ScheduledTask -TaskName traffic66 -Action $action -Trigger $trigger -Settings $settings -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
+New-NetFirewallRule -DisplayName traffic66 -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
+New-NetFirewallRule -DisplayName traffic66-web -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
+$a = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
+$s = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1)
+Register-ScheduledTask -TaskName traffic66 -Action $a -Trigger (New-ScheduledTaskTrigger -AtStartup) -Settings $s -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
Start-ScheduledTask -TaskName traffic66
```
-`-ExecutionTimeLimit ([TimeSpan]::Zero)` é importante: sem ele, o Windows
-encerra a tarefa depois de três dias. Pare-a com `Stop-ScheduledTask -TaskName
-traffic66` e remova-a com `Unregister-ScheduledTask -TaskName traffic66`.
-
-
+Um clique duplo em `traffic66.exe` também funciona: ele abre a interface
+web e mostra a primeira senha na janela.
-### macOS
-
-```
-sudo mkdir -p /usr/local/traffic66
-sudo tar xzf traffic66-darwin-arm64.tar.gz -C /usr/local/traffic66 --strip-components=1
-sudo xattr -dr com.apple.quarantine /usr/local/traffic66
-sudo /usr/local/traffic66/traffic66 passwd -data "/Library/Application Support/traffic66"
-```
-
-Crie `/Library/LaunchDaemons/traffic66.plist`:
-
-```
-
-
-
-
- Labeltraffic66
- ProgramArguments
-
- /usr/local/traffic66/traffic66
- -data
- /Library/Application Support/traffic66
-
- RunAtLoad
- KeepAlive
- StandardErrorPath/Library/Logs/traffic66.log
-
-
-```
-
-Para iniciar e parar de novo:
-
-```
-sudo launchctl bootstrap system /Library/LaunchDaemons/traffic66.plist
-tail -f /Library/Logs/traffic66.log
-sudo launchctl bootout system/traffic66
-```
-
-Se o firewall do macOS estiver ativo, permita conexões de entrada para o
-traffic66 em Ajustes do Sistema → Rede → Firewall → Opções.
+**macOS**: descompacte em `/usr/local/traffic66`, remova a marca de
+quarentena, execute `traffic66 passwd -data "/Library/Application Support/traffic66"`
+e inicie-o a partir de um LaunchDaemon cujos `ProgramArguments` sejam o
+programa, `-data` e esse diretório, com `RunAtLoad` e `KeepAlive`.
## 3. Usuários e senhas
-**Em resumo:** usuários e senhas ficam em um único arquivo, `password`, no
-diretório de dados. Você nunca o edita à mão: o comando `traffic66 passwd`
-adiciona, altera, lista e remove usuários. Abra
-`http://:8066` e faça login com um deles.
-
-
-
-### O primeiro login
-
Na primeira execução, o traffic66 cria o usuário `admin` com uma senha
-aleatória e a mostra uma única vez:
-
-```
-first start: sign in as user "admin" with password "3f9c2a7e5b1d8046"
-```
-
-- Iniciado com clique duplo no Windows: na janela preta.
-- Em um terminal: no terminal.
-- Serviço do Linux: `journalctl -u traffic66 | grep "first start"`
-- Serviço do macOS: `grep "first start" /Library/Logs/traffic66.log`
-
-Perdeu? Defina uma nova com `traffic66 passwd` (abaixo). Se você definiu uma
-senha com `traffic66 passwd` antes da primeira execução, como fazem os
-passos de instalação acima, nenhuma é gerada.
-
-
-
-### Onde os usuários ficam guardados
-
-No arquivo `password` do diretório de dados:
-
-| Como o traffic66 é executado | Arquivo |
-|---|---|
-| Descompactado e iniciado da própria pasta (padrão) | `traffic66-data/password` ao lado do programa |
-| Serviço do Linux (seção 2) | `/var/lib/traffic66/password` |
-| Tarefa de inicialização do Windows (seção 2) | `C:\traffic66\traffic66-data\password` |
-| Serviço do macOS (seção 2) | `/Library/Application Support/traffic66/password` |
-| Demo | `traffic66-demo/password` ao lado do programa |
-
-Uma linha por usuário. As senhas são guardadas como hashes com salt, então
-ninguém consegue recuperá-las do arquivo, nem mesmo você; se uma senha for
-esquecida, defina uma nova. Só o dono do arquivo pode lê-lo.
-
-```
-# traffic66 login, one user per line; change with: traffic66 passwd
-admin:pbkdf2-sha256$210000$…
-alice:pbkdf2-sha256$210000$…
-```
-
-
-
-### Gerenciar usuários
-
-Execute estes comandos na máquina do traffic66:
+aleatória e a mostra uma única vez (na janela, no terminal ou em
+`journalctl -u traffic66 | grep "first start"`). Os usuários ficam guardados
+como hashes com salt em `password`, no diretório de dados, e são gerenciados
+com um único comando na máquina do traffic66 (adicione `-data …` quando o
+traffic66 roda com ele):
| Para | Comando |
|---|---|
| Trocar a senha de `admin` | `traffic66 passwd` |
-| Adicionar o usuário `alice`, ou trocar a senha dela | `traffic66 passwd -user alice` |
-| Remover o usuário `alice` | `traffic66 passwd -user alice -delete` |
+| Adicionar `alice` ou trocar a senha dela | `traffic66 passwd -user alice` |
+| Remover `alice` | `traffic66 passwd -user alice -delete` |
| Listar os usuários | `traffic66 passwd -list` |
-| Definir uma senha aleatória e exibi-la | `traffic66 passwd -generate` (com `-user` para outros usuários) |
-
-- O comando pede a nova senha duas vezes e não mostra o que você digita.
- Use pelo menos 8 caracteres.
-- Quando o traffic66 roda com `-data`, adicione o mesmo `-data` ao comando.
- Para o serviço do Linux da seção 2:
-
- ```
- sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66 -user alice
- ```
-
- No Windows (PowerShell como administrador):
-
- ```
- C:\traffic66\traffic66.exe passwd -user alice
- ```
-
-- As mudanças valem na hora, sem reiniciar: uma senha nova funciona no
- próximo login, e um usuário removido é desconectado dos navegadores
- abertos.
-- O último usuário restante não pode ser removido; adicione outro antes.
-- Todos os usuários veem e podem alterar as mesmas coisas; não há papéis.
-
-
-
-### Senhas para scripts e contêineres
-`TRAFFIC66_PASSWORD=…` no ambiente, ou `-password …` na linha de comando,
-faz o traffic66 aceitar exatamente um usuário naquela execução: o indicado
-por `-user` (padrão `admin`) com essa senha. O arquivo `password` é então
-ignorado e não é alterado. Prefira a variável de ambiente: linhas de comando
-ficam visíveis para outros usuários da máquina.
-
-```
-TRAFFIC66_PASSWORD='s3cret-pass' traffic66 -user ops
-```
-
-Depois de cinco senhas erradas em um minuto, o endereço fica bloqueado por
-um minuto.
+As mudanças valem na hora. Todos os usuários têm os mesmos direitos. Para
+scripts e contêineres, `TRAFFIC66_PASSWORD=…` (ou `-password`) aceita só
+`-user` com essa senha naquela execução. Cinco senhas erradas em um minuto
+bloqueiam o endereço por um minuto.
## 4. Enviar fluxos dos seus equipamentos
-Aponte cada equipamento para a máquina do traffic66. Os comandos variam
-conforme o modelo e a versão de software; consulte o manual do seu
-equipamento. Em todos os exemplos, `192.0.2.50` é o traffic66 e
-`192.0.2.1` é o endereço do próprio equipamento.
-
-Recomendações gerais:
-
-- Configure o timeout de fluxo ativo em 60 segundos. Timeouts maiores fazem
- o tráfego chegar atrasado e em grandes blocos.
-- Se o equipamento amostra NetFlow/IPFIX, faça-o exportar as opções do
- sampler para que a taxa seja conhecida. O traffic66 segura os registros
- até a taxa chegar, em vez de contá-los como 1:1.
-- Amostre todas as interfaces ou só as de borda, em um único sentido.
- Amostrar o mesmo tráfego na entrada e na saída conta tudo em dobro;
- **Conferência de interfaces** aponta isso.
-- Taxa de amostragem sFlow: cerca de 1:1000 para links de 1 Gb/s, 1:4096
- para 10 Gb/s e 1:8192 para 40/100 Gb/s.
-
-Cisco IOS / IOS-XE (Flexible NetFlow):
+`192.0.2.50` é o traffic66, `192.0.2.1` o equipamento. Configure o timeout
+ativo em 60 segundos, faça os equipamentos NetFlow/IPFIX exportarem as
+opções do sampler e amostre **todas as interfaces na entrada** (ou só as de
+borda): assim cada pacote conta uma vez. Taxas sFlow: cerca de 1:1000 para
+1 Gb/s, 1:4096 para 10 Gb/s, 1:8192 para 40/100 Gb/s.
```
+! Cisco IOS-XE, NetFlow v9
flow exporter T66
destination 192.0.2.50
transport udp 2055
- export-protocol netflow-v9
option sampler-table
flow monitor T66
exporter T66
@@ -424,39 +163,8 @@ interface GigabitEthernet0/0/0
ip flow monitor T66 input
```
-Cisco NX-OS (sFlow):
-
-```
-feature sflow
-sflow collector-ip 192.0.2.50 vrf default
-sflow collector-port 6343
-sflow agent-ip 192.0.2.1
-sflow sampling-rate 4096
-sflow counter-poll-interval 30
-sflow data-source interface ethernet 1/1
-```
-
-Arista EOS (sFlow):
-
-```
-sflow sample 4096
-sflow destination 192.0.2.50
-sflow source-interface Management1
-sflow run
-```
-
-Juniper EX / QFX (sFlow):
-
-```
-set protocols sflow collector 192.0.2.50 udp-port 6343
-set protocols sflow sample-rate ingress 4096
-set protocols sflow polling-interval 30
-set protocols sflow interfaces ge-0/0/0
-```
-
-Huawei CloudEngine (sFlow):
-
```
+# Huawei CloudEngine, sFlow (H3C Comware is similar)
sflow agent ip 192.0.2.1
sflow collector 1 ip 192.0.2.50
interface 10GE1/0/1
@@ -467,46 +175,22 @@ interface 10GE1/0/1
sflow counter interval 30
```
-H3C Comware (sFlow):
-
-```
-sflow agent ip 192.0.2.1
-sflow collector 1 ip 192.0.2.50 port 6343
-interface Ten-GigabitEthernet1/0/1
- sflow sampling-rate 4096
- sflow flow collector 1
- sflow counter interval 30
- sflow counter collector 1
```
+# Juniper EX/QFX, sFlow
+set protocols sflow collector 192.0.2.50 udp-port 6343
+set protocols sflow sample-rate ingress 4096
+set protocols sflow interfaces ge-0/0/0
-MikroTik RouterOS 7 (NetFlow v9 / IPFIX):
+# Arista EOS, sFlow
+sflow sample 4096
+sflow destination 192.0.2.50
+sflow run
-```
+# MikroTik RouterOS 7
/ip traffic-flow set enabled=yes interfaces=all active-flow-timeout=1m
/ip traffic-flow target add dst-address=192.0.2.50 port=2055 version=9
-```
-
-FortiGate FortiOS 7.4.2 ou posterior (NetFlow v9):
-```
-config system netflow
- config collectors
- edit 1
- set collector-ip 192.0.2.50
- set collector-port 2055
- next
- end
-end
-config system interface
- edit port1
- set netflow-sampler both
- next
-end
-```
-
-Servidores e hosts Linux, com softflowd (NetFlow v9):
-
-```
+# Linux host, softflowd
softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
```
@@ -514,339 +198,117 @@ softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
## 5. Verificar se os fluxos estão chegando
-Abra **Configurações**. Cada equipamento que envia algo aparece em segundos, com
-protocolo, taxa de amostragem, perdas, último pacote e um status. Quando o
-status não está verde, o texto ao lado diz o que está errado e o que
-mudar.
-
-**Perdidos** conta as amostras ou registros que nunca chegaram. Para sFlow
-o texto diz onde eles se perderam: no caminho (saltos nos números de
-sequência: a rede, ou o buffer de recepção UDP desta máquina; se
-`netstat -su` mostrar erros de buffer de recepção aumentando, aumente
-`net.core.rmem_max`), ou no próprio equipamento (o sFlow informa as
-amostras que o equipamento descartou: a exportação sFlow dele tem limite
-de taxa, então amostre com menos frequência ou aumente o limite do
-equipamento). Os totais são compensados nos dois casos; o detalhe por host
-não.
+**Configurações** lista em segundos cada equipamento que envia algo:
+protocolo, taxa de amostragem, perdas, as interfaces que ele amostra e o que
+corrigir quando o status não está verde. As perdas sFlow são separadas em
+perdas no caminho (aumente `net.core.rmem_max` se `netstat -su` mostrar
+erros de buffer) e amostras que o próprio equipamento descartou.

-Se um equipamento não aparecer:
-
-1. Verifique se chegam pacotes na máquina do traffic66 (Linux, macOS):
- `sudo tcpdump -ni any udp port 6343 or udp port 2055 or udp port 4739`.
- Se nada aparecer, os pacotes não chegam à máquina: confira a
- configuração do equipamento, o roteamento e os firewalls no caminho.
-2. Os pacotes chegam, mas **Configurações** continua vazia: o firewall local está
- descartando (veja [Instalação](#2-install)) ou o traffic66 escuta em
- outras portas (`-listen`).
-3. Para testar o caminho a partir de outra máquina sem mexer em nenhum
- equipamento, rode `traffic66 simulate -to 192.0.2.50` nela por alguns
- segundos. Ele envia sFlow, NetFlow e IPFIX de equipamentos simulados,
- que depois aparecem em **Configurações** e nos dados; por isso, prefira fazer
- isso em uma instalação de teste.
-
-
-
-## 6. Fazer os números baterem com os contadores de interface
-
-Os números de fluxo são estimativas: pacotes amostrados vezes a taxa de
-amostragem. O traffic66 os compara com os contadores de interface do
-próprio equipamento e mostra a diferença em **Conferência de interfaces**,
-com a causa provável quando ela é maior do que a amostragem sozinha
-explica. Cada interface tem um gráfico em bits/s na largura toda e, abaixo
-dele, outro em pacotes/s, com a entrada (verde) e a saída (azul); os
-contadores do próprio equipamento são linhas tracejadas no gráfico em
-bits/s. Escolher uma interface na lista mostra os gráficos dela.
-
-Cada linha da lista tem dois botões. **✎** dá à interface um nome e um
-rótulo curto (como *uplink*), mostrado ao lado do nome dela em todo lugar.
-**☆** a torna a interface padrão (**★**); só existe uma. As páginas então
-abrem nela (veja a opção **Interface** em [Usando a interface
-web](#9-using-the-web-ui)), e a visão geral mostra a banda dela. Os dois
-são salvos na hora na linha `iface` de Nomes.
-
-Os registros de fluxo nomeiam duas interfaces: aquela por onde um pacote
-entrou e aquela por onde saiu. Por isso, um equipamento que amostra só
-algumas interfaces mostra também as outras pontas dos fluxos delas. Essas
-**Interfaces do outro lado** aparecem por último, em letra cinza menor, sob
-um título próprio: os números delas contêm só o tráfego que passou por uma
-interface amostrada, não todo o tráfego delas. Elas não são oferecidas em
-**Interface** acima das páginas. O traffic66 sabe qual interface amostrou
-um fluxo pela fonte de dados do sFlow, ou pelo campo flowDirection (IPFIX
-61) do NetFlow v9 e do IPFIX (ingress: a interface de entrada, egress: a
-interface de saída). Sem esse campo, uma interface presente em pelo menos
-90% do tráfego de um equipamento é tomada como a amostrada; se não houver
-nenhuma, nenhuma interface é marcada. **Configurações** mostra, para cada
-equipamento, as interfaces amostradas (**Amostragem em:**) e se os modelos
-dele trazem flowDirection (**com flowDirection (61)**). Para ver todo o
-tráfego de um equipamento, amostre cada interface na entrada (veja [Enviar
-fluxos dos seus equipamentos](#4-send-flows-from-your-devices)).
+Falta um equipamento? Execute `sudo tcpdump -ni any udp port 6343 or udp port 2055
+or udp port 4739`: se nada aparecer, é o roteamento, um firewall ou a
+configuração do equipamento; se chegam pacotes mas nada aparece em
+**Configurações**, é o firewall local ou `-listen`. `traffic66 simulate -to 192.0.2.50`
+em outra máquina testa o caminho com equipamentos simulados.
-
+
-Para ter contadores com que comparar:
-
-- Equipamentos sFlow enviam os contadores por conta própria quando há um
- intervalo de contadores configurado (`sflow counter interval 30` e
- similares).
-- Para equipamentos NetFlow e IPFIX, adicione uma linha `snmp` em
- **Configurações → Nomes** (veja [Nomes](#7-names-snmp-and-your-own-networks)).
- O traffic66 passa a ler os contadores de interface a cada minuto.
-
-O que o traffic66 já faz para os números baterem: usa a taxa de amostragem
-que o equipamento realmente aplicou, segura os registros NetFlow/IPFIX até
-a taxa de amostragem ser conhecida, compensa pacotes de exportação perdidos
-no caminho, distribui fluxos longos pelos minutos em que duraram e soma 18
-bytes de overhead Ethernet por pacote às contagens de bytes de
-NetFlow/IPFIX (os contadores de interface incluem esse overhead, as
-contagens de fluxo na camada IP não; altere com `-l2-overhead`).
-
-Motivos comuns para a diferença que sobra, todos apontados em
-**Conferência de interfaces**: algumas interfaces não são amostradas, o
-mesmo tráfego é amostrado em duas interfaces, pacotes de exportação se
-perdem antes de chegar ao traffic66 ou a taxa de amostragem ainda não é
-conhecida.
-
-
-
-## 7. Nomes, SNMP e suas próprias redes
-
-O jeito mais rápido de dar nome a um host ou equipamento: clique no endereço
-dele em qualquer página e escolha **Dar um nome…**. Digite o nome e tecle
-Enter; ele é salvo na hora e mostrado em todo lugar no lugar do endereço
-puro.
-
-Para redes, interfaces e SNMP, use **Configurações → Nomes**: escolha o tipo
-(host, rede, dispositivo, interface, SNMP), preencha o endereço e o nome e
-clique em **Adicionar**. A tabela abaixo lista todos os nomes com
-**Editar** e **Apagar**; adicionar o mesmo endereço de novo substitui a
-entrada anterior. Endereços e redes são verificados antes de salvar.
-
-Os nomes são salvos como `inventory.txt` no diretório de dados, uma
-entrada por linha. **Editar como texto (avançado)** mostra esse arquivo, e
-você também pode editá-lo diretamente (veja `inventory.txt.example`).
-Todas as linhas são opcionais.
+## 6. Interfaces e contadores
-```
-# your networks: traffic between them is "internal"
-net 10.10.0.0/16 Office LAN
-net 203.0.113.0/24 Public servers country=JP
-
-# device names; "unsampled" if it exports every packet (1:1),
-# sampling=N if it samples 1:N but does not say so in its export
-device 192.0.2.1 Core router
-device 192.0.2.9 Branch firewall unsampled
-device 192.0.2.20 Edge router sampling=1000
-
-# interface names, by device address and ifIndex; speed in bits per second,
-# tag= a short tag, default = the interface the pages open on (one only)
-iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
-
-# host names shown instead of addresses
-host 10.10.3.27 Finance PC
-
-# read interface counters over SNMPv2c (IF-MIB 64-bit counters)
-snmp 192.0.2.1 public
-snmp 192.0.2.9 s3cret 10.99.0.9:161
-```
+Os números de fluxo são estimativas (amostras × taxa de amostragem).
+**Conferência de interfaces** os compara com os contadores de interface do
+equipamento (contadores sFlow, ou SNMP por uma linha `snmp` em Nomes) e diz
+por que diferem: interfaces não amostradas, o mesmo tráfego amostrado duas
+vezes, perdas no caminho ou uma taxa de amostragem desconhecida. Cada
+interface tem um gráfico em bits/s e outro em pacotes/s, entrada em verde e
+saída em azul, contadores tracejados.
-- `net`: as faixas privadas (10/8, 172.16/12, 192.168/16, 100.64/10) são
- sempre consideradas suas. Adicione suas faixas públicas para que o
- tráfego de e para elas também conte como seu; o nome aparece em
- **Top 66** agrupado por segmento e nos caminhos do tráfego por segmento.
- `country=JP` (um código de país de duas letras) diz onde a rede fica; o
- mapa-múndi então traça linhas dela até os países com que ela se
- comunica.
-- `snmp [[:port]]`: o equipamento
- é o endereço de onde vêm os fluxos. Adicione o endereço de gerência
- quando o equipamento responder SNMP em outro endereço. As descrições de
- interface lidas via SNMP são usadas como nomes, a menos que você nomeie a
- interface com `iface`. Libere a máquina do traffic66 na lista de acesso
- SNMP do equipamento.
-- As alterações valem assim que você clica em **Salvar**; não é preciso
- reiniciar.
+Em cada linha, **✎** define um nome e um rótulo curto (como *uplink*) e
+**☆** a torna a interface padrão (★), na qual as páginas abrem.
-
+Um equipamento que amostra só algumas interfaces mostra também as outras
+pontas desses fluxos. Essas **interfaces do outro lado** aparecem por último,
+em letra cinza menor: contêm só o tráfego que passou pela interface
+amostrada. A interface amostrada é conhecida pela fonte de dados do sFlow ou
+pelo campo flowDirection (IPFIX 61); sem ele, é uma interface presente em
+90% do tráfego de um equipamento.
-## 8. Países, redes e listas de ameaças
+
-Países e redes (AS) funcionam desde o início: o traffic66 traz embutidas as bases gratuitas **IP to Country Lite** e **IP to ASN Lite** da DB-IP (licença [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); "IP Geolocation by DB-IP", [db-ip.com](https://db-ip.com)). As páginas que mostram países e redes indicam a origem dos dados.
+O traffic66 já usa a taxa que o equipamento aplicou, espera por taxas
+desconhecidas, compensa perdas de exportação, distribui fluxos longos pelos
+seus minutos e soma 18 bytes de overhead Ethernet por pacote ao NetFlow/IPFIX
+(`-l2-overhead`).
-A cópia embutida é da versão que você usa. A DB-IP publica uma nova a cada mês; **Configurações → Banco de dados de países e redes → Atualizar DB-IP Lite agora** baixa a mais recente de db-ip.com (o servidor que roda o traffic66 precisa de acesso à internet; se falhar, a interface avisa).
+
-Você também pode usar outro banco gratuito. Baixe-o e envie-o na mesma página com **Enviar arquivo de banco de dados…**. Ele é verificado, salvo no diretório de dados e usado para o tráfego novo na hora, sem reiniciar. O tráfego já guardado mantém o país com que foi salvo.
+## 7. Nomes, países e listas de ameaças
-| Banco | Fornece | Licença | Onde obter |
-|---|---|---|---|
-| DB-IP Lite (embutida) | países; redes | CC BY 4.0, sem conta | [db-ip.com/db/lite.php](https://db-ip.com/db/lite.php) |
-| MaxMind GeoLite2 Country e ASN, `.mmdb` | países; redes | GeoLite2 EULA, conta gratuita | [maxmind.com](https://www.maxmind.com/en/geolite2/signup) |
-| IPinfo Lite, `ipinfo_lite.mmdb` | países e redes em um só arquivo | CC BY-SA 4.0, conta gratuita | [ipinfo.io/lite](https://ipinfo.io/lite) |
-| IPtoASN, `ip2asn-combined.tsv.gz` | redes com seu país | PDDL 1.0, sem conta | [iptoasn.com](https://iptoasn.com) |
+Clique em qualquer endereço e escolha **Dar um nome…**, ou use
+**Configurações → Nomes**. Os nomes ficam em `inventory.txt` no diretório
+de dados:
-Seus arquivos são usados primeiro; o que eles não cobrem vem da DB-IP Lite embutida. **Remover** ao lado de um arquivo volta ao restante. A página lista o que está em uso e a data de cada banco.
+```
+net 10.10.0.0/16 Office LAN # your networks
+net 203.0.113.0/24 Public servers country=JP # country: lines on the world map
+device 192.0.2.1 Core router
+device 192.0.2.9 Branch firewall unsampled # exports every packet
+device 192.0.2.20 Edge router sampling=1000 # rate it does not declare
+iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
+host 10.10.3.27 Finance PC
+snmp 192.0.2.1 public # read counters over SNMPv2c
+snmp 192.0.2.9 s3cret 10.99.0.9:161 # other management address
+```
-Sem a interface web, copie o arquivo para o diretório de dados como `country.mmdb`, `asn.mmdb`, `both.mmdb` (um arquivo com países e redes, como o IPinfo Lite) ou `asn.tsv.gz` e reinicie o traffic66.
+As faixas privadas são sempre suas. As alterações valem ao clicar em
+**Salvar**, sem reiniciar.
-**Geografia e redes** mostra num mapa-múndi o tráfego com outros países: quanto mais escuro, mais tráfego. Passe o mouse sobre um país para ver o tráfego; clique para filtrar ou abrir os registros de fluxo. Quando suas redes têm um país (`country=` numa linha `net`, veja [Nomes](#7-names-snmp-and-your-own-networks)), linhas vão desse país até os países com que elas trocam tráfego, mais grossas quanto mais tráfego. Os contornos dos países vêm do [Natural Earth](https://www.naturalearthdata.com) (domínio público).
+Países e redes (AS) funcionam desde o início com as bases gratuitas Lite da
+DB-IP ([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), "IP
+Geolocation by DB-IP", [db-ip.com](https://db-ip.com)); **Configurações** as
+atualiza, ou aceita no lugar delas arquivos MaxMind GeoLite2, IPinfo Lite ou
+IPtoASN. Contornos do mapa: [Natural Earth](https://www.naturalearthdata.com).

-Listas de ameaças são arquivos de texto puro com um endereço ou rede por
-linha (o texto depois de `#` ou `;` é ignorado), salvos como
-`/threats/.txt`, por exemplo:
-
-```
-mkdir -p /threats
-curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamhaus-drop.txt
-```
-
-Reinicie o traffic66 depois de adicionar ou alterar listas. As ocorrências
-aparecem em **Ameaças**, pelo nome da lista.
+Listas de ameaças são arquivos de texto com um endereço ou rede por linha em
+`/threats/.txt` (por exemplo, Spamhaus DROP); reinicie depois de
+alterá-las. As ocorrências aparecem em **Ameaças**.

-
+
-## 9. Usando a interface web
+## 8. Usando a interface web
-Raramente é preciso digitar. Todo valor de toda página (um endereço, uma
-porta, uma aplicação, um país, um equipamento) é clicável:
+Todo valor de toda página é clicável: **Mostrar só isto** / **Excluir isto**
+(os filtros valem para todas as páginas), **Ver os registros de fluxo**,
+**Ver detalhes** (uma página sobre um host ou serviço), **Dar um nome…**,
+**Consultar on-line**, **Copiar**.
-- **Mostrar só isto** / **Excluir isto** adiciona um filtro. Os filtros
- aparecem abaixo da barra superior e valem para todas as páginas até você
- removê-los.
-- **Ver os registros de fluxo** abre os fluxos individuais correspondentes.
-- **Ver detalhes** (hosts, equipamentos e serviços) abre uma página sobre
- aquele host ou serviço: o tráfego ao longo do tempo por aplicação, com
- quem ele fala, quais serviços ou clientes, países e os fluxos mais
- recentes. Todo valor ali também é clicável, então dá para continuar
- aprofundando; o botão Voltar do navegador retorna.
-- **Dar um nome…** (hosts e equipamentos) dá um nome ao endereço, mostrado
- em todo lugar a partir daí.
-- **Consultar on-line** abre o endereço ou o AS em um site público de
- consulta.
-- **Copiar** copia o valor.
-
-Páginas:
-
-| Página | O que responde |
+| Página | O que mostra |
|---|---|
-| Visão geral | A banda da interface escolhida (ou da padrão, ou senão da com mais tráfego) em bits/s, entrada e saída vistas pela interface; quanto tráfego há agora, por aplicação (**Total**, ou só o tráfego de **Entrada** ou de **Saída** das suas redes), em comparação com o mesmo horário de ontem (intervalos de até um dia), a semana passada (até uma semana) ou os dias anteriores (intervalos mais longos), quando há dados daquela época; detecções abertas; direção e protocolo; principais clientes e serviços |
-| Top 66 | Abre em **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. **Principais interlocutores** mostra 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 |
-| Detalhes do tráfego | Dois gráficos de anéis. **Servidores e clientes**: o anel interno são os 8 servidores com mais tráfego, o externo os clientes de cada um; **Clientes dentro** inverte (clientes dentro, fora os servidores que cada um usa), já que muitas vezes um lado explica mais que o outro. **Serviços**: um anel com os serviços com mais tráfego. Passe o mouse sobre um segmento para ver o tráfego; clique nele como em qualquer valor |
-| 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. Nomes longos são encurtados para 22 caracteres; passe o mouse sobre um para ver o nome completo |
-| 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)) |
-| Ameaças | Hosts que se comunicaram com endereços das suas listas de ameaças, e quanto enviaram |
-| Geografia e redes | Um mapa-múndi do tráfego por país, com linhas a partir das suas redes; 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 |
-| Configurações | Equipamentos, amostragem, as interfaces que cada equipamento amostra e se ele envia flowDirection, perdas, coletores, SNMP, o banco de dados de países e redes, o logotipo e **Nomes** |
-| Conferência de interfaces | Tráfego de cada interface ao longo do tempo em bits/s e, abaixo, pacotes/s, entrada (verde) e saída (azul), com os contadores do equipamento como linhas tracejadas; quanto os números de fluxo se afastam dos contadores, piores primeiro, com os motivos; um nome, um rótulo e a padrão para cada interface |
-| Registros de fluxo | Quantos registros de fluxo houve e quando (uma barra por intervalo), e os próprios registros, dos mais recentes para os mais antigos, página a página, com colunas selecionáveis. Abre nos últimos 15 minutos, atualizados a cada 5 segundos; aberta a partir de um valor em outra página (**Ver os registros de fluxo**), mantém o intervalo de tempo daquela página, e **Voltar ao tempo real** volta |
-| Limpeza de dados | Apaga dados com mais de 120, 90, 60, 30 ou 7 dias, ou todos, mostrando quanto cada opção libera ([mais](#13-data-backup-upgrade-uninstall)) |
-| Análise offline de pcap | Capturas de pacotes (pcap, pcapng) analisadas separadas dos dados ao vivo ([mais](#análise-offline-de-pcap)) |
-
-O menu lateral organiza as páginas em quatro grupos: tráfego (Visão geral,
-Top 66, Detalhes do tráfego, Caminhos do tráfego, Conferência de
-interfaces, Registros de fluxo), segurança (Detecções, Ameaças, Geografia e
-redes), Configurações e Análise offline de pcap, e Limpeza de dados no
-final. Abaixo do logotipo ficam a versão e a data e hora do servidor.
-
-Acima das páginas de tráfego (Visão geral, Top 66, Detalhes do tráfego,
-Caminhos do tráfego, Geografia e redes, Registros de fluxo e o detalhe de
-um valor) fica **Interface**: **Todas as interfaces**, ou uma interface,
-para que essas páginas mostrem só o tráfego que passa por ela (entrando ou
-saindo). Lista as interfaces amostradas, agrupadas por equipamento, e
-começa na interface padrão (★, definida em **Conferência de
-interfaces**) e a escolha faz parte do link. Detecções, Ameaças,
-Conferência de interfaces e Configurações sempre cobrem todo o tráfego.
-Para uma interface em 7 ou 30 dias, as páginas leem os registros de fluxo
-em vez dos resumos por hora e por dia, então demoram mais e alcançam até
-onde os registros de fluxo são mantidos (30 dias por padrão).
-
-Acima das páginas: intervalo de tempo (de 15 minutos a 30 dias, ou
-**Personalizado…** para qualquer início e fim, inclusive antes dos últimos
-30 dias), atualização automática a cada 30 segundos e **Copiar link**, que
-copia um link para exatamente a visão atual (página, intervalo de tempo e
-filtros) para mandar a um colega. Em **Top 66** e **Detalhes do tráfego**,
-**Equipamento**, **Cliente**, **Servidor** e **Serviço** listam os valores com mais tráfego do intervalo: escolha um, ou
-digite um, para filtrar; o filtro passa então a valer em todas as páginas
-até você esvaziar a caixa. O idioma segue o do navegador; dá para trocar no
-fim do menu, acima de **Sair**. Configurações, Registros de fluxo (em
-tempo real), Limpeza de dados e Análise offline de pcap não têm intervalo de
-tempo.
-
-Ao lado do idioma fica o tema de cores, inspirado nas cores do sistema do
-iOS: **Claro** (o padrão), **Cinza**, **Preto** (para telas de parede),
-**Verde-azulado** e **Laranja**. Cada clique passa para o próximo; a
-escolha fica guardada no navegador.
-
-Os gráficos ao longo do tempo mostram os 8 maiores valores em cores fixas e
-o resto como Outros; a legenda dá o total de cada valor e pode ser clicada
-como qualquer outro valor. Os gráficos de clientes e servidores deixam o
-resto fora do desenho, já que com milhares de hosts ele achataria os 8
-maiores; a legenda continua dando o total.
-
-Os gráficos terminam onde os dados estão completos: com sFlow no minuto
-atual, com NetFlow e IPFIX um pouco antes, tanto quanto os dispositivos levam
-para exportar seus fluxos (o traffic66 mede isso; no máximo 2 minutos).
-
-Intervalos maiores que 6 horas começam em uma hora cheia, para que todos os
-números da página contem exatamente o mesmo tempo: "24 horas" cobre as
-últimas 24 horas cheias mais a atual. Nesses intervalos, o Top 66 vem de
-resumos por hora; lá não há filtros, e a página avisa. Escolha um intervalo
-menor para filtrar. As conversas sempre leem o detalhe dos fluxos, então em intervalos
-longos com muitos fluxos podem demorar; uma hora é o mais rápido.
-
-O menu lateral mostra quanto disco os dados usam e quanto está livre; passe
-o mouse sobre o espaço livre para ver quanto os dias de detalhe mantidos
-precisam no ritmo atual (estimado assim que houver um dia de dados).
-
-Para mostrar o seu próprio logotipo na página de login e no topo do menu,
-use **Configurações → Logotipo → Enviar um logotipo…**: PNG, SVG, JPEG, WebP ou
-GIF, até 1 MB, de preferência com 272 × 92 pixels (outros tamanhos são
-ajustados). **Usar o logotipo embutido** volta ao do traffic66.
-
-
-
-### Detecções
-
-**Detecções** lista o que o traffic66 encontrou nos fluxos, as mais graves
-primeiro. Ele verifica os últimos 10 minutos a cada 5 minutos; algo que
-dura uma hora é uma única detecção que cresce, não uma nova a cada
-verificação.
-
-| Detecção | O que significa | Gravidade |
-|---|---|---|
-| Varredura | Um endereço enviou pequenas sondas a muitos endereços em uma mesma porta (TCP ou ping) | Alta de dentro da sua rede, baixa da internet |
-| Varredura de portas | Um endereço enviou pequenas sondas a muitas portas de um mesmo host | Alta de dentro, baixa da internet |
-| Tentativa de senhas | Muitas conexões curtas a um serviço de login (SSH, RDP, SMB, bancos de dados e outros) | Alta de dentro, baixa da internet |
-| Movimento lateral | Dentro da sua rede, sessões de compartilhamento de arquivos ou de administração remota (SMB, RDP, SSH, WinRM, VNC) para hosts que nunca ofereceram esse serviço antes | Alta |
-| Envio incomum | Um host interno enviou muito mais do que recebeu (100 MB em 10 minutos, três vezes o que recebeu) para um endereço com o qual não havia trocado dados antes | Alta |
-| Inundação | 20.000 ou mais pacotes pequenos por segundo para um endereço, dez vezes a taxa habitual dele | Média |
-| Lista de ameaças | Tráfego com um endereço de uma das suas listas de ameaças | Alta quando o seu host se conectou a ele, baixa quando o endereço listado bateu de fora |
-
-Cada detecção diz quem fez o quê a quem, quando e por quanto tempo, com os
-números por trás e como os dados foram amostrados. **Detalhes** abre a
-página do host, que também lista as detecções sobre ele. **Resolvido**
-fecha uma detecção; se acontecer de novo, uma nova é aberta.
-**Não é problema** a fecha de vez: ela nunca mais é relatada. O número
-vermelho ao lado de **Detecções** no menu lateral conta as detecções
-abertas de gravidade alta e média das últimas 24 horas.
-
-Movimento lateral e envios incomuns precisam saber o que é normal, então
-são relatados quando já houver um dia de histórico. Na primeira
-inicialização, o traffic66 aprende com o histórico que já tem.
-
-Com dados amostrados (sFlow, NetFlow amostrado), as regras contam o que as
-amostras mostram e pedem menos delas, mas então cada uma precisa parecer
-uma sonda curta, de modo que hosts normais movimentados não as disparam. O
-que a amostragem esconde não pode ser encontrado: com amostragem 1:4096,
-uma varredura de algumas dezenas de hosts envia pacotes de menos para ser
-vista. O ataque da demo passa por um switch que amostra a 1:4096 e é
-encontrado por completo; um dia de tráfego normal da demo não produz
-nenhuma detecção, exceto o scanner da internet batendo no site.
-
-
+| Visão geral | A banda da interface escolhida; tráfego por aplicação (total, entrada ou saída) em comparação com ontem ou a semana passada; detecções abertas; principais clientes e serviços |
+| Top 66 | As 66 maiores conversas, ordenáveis por qualquer coluna, ou agrupadas por aplicação, rede, segmento, equipamento, encapsulamento, VLAN; os 30 maiores interlocutores |
+| Detalhes do tráfego | Gráficos de anéis: servidores e seus clientes (ou o inverso), e serviços |
+| Caminhos do tráfego | Host → aplicação → país, ou cliente → serviço → servidor, ou por rede |
+| Conferência de interfaces | Cada interface ao longo do tempo em comparação com seus contadores; nomes, rótulos, a padrão |
+| Registros de fluxo | Os fluxos individuais, ao vivo a cada 5 segundos ou para qualquer intervalo de tempo |
+| Detecções, Ameaças | O que precisa de atenção ([abaixo](#findings)); tráfego com endereços listados |
+| Geografia e redes | Um mapa-múndi por país, redes (AS) ao longo do tempo |
+| Configurações | Equipamentos, amostragem, perdas, SNMP, bancos de dados, logotipo, nomes |
+| Análise offline de pcap, Limpeza de dados | Arquivos de captura ([abaixo](#9-offline-pcap-terminal-ui-local-capture)); apagar dados antigos |
+
+Acima das páginas: **Interface** (todas, ou uma interface amostrada; as
+páginas de tráfego então mostram só o tráfego que passa por ela), o
+intervalo de tempo (de 15 minutos a 30 dias, ou personalizado), atualização
+a cada 30 s e **Copiar link** para exatamente a visão atual. O idioma e
+cinco temas de cores ficam no fim do menu. Os gráficos terminam onde os
+dados estão completos: com NetFlow/IPFIX, tão tarde quanto os equipamentos
+exportam (no máximo 2 minutos). Intervalos maiores que 6 horas começam em
+uma hora cheia; uma interface em 7 ou 30 dias lê o detalhe dos fluxos, então
+demora mais e alcança até onde o detalhe é mantido.

@@ -856,372 +318,120 @@ nenhuma detecção, exceto o scanner da internet batendo no site.

-A mesma visão geral em chinês; todas as páginas estão disponíveis em 13 idiomas:
-

-
-
-### Análise offline de pcap
-
-**Análise offline de pcap** mostra capturas do Wireshark ou tcpdump com as mesmas páginas dos dados ao vivo, sem misturá-las.
-
-Ele resume todos os pacotes em fluxos: quem falou com quem, quanto, quando e o que parece um ataque. Não decodifica protocolos nem mostra o conteúdo dos pacotes; para um pacote ou um fluxo TCP, use o Wireshark.
-
-Pela linha de comando, sem configurar nada:
+
-```
-traffic66 office.pcap
-traffic66 a.pcap b.pcapng c.pcap
-```
+### Detecções
-O traffic66 inicia só neste computador (127.0.0.1, uma porta livre), mostra o endereço, a senha e um link de acesso de uso único, e abre o navegador na captura. Até 3 arquivos, 3 GB no total; eles são lidos onde estão e nunca alterados. Nada é coletado nem enviado, e nomes de host não são consultados (`-dns` liga isso). Ctrl+C para e apaga os dados importados. Numa máquina de 2 núcleos, uma captura de 1 GB fica pronta em cerca de 5 segundos (1,2 milhão de pacotes grandes) a 30 segundos (14 milhões de pacotes pequenos).
+Verificadas a cada 5 minutos sobre os últimos 10; algo que dura uma hora é
+uma única detecção que cresce.
-```
-$ traffic66 office.pcap
+| Detecção | Significado |
+|---|---|
+| Varredura, varredura de portas | Pequenas sondas a muitos hosts em uma porta, ou a muitas portas de um host |
+| Tentativa de senhas | Muitas conexões curtas a um serviço de login |
+| Movimento lateral | Compartilhamento de arquivos ou administração remota para hosts internos que nunca ofereceram isso antes |
+| Envio incomum | 100 MB em 10 minutos para um endereço novo, três vezes o que voltou |
+| Inundação | 20.000+ pacotes pequenos/s para um endereço, dez vezes a taxa habitual dele |
+| Lista de ameaças | Tráfego com um endereço listado |
+
+De dentro da sua rede são de gravidade alta, da internet baixa.
+**Resolvido** fecha uma detecção, **Não é problema** a silencia de vez.
+Movimento lateral e envios incomuns precisam de um dia de histórico. Através
+de amostragem 1:4096, o ataque da demo é encontrado por completo; varreduras
+muito pequenas podem se esconder atrás da amostragem.
-traffic66 0.3.1: analysing 1 capture file(s); nothing is collected or sent
- Web UI http://127.0.0.1:38217 (port 38217, this computer only)
- Sign in user admin, password gfhfhbuutz2e
- Open http://127.0.0.1:38217/auto?t=b9388f… (signs in once)
- Stop Ctrl+C; the imported data is deleted, your files are kept
-```
+
-Na interface web de um traffic66 em execução:
+
-1. **Enviar arquivos de captura…**: `.pcap` ou `.pcapng`, sem compressão. Até 3 arquivos, cada um com no máximo 50 MB. Os arquivos viram fluxos num banco próprio (`/sandbox/`); os dados ao vivo, seus números e detecções não são afetados.
-2. **Analisar**: todas as páginas (visão geral, Top 66, detalhes do tráfego, detecções, caminhos, mapa, registros de fluxo) mostram os arquivos durante todo o seu período. Uma barra laranja nomeia os arquivos; **Voltar aos dados ao vivo** volta. Cada arquivo aparece como um dispositivo, então o campo **Equipamento** mostra um arquivo por vez.
-3. As regras de detecção rodam sobre a captura: varreduras, varreduras de portas e tentativas de senha aparecem em **Detecções**. Regras que precisam de um dia de histórico (movimento lateral, envios incomuns) não se aplicam a uma captura.
-4. **Excluir** apaga um arquivo e seus dados; **Excluir tudo** apaga tudo.
+## 9. Pcap offline, interface de terminal, captura local
-A demo inclui uma captura de exemplo com um ataque.
+**Análise offline de pcap** mostra capturas de pacotes (pcap, pcapng) com as
+mesmas páginas, separadas dos dados ao vivo: `traffic66 a.pcap b.pcapng`
+inicia em 127.0.0.1 e abre o navegador (até 3 arquivos, 3 GB; Ctrl+C apaga
+os dados importados), ou envie até 3 arquivos de 50 MB nessa página. Ela
+trabalha com fluxos, não com o conteúdo dos pacotes.

-## 10. Interface de terminal
-
-```
-traffic66 tui # traffic66 on this machine
-traffic66 tui -server http://192.0.2.50:8066 -user admin -password …
-traffic66 -tui # collect and show the terminal UI in one process
-```
-
-Na máquina do traffic66, `traffic66 tui` faz login sozinho quando consegue
-ler o diretório de dados (informe `-data` quando não for o padrão). Se o
-traffic66 roda com outro usuário, como acontece com um serviço, use `-user`
-e `-password`. `-lang` escolhe o idioma (`en`, `zh`, `hi`, `es`, `ar`,
-`fr`, `bn`, `pt`, `ru`, `id`, `ur`, `ja`, `ko`).
-
-Teclas: 1–8 páginas, ↑↓ selecionar, Enter ações sobre o valor selecionado,
-f mostrar só, x excluir, / buscar, t intervalo de tempo, c limpar filtros,
-w abrir a mesma visão no navegador, q sair.
+**Interface de terminal**: `traffic66 tui` na máquina do traffic66, ou
+`traffic66 tui -server http://192.0.2.50:8066 -user admin -password …`.
+Teclas: 1–8 páginas, Enter ações, f mostrar só, x excluir, t intervalo de
+tempo, w abrir no navegador, q sair; `-lang` escolhe o idioma.


-
-
-## 11. Captura local
-
-Além de receber exportações de fluxo, o traffic66 pode gerar fluxos por conta
-própria a partir dos pacotes de uma interface de rede da máquina em que roda.
-O que ele vê depende da interface:
-
-| Interface | O que o traffic66 vê |
-|---|---|
-| Uma porta de rede livre ligada à porta espelho (SPAN) de um switch | Todo o tráfego que o switch espelha: uma rede inteira ou um uplink |
-| A Ethernet ou o Wi-Fi da própria máquina | Só o tráfego desta máquina |
-
-Adaptadores Wi-Fi não veem o tráfego de outros equipamentos. Para ver uma
-rede Wi-Fi inteira, faça o roteador ou o ponto de acesso exportar fluxos
-(seção 4), ou espelhe a porta do switch à qual o ponto de acesso está ligado.
-
-
-
-### Windows
-
-1. Instale o [Npcap](https://npcap.com) com as opções padrão. Se marcar
- "Restrict Npcap driver's access to Administrators only", execute o
- traffic66 como administrador.
-2. Liste as interfaces (PowerShell):
-
- ```
- C:\traffic66\traffic66.exe interfaces
- ```
-
- ```
- # Name Address Adapter / device
- 1 Ethernet - Intel(R) Ethernet I219-V \Device\NPF_{4B8A2C1E-…}
- 2 Wi-Fi 192.168.1.23 Intel(R) Wi-Fi 6 AX201 \Device\NPF_{9F00AA11-…}
- 3 Loopback - Adapter for loopback traffic capture \Device\NPF_Loopback
- ```
-
- A coluna Name é o nome da conexão nas configurações de rede do Windows; a
- interface em uso tem um endereço.
-3. Capture no Wi-Fi, pelo nome ou pelo número:
-
- ```
- C:\traffic66\traffic66.exe -capture Wi-Fi
- C:\traffic66\traffic66.exe -capture 2
- ```
-
- Coloque nomes com espaços entre aspas: `-capture "Ethernet 2"`. Repita
- `-capture` para capturar em várias interfaces. Adicione `-listen=` se
- quiser só a captura, sem coletores de fluxo. Para a tarefa de
- inicialização da seção 2, adicione a opção ao `-Argument`:
- `-Argument '-data C:\traffic66\traffic66-data -capture Wi-Fi'`.
-
-
-
-### Linux
-
-```
-traffic66 interfaces
-sudo setcap cap_net_raw,cap_net_admin+ep /opt/traffic66/traffic66
-traffic66 -capture eth1
-```
-
-A captura precisa de root ou das capabilities `CAP_NET_RAW` e
-`CAP_NET_ADMIN`: a linha `setcap` acima, ou a linha `AmbientCapabilities` da
-unit systemd da seção 2. Interfaces Wi-Fi costumam se chamar `wlan0` ou
-`wlp…`.
-
-
-
-### macOS
-
-```
-traffic66 interfaces
-sudo traffic66 -capture en0
-```
+**Captura local** gera fluxos a partir de uma interface local, de
+preferência uma porta ligada à porta espelho de um switch:
+`traffic66 interfaces` as lista, `-capture eth1` (ou um nome ou número do
+Windows) captura. O Linux precisa de root ou
+`setcap cap_net_raw,cap_net_admin+ep`, o macOS de root, o Windows do
+[Npcap](https://npcap.com). Os fluxos capturados vêm do equipamento `127.0.0.1`.
-A captura precisa de root; nada a instalar. Nos MacBooks, `en0` é o Wi-Fi.
+
-
+## 10. Opções e dados
-### Verificando se funciona
-
-**Configurações** lista cada interface capturada com o método de captura e o número
-de pacotes vistos. Os fluxos aparecem como vindos do equipamento `127.0.0.1`
-(esta máquina), em todas as páginas, como os de qualquer outro equipamento.
-Pacotes vistos duas vezes (por exemplo, em duas portas espelho) são contados
-duas vezes.
-
-
-
-## 12. Opções
-
-`traffic66 -h` e `traffic66 -h` listam tudo.
-
-Comandos:
-
-| Comando | |
-|---|---|
-| `traffic66` | coleta fluxos e serve a interface web |
-| `traffic66 demo` | o mesmo, com uma rede simulada |
-| `traffic66 tui` | interface de terminal para um traffic66 em execução |
-| `traffic66 passwd` | adiciona, altera, lista ou remove usuários (veja [Usuários e senhas](#3-users-and-passwords)) |
-| `traffic66 simulate -to HOST` | envia exportações simuladas para um coletor |
-| `traffic66 interfaces` | lista as interfaces para captura local |
-| `traffic66 version` | mostra a versão |
-
-Opções de `traffic66` e `traffic66 demo`:
+`traffic66 -h` lista tudo. As mais usadas:
| Opção | Padrão | |
|---|---|---|
-| `-addr` | `:8066` | endereço da interface web; `127.0.0.1:8066` só para esta máquina |
| `-data` | `traffic66-data` ao lado do programa | diretório de dados |
-| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | coletores UDP no formato `name=address`, separados por vírgula; vazio desativa |
-| `-user` | `admin` | nome do usuário criado na primeira execução e do usuário ao qual `-password` se aplica |
-| `-password` | não definido | aceita só `-user` com esta senha nesta execução, ignorando o arquivo `password` (também `TRAFFIC66_PASSWORD`) |
-| `-retention-days` | `30` | dias de detalhe de fluxo mantidos; os resumos são mantidos por 400 dias |
-| `-memory` | `0.10` | fração da memória física para o cache do banco de dados, e o mesmo valor como limite flexível para o resto do programa (cada um com pelo menos 256 MB) |
-| `-l2-overhead` | `18` | bytes por pacote somados às contagens de bytes de NetFlow/IPFIX |
+| `-addr` | `:8066` | interface web; `127.0.0.1:8066` só para esta máquina |
+| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | coletores UDP; vazio desativa |
+| `-retention-days` | `30` | dias de detalhe de fluxo; os resumos são mantidos por 400 dias |
+| `-memory` | `0.10` | fração da RAM para o cache do banco de dados |
| `-sampling-wait` | `5m` | quanto tempo os registros esperam por uma taxa de amostragem |
-| `-capture` | | captura em uma interface local (repetível) |
-| `-inventory` | `/inventory.txt` | arquivo de nomes |
-| `-asn` | `/asn.tsv.gz` | tabela IP-para-ASN (arquivos `.mmdb`: envie-os, ou `/country.mmdb` e `/asn.mmdb`, `/both.mmdb`) |
-| `-threat` | `/threats/*.txt` | lista de ameaças extra no formato `name=path` (repetível) |
-| `-dns-upstream` | resolvedor do sistema | servidor DNS para exibir nomes de host |
-| `-dns-rate` | `20` | máximo de consultas reversas por segundo |
-| `-dns-cache` | `2m` | por quanto tempo os nomes de host ficam em cache |
+| `-capture` | | interface local (repetível) |
| `-no-dns` | | sem consultas reversas |
-| `-tui` | | abre também a interface de terminal |
-Exemplo: uma segunda porta de coleta, um ano de detalhe e a interface web
-só na máquina local:
+O diretório de dados guarda `raw/` (detalhe, um arquivo por hora),
+`traffic66.duckdb` (resumos e contadores), `password`, `inventory.txt`,
+`license.json`, seu logotipo e bancos de dados. Para fazer backup, pare o
+traffic66 e copie-o; para atualizar, substitua o arquivo do programa.
+**Limpeza de dados** apaga dados com mais de 7–120 dias, ou todos.
-```
-traffic66 -data /var/lib/traffic66 -listen "sflow=:6343,netflow=:2055,ipfix=:4739,netflow=:9995" -retention-days 365 -addr 127.0.0.1:8066
-```
+
-
+### Licença
-## 13. Dados, backup, atualização, desinstalação
+Código-fonte disponível sob a [PolyForm Noncommercial License 1.0.0](../LICENSE.md)
+e a [Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md) (o texto em
+inglês é o que vale): gratuito para avaliação e para organizações com menos
+de 100 pessoas; organizações maiores se registram após 30 dias de uso em
+produção; vender, hospedar para terceiros ou produtos concorrentes exigem
+uma licença comercial. Nada é desligado, nunca. O rodapé de cada página
+mostra o número de instalação de 8 dígitos; envie-o ao autor e coloque o
+`license.json` que receber de volta no diretório de dados. Contato:
+.
-O diretório de dados guarda tudo:
+
-| | |
-|---|---|
-| `raw/` | detalhe dos fluxos, um arquivo compactado por hora |
-| `traffic66.duckdb` | resumos, contadores de interface e a hora atual |
-| `password` | senhas de login (em hash) |
-| `inventory.txt` | nomes (**Configurações → Nomes**) |
-| `license.json` | número de instalação e licença (veja [Teste e licença](#trial-and-licence)) |
-| `logo.png` (ou `.svg`, `.jpg`, `.webp`, `.gif`) | seu logotipo (**Configurações → Logotipo**), se você enviou um |
-| `country.mmdb`, `asn.mmdb`, `both.mmdb`, `asn.tsv.gz`, `dbip-country.mmdb`, `dbip-asn.mmdb`, `threats/`, `sandbox/` | bancos de dados de países e redes e listas de ameaças que você adicionou |
-
-**Por quanto tempo os dados ficam**: o detalhe de fluxos 30 dias; os resumos (visão geral e períodos longos)
-400 dias. O que for mais antigo é apagado automaticamente, com verificação a cada 5 minutos; nada mais é apagado e
-não há outro limite. Altere o período do detalhe com `-retention-days`, qualquer número de dias, por exemplo
-`-retention-days 365`. O uso de disco cresce junto: **Livre** no menu lateral fica vermelho quando os dias guardados
-não cabem. Se o disco encher, novos fluxos não podem ser gravados até liberar espaço.
-
-**Limpeza de dados** no menu lateral apaga dados antes que seja preciso:
-os com mais de 120, 90, 60, 30 ou 7 dias, ou todos. Para cada opção mostra
-quantos registros de fluxo saem e quanto disco, aproximadamente, é
-liberado, e pede confirmação antes de apagar. São apagados os registros de
-fluxo, os resumos por hora e por dia, os contadores de interface e as
-detecções; apagar todos os dados também zera o que as regras de detecção
-aprenderam. Não dá para desfazer.
-
-- **Backup**: pare o traffic66 e copie o diretório. Sem parar, copie
- `raw/`, `password` e `inventory.txt`; nesse caso ficam faltando a hora
- atual e os resumos.
-- **Mudança de local**: pare o traffic66, mova o diretório e inicie com
- `-data` apontando para o novo local.
-- **Atualização**: pare o traffic66, substitua o arquivo do programa e
- inicie de novo. Os dados são mantidos. No Linux, por exemplo:
-
- ```
- sudo systemctl stop traffic66
- sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
- sudo systemctl start traffic66
- ```
-
-- **Desinstalação**: pare e remova o serviço ou a tarefa de inicialização
- (veja [Instalação](#2-install)) e depois apague a pasta do programa e o
- diretório de dados.
-
-
-
-### Teste e licença
-
-O traffic66 tem código-fonte disponível sob a
-[PolyForm Noncommercial License 1.0.0](../LICENSE.md) e a
-[Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md); o texto em
-inglês de ambas é o que vale. Em resumo:
-
-- **Avaliação**, testes, desenvolvimento e demonstrações: gratuito para
- qualquer pessoa, sem limite de tempo.
-- **Uso em produção** (tráfego real, para as operações de uma organização)
- por uma organização com menos de 100 funcionários e terceirizados:
- gratuito.
-- Uso em produção por **organizações maiores**: gratuito por 30 dias;
- depois é preciso uma licença de registro do autor.
-- Terceirizados e prestadores de serviços podem executá-lo para um
- cliente, em uma implantação do próprio cliente; vale o tamanho do
- cliente.
-- Não permitido sem licença comercial: vendê-lo ou incorporá-lo a um
- produto, oferecê-lo a terceiros como serviço hospedado ou multilocatário,
- ou um produto concorrente.
-
-Preço, escopo e prazo de uma licença de registro são definidos caso a
-caso, e ela pode ser gratuita. Contato:
-.
+## 11. Segurança, dimensionamento, solução de problemas
-Toda instalação mostra o teste, também onde não é preciso licença. Na
-primeira inicialização o traffic66 grava `license.json` no diretório de
-dados com um número de instalação de 8 dígitos. O rodapé de cada página mostra quantos dias de teste faltam e,
-depois, que o teste terminou. Nada é desligado em nenhum dos casos: todos
-os recursos continuam funcionando.
-
-Para registrar, envie ao autor o número de instalação (mostrado também no
-rodapé de cada página). A licença volta como um novo `license.json`;
-coloque-o no diretório de dados no lugar do antigo. Ela é verificada
-quando o traffic66 inicia e a cada 4 horas, então não é preciso
-reiniciar; o rodapé da página passa a mostrar para quem está licenciado e
-quantos dias faltam.
-
-
-
-## 14. Segurança
-
-- A interface web usa HTTP puro: senhas e dados trafegam pela rede sem
- criptografia. Em redes em que você não confia totalmente, escute só nesta
- máquina (`-addr 127.0.0.1:8066`) e coloque um proxy reverso com TLS na
- frente, por exemplo com o [Caddy](https://caddyserver.com):
- `caddy reverse-proxy --from traffic66.example.com --to 127.0.0.1:8066`.
- Ou acesse por VPN ou túnel SSH:
- `ssh -L 8066:127.0.0.1:8066 user@192.0.2.50` e abra
- http://127.0.0.1:8066.
-- Libere as portas UDP de coleta apenas para os endereços dos seus
- equipamentos.
-- As communities SNMP em `inventory.txt` ficam gravadas em texto puro; use
- uma community somente leitura.
-
-
-
-## 15. Dimensionamento
-
-Medido a 5.000 fluxos por segundo em uma máquina com 2 núcleos: o detalhe
-ocupa cerca de 12 GB de disco por dia, mais cerca de 1,5 GB para a hora
-atual; o programa usa um sexto de um núcleo.
-Visões gerais de intervalos longos vêm dos resumos e levam menos de 0,2 s.
-Consultas sobre o detalhe varrem cerca de 22 milhões de linhas por hora: um
-host em 1 hora leva menos de 1 s, um Top 66 de 1 hora de todas as conversas
-cerca de 9 s; o tempo cresce com o intervalo e cai com mais núcleos.
-
-Portanto, 30 dias a 5.000 fluxos/s ocupam cerca de 360 GB de disco; ajuste
-conforme a sua taxa de fluxos (mostrada em **Configurações**) e `-retention-days`.
-
-Memória: `-memory` (padrão 10% da RAM, pelo menos 256 MB) limita o cache do
-banco de dados, e o resto do programa recebe um limite flexível do mesmo
-tamanho. A 5.000 fluxos por segundo, os dados do próprio programa
-(decodificação, detecção de duplicatas, lotes) ocupam cerca de 90 MB; no
-total, conte com 0,6–0,8 GB, então uma máquina com 2 GB de RAM basta.
-Medido em 10 minutos de coleta contínua (pico de 0,58 GB em uma máquina de
-8 GB) e ao carregar uma hora de fluxos a onze vezes essa taxa com os limites
-de uma máquina de 2 GB (pico de 0,74 GB).
-
-`-memory` é um orçamento, não um teto rígido: o limite do Go é flexível e o
-banco de dados pode ultrapassar brevemente sua parte. Para um teto rígido,
-use o do sistema operacional: `MemoryMax=` na unit systemd (seção 2) ou o
-limite de memória de um contêiner. Reserve cerca de 2,5 vezes a parte do
-`-memory` e pelo menos 1 GB; `MemoryMax=2G` serve para máquinas com até
-8 GB com a parte padrão. Assim o traffic66 reinicia em vez de a máquina
-ficar sem memória.
-
-
-
-## 16. Solução de problemas
-
-| Sintoma | Causa e solução |
-|---|---|
-| Equipamento não aparece em **Configurações** | Os pacotes não chegam: veja [Verificar se os fluxos estão chegando](#5-check-that-flows-arrive) |
-| "waiting for the sampling rate" | O equipamento ainda não enviou as opções do sampler; a maioria reenvia em poucos minutos. Se nunca enviar, exporte-as (`option sampler-table` no Cisco) ou marque-o como `unsampled` em Nomes se ele for de fato 1:1, ou informe a taxa com `sampling=N` na linha `device` dele. **Configurações** lista então os templates que o equipamento enviou, para ver o que ele declara |
-| Números abaixo dos contadores de interface | Veja **Conferência de interfaces**: perdas no caminho, interfaces não amostradas ou fluxos ainda no cache do equipamento (timeout ativo acima de 60 s) |
-| Números acima dos contadores de interface | O mesmo tráfego amostrado em duas interfaces ou dois equipamentos |
-| Sem países nem redes ("Desconhecido") | Nenhum banco de dados carregado: envie um em **Configurações**; veja [Países](#8-countries-networks-and-threat-lists) |
-| "O banco de dados atingiu o limite de memória e não conseguiu responder" em uma página | Escolha um período menor ou inicie com um `-memory` maior; os detalhes estão no log |
-| Esqueci a senha | `traffic66 passwd` na máquina do traffic66 (adicione `-data` se o traffic66 roda com ele) |
-| `Conflicting lock is held` | Outro traffic66 já usa este diretório de dados |
-| `receive buffer is only … KB` | O Linux limita os buffers UDP: defina `net.core.rmem_max=16777216` (veja [Linux](#linux)) |
-| `cannot create the data directory` | Este usuário não tem permissão de escrita na pasta do programa: informe `-data` |
-| macOS: "cannot be opened" ou "developer cannot be verified" | `xattr -dr com.apple.quarantine ` |
-| Windows: "O Windows protegeu o computador" | **Mais informações** → **Executar assim mesmo**; o programa ainda não é assinado |
-| Captura no Windows: Npcap não encontrado | Instale o [Npcap](https://npcap.com) |
-| `address already in use` | Outro programa usa a porta: escolha outras com `-addr` ou `-listen` |
-
-
-
-## 17. Compilar a partir do código-fonte
-
-Go 1.24 e um compilador C (gcc ou clang; MinGW-w64 no Windows):
+A interface web usa HTTP puro: em redes não confiáveis, use
+`-addr 127.0.0.1:8066` atrás de um proxy TLS (`caddy reverse-proxy --from traffic66.example.com --to
+127.0.0.1:8066`) ou de um túnel SSH. Libere as portas UDP apenas para os
+seus equipamentos. As communities SNMP ficam gravadas em texto puro; use
+communities somente leitura.
-```
-git clone https://github.com/githubflyideas/traffic66
-cd traffic66
-scripts/build.sh 0.1.0 traffic66
-```
+A 5.000 fluxos/s em 2 núcleos: cerca de 12 GB de disco por dia de detalhe
+(360 GB para 30 dias), um sexto de um núcleo, 0,6–0,8 GB de memória. Visões
+gerais de intervalos longos levam menos de 0,2 s; um Top 66 de 1 hora de
+todas as conversas, cerca de 9 s.
+
+| Sintoma | Solução |
+|---|---|
+| "waiting for the sampling rate" | Exporte as opções do sampler, ou `sampling=N` / `unsampled` na linha do equipamento |
+| Abaixo dos contadores | Interfaces não amostradas, perdas ou um timeout ativo acima de 60 s |
+| Acima dos contadores | O mesmo tráfego amostrado em duas interfaces ou dois equipamentos |
+| Esqueci a senha | `traffic66 passwd` na máquina do traffic66 |
+| `Conflicting lock is held` | Outro traffic66 usa este diretório de dados |
+| `address already in use` | Escolha outras portas com `-addr` ou `-listen` |
+| Windows: "O Windows protegeu o computador" | **Mais informações** → **Executar assim mesmo** |
+
+Compilar a partir do código-fonte: Go 1.24 e um compilador C, depois `scripts/build.sh 0.1.0 traffic66`.
diff --git a/docs/README.ru.md b/docs/README.ru.md
index 4b4c198..629ecac 100644
--- a/docs/README.ru.md
+++ b/docs/README.ru.md
@@ -2,344 +2,128 @@
# traffic66
-Анализ потоков sFlow, NetFlow и IPFIX в одной программе. traffic66
-принимает экспорт потоков от коммутаторов, маршрутизаторов и межсетевых
-экранов, хранит его во встроенной базе данных и показывает, кто занимает
+Анализ потоков sFlow, NetFlow и IPFIX в одной программе: кто занимает
полосу, куда уходит трафик и сходятся ли цифры с собственными счётчиками
интерфейсов устройств — в веб-интерфейсе и в терминальном интерфейсе.
-- Один исполняемый файл для Windows, Linux и macOS. Не нужно ставить ни
- базу данных, ни среду выполнения; работает без доступа в интернет.
-- sFlow v5, NetFlow v5, NetFlow v9 и IPFIX на любом UDP-порту; при желании —
- локальный захват с сетевого интерфейса или зеркального порта.
-- Сверяет свои цифры со счётчиками интерфейсов (счётчики sFlow или SNMP) и,
- если они расходятся, объясняет почему.
-- Находит в потоках сканирования, подбор паролей, боковое перемещение,
- необычные выгрузки, флуд и трафик со списков угроз, в том числе при
- сэмплировании, и выводит их списком обнаружений, требующих реакции.
-- Списки Top 66, кто с кем обменивается трафиком в виде кольцевых диаграмм
- (серверы и их клиенты, сервисы и их серверы), трафик во времени по
- интерфейсам и сетям (AS), пути трафика, страны на карте мира, совпадения
- со списками угроз, записи потоков, инкапсуляция (GRE, IPIP, VXLAN, GENEVE,
- MPLS).
-- `traffic66 capture.pcap` открывает до 3 захватов (всего до 3 ГБ) в веб-интерфейсе: потоки, находки, страны и записи за весь захват, без настройки.
-- 13 языков в веб-интерфейсе и в терминальном интерфейсе.
-- Исходный код открыт для ознакомления: бесплатно для оценки и для организаций
- численностью менее 100 человек; более крупные организации регистрируются
- после 30 дней промышленного использования. Ничего никогда не отключается
- (см. [Пробный период и лицензия](#trial-and-licence)).
+- Один исполняемый файл для Windows, Linux и macOS; не нужно ставить базу данных, работает без доступа в интернет.
+- sFlow v5, NetFlow v5/v9 и IPFIX на любом UDP-порту или локальный захват с интерфейса.
+- Сверяет свои цифры со счётчиками интерфейсов (sFlow или SNMP) и объясняет, почему они расходятся.
+- Находит сканирования, подбор паролей, боковое перемещение, необычные выгрузки, флуд и трафик со списков угроз, в том числе при сэмплировании.
+- `traffic66 capture.pcap` анализирует захваты пакетов без какой-либо настройки.
+- 13 языков. Бесплатно для оценки и для организаций численностью менее 100 человек ([лицензия](#licence)).

-Все скриншоты сделаны в `traffic66 demo` — смоделированной сети компании, которую можно запустить самому (см. [Попробовать демо](#1-try-the-demo)).
+Все скриншоты сделаны в `traffic66 demo` — смоделированной сети компании.
## Содержание
1. [Попробовать демо](#1-try-the-demo)
-2. [Установка](#2-install) — [Linux](#linux) · [Windows](#windows) · [macOS](#macos)
+2. [Установка](#2-install)
3. [Пользователи и пароли](#3-users-and-passwords)
4. [Отправка потоков с устройств](#4-send-flows-from-your-devices)
5. [Проверка поступления потоков](#5-check-that-flows-arrive)
-6. [Как добиться совпадения со счётчиками интерфейсов](#6-make-the-numbers-match-the-interface-counters)
-7. [Названия, SNMP и собственные сети](#7-names-snmp-and-your-own-networks)
-8. [Страны, сети и списки угроз](#8-countries-networks-and-threat-lists)
-9. [Работа с веб-интерфейсом](#9-using-the-web-ui)
-10. [Терминальный интерфейс](#10-terminal-ui)
-11. [Локальный захват](#11-local-capture)
-12. [Параметры](#12-options)
-13. [Данные, резервное копирование, обновление, удаление](#13-data-backup-upgrade-uninstall)
-14. [Безопасность](#14-security)
-15. [Оценка ресурсов](#15-sizing)
-16. [Устранение неполадок](#16-troubleshooting)
-17. [Сборка из исходников](#17-build-from-source)
+6. [Интерфейсы и счётчики](#6-interfaces-and-counters)
+7. [Названия, страны и списки угроз](#7-names-countries-and-threat-lists)
+8. [Работа с веб-интерфейсом](#8-using-the-web-ui)
+9. [Офлайн-анализ pcap, терминальный интерфейс, локальный захват](#9-offline-pcap-terminal-ui-local-capture)
+10. [Параметры и данные](#10-options-and-data)
+11. [Безопасность, оценка ресурсов, устранение неполадок](#11-security-sizing-troubleshooting)
## 1. Попробовать демо
Скачайте архив для своей системы со
-[страницы релизов](https://github.com/githubflyideas/traffic66/releases):
-
-| Система | Архив |
-|---|---|
-| Windows 10/11, Server 2016 и новее (x64) | `traffic66-windows-amd64.zip` |
-| Linux x86-64: любой дистрибутив с ядром 3.2 или новее, включая CentOS 7 и Alpine | `traffic66-linux-amd64.tar.gz` |
-| Linux ARM64: те же дистрибутивы | `traffic66-linux-arm64.tar.gz` |
-| macOS 11 и новее, Apple silicon | `traffic66-darwin-arm64.tar.gz` |
-| macOS 11 и новее, Intel | `traffic66-darwin-amd64.tar.gz` |
-
-Linux:
-
-```
-tar xzf traffic66-linux-amd64.tar.gz
-cd traffic66-linux-amd64
-./traffic66 demo -password try66
-```
-
-macOS (вторая строка разрешает macOS запускать скачанную из интернета
-программу не из App Store):
+[страницы релизов](https://github.com/githubflyideas/traffic66/releases)
+(Windows x64, Linux x86-64/ARM64 с ядром 3.2+, macOS 11+), распакуйте его и запустите:
```
-tar xzf traffic66-darwin-arm64.tar.gz
-xattr -dr com.apple.quarantine traffic66-darwin-arm64
-cd traffic66-darwin-arm64
-./traffic66 demo -password try66
+./traffic66 demo -password try66 # Linux, macOS
+.\traffic66.exe demo -password try66 # Windows
```
-Windows (PowerShell):
-
-```
-Expand-Archive traffic66-windows-amd64.zip .
-cd traffic66-windows-amd64
-.\traffic66.exe demo -password try66
-```
-
-Откройте http://127.0.0.1:8066 и войдите как `admin` / `try66`. Демо
-разворачивает небольшую сеть компании с историей за сутки и живым трафиком от
-четырёх имитируемых устройств, в том числе с атакой: на странице
-**Обнаружения** видны все её шаги (сканирование, сканирование портов, подбор
-паролей, боковое перемещение, выгрузка на управляющий сервер) и флуд на
-публичный сайт. Нажмите **Подробнее** у обнаружения или начните со страницы
-**Обзор**, щёлкните хост в **Основные клиенты**, выберите **Подробнее** и
-дальше идите по щелчкам. Остановка — Ctrl+C. Данные демо лежат в
-`traffic66-demo` рядом с программой; удалите эту папку, чтобы начать демо с нуля.
-
-Демо использует те же порты, что и рабочая установка (8066 и UDP 6343,
-2055, 4739). Чтобы запустить его рядом с рабочей, задайте другие порты:
-`traffic66 demo -password try66 -addr :8067 -listen ""`.
-
-В Windows можно также просто дважды щёлкнуть `traffic66.exe`. Так traffic66
-запускается по-настоящему (не демо) и открывает веб-интерфейс в браузере;
-пароль первого запуска показывается в чёрном окне, а закрытие окна
-останавливает traffic66. Если Windows сообщает
-"Система Windows защитила ваш компьютер", нажмите **Подробнее** →
-**Выполнить в любом случае**.
+В macOS сначала выполните `xattr -dr com.apple.quarantine `. Откройте
+http://127.0.0.1:8066 и войдите как `admin` / `try66`: сутки истории и живой
+трафик от четырёх имитируемых устройств, включая атаку, показанную шаг за
+шагом на странице **Обнаружения**. Ctrl+C останавливает демо; удалите
+`traffic66-demo`, чтобы начать заново. Чтобы запустить его рядом с
+настоящей установкой: `-addr :8067 -listen ""`.
## 2. Установка
-traffic66 — это один файл. Установить его — значит положить его в нужное
-место, выбрать каталог данных, задать пароль, открыть порты в межсетевом
-экране и включить автозапуск. В примерах `192.0.2.50` — машина с
-traffic66, а `192.0.2.1` — маршрутизатор; подставьте свои адреса.
-
-Порты:
-
-| Порт | Назначение |
-|---|---|
-| UDP 6343 | sFlow (по умолчанию) |
-| UDP 2055 | NetFlow (по умолчанию) |
-| UDP 4739 | IPFIX (по умолчанию) |
-| TCP 8066 | веб-интерфейс и API |
+traffic66 — это один файл. Порты: UDP 6343 (sFlow), 2055 (NetFlow), 4739
+(IPFIX), TCP 8066 (веб-интерфейс); каждый UDP-порт принимает любой протокол.
-Каждый UDP-порт принимает любой протокол, так что устройство может слать
-NetFlow и на 6343, если так удобнее. Изменить или добавить порты можно
-через `-listen`.
-
-
-
-### Linux
+**Linux** (systemd):
```
-sudo mkdir -p /opt/traffic66
-sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
+sudo mkdir -p /opt/traffic66 && sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
sudo useradd --system --no-create-home --shell /usr/sbin/nologin traffic66
sudo install -d -o traffic66 -g traffic66 /var/lib/traffic66
sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66
```
-Последняя команда запросит пароль пользователя `admin`.
-
-Создайте `/etc/systemd/system/traffic66.service`:
+`/etc/systemd/system/traffic66.service`:
```
[Unit]
Description=traffic66 flow analytics
After=network-online.target
-Wants=network-online.target
[Service]
User=traffic66
ExecStart=/opt/traffic66/traffic66 -data /var/lib/traffic66
Restart=on-failure
-# hard memory limit for the whole process (see Sizing)
MemoryMax=2G
-# only needed for local capture (-capture):
-#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
+#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN # only for local capture
[Install]
WantedBy=multi-user.target
```
-Запустите службу и увеличьте допустимый размер UDP-буферов, чтобы не
-терять пакеты при всплесках:
-
```
-echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf
-sudo sysctl --system
-sudo systemctl daemon-reload
-sudo systemctl enable --now traffic66
-sudo systemctl status traffic66
-journalctl -u traffic66 -f
+echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf && sudo sysctl --system
+sudo systemctl daemon-reload && sudo systemctl enable --now traffic66
+sudo firewall-cmd --permanent --add-port={6343,2055,4739}/udp --add-port=8066/tcp && sudo firewall-cmd --reload
```
-Межсетевой экран, если это firewalld (RHEL, Rocky, Alma, Fedora):
+**Windows** (PowerShell от имени администратора): распакуйте в `C:\traffic66`,
+выполните `C:\traffic66\traffic66.exe passwd`, откройте порты и настройте
+запуск при загрузке:
```
-sudo firewall-cmd --permanent --add-port=6343/udp --add-port=2055/udp --add-port=4739/udp --add-port=8066/tcp
-sudo firewall-cmd --reload
-```
-
-или ufw (Ubuntu, Debian):
-
-```
-sudo ufw allow 6343,2055,4739/udp
-sudo ufw allow 8066/tcp
-```
-
-
-
-### Windows
-
-Распакуйте в `C:\traffic66` и задайте пароль (PowerShell от имени
-администратора):
-
-```
-Expand-Archive traffic66-windows-amd64.zip C:\
-Rename-Item C:\traffic66-windows-amd64 C:\traffic66
-C:\traffic66\traffic66.exe passwd
-```
-
-Данные пишутся в `C:\traffic66\traffic66-data`, рядом с программой.
-
-Откройте порты в межсетевом экране:
-
-```
-New-NetFirewallRule -DisplayName "traffic66 flows" -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
-New-NetFirewallRule -DisplayName "traffic66 web" -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
-```
-
-Чтобы попробовать в интерактивном режиме, запустите
-`C:\traffic66\traffic66.exe` и остановите по Ctrl+C. Чтобы программа
-работала в фоне с момента загрузки, даже когда никто не вошёл в систему,
-зарегистрируйте её как задачу автозапуска:
-
-```
-$action = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
-$trigger = New-ScheduledTaskTrigger -AtStartup
-$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
-Register-ScheduledTask -TaskName traffic66 -Action $action -Trigger $trigger -Settings $settings -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
+New-NetFirewallRule -DisplayName traffic66 -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
+New-NetFirewallRule -DisplayName traffic66-web -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
+$a = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
+$s = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1)
+Register-ScheduledTask -TaskName traffic66 -Action $a -Trigger (New-ScheduledTaskTrigger -AtStartup) -Settings $s -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
Start-ScheduledTask -TaskName traffic66
```
-`-ExecutionTimeLimit ([TimeSpan]::Zero)` обязателен: без него Windows
-останавливает задачу через три дня. Остановить задачу — `Stop-ScheduledTask -TaskName
-traffic66`, удалить — `Unregister-ScheduledTask -TaskName traffic66`.
-
-
-
-### macOS
-
-```
-sudo mkdir -p /usr/local/traffic66
-sudo tar xzf traffic66-darwin-arm64.tar.gz -C /usr/local/traffic66 --strip-components=1
-sudo xattr -dr com.apple.quarantine /usr/local/traffic66
-sudo /usr/local/traffic66/traffic66 passwd -data "/Library/Application Support/traffic66"
-```
-
-Создайте `/Library/LaunchDaemons/traffic66.plist`:
+Можно также просто дважды щёлкнуть `traffic66.exe`: он откроет
+веб-интерфейс и покажет пароль первого запуска в своём окне.
-```
-
-
-
-
- Labeltraffic66
- ProgramArguments
-
- /usr/local/traffic66/traffic66
- -data
- /Library/Application Support/traffic66
-
- RunAtLoad
- KeepAlive
- StandardErrorPath/Library/Logs/traffic66.log
-
-
-```
-
-Запуск и остановка:
-
-```
-sudo launchctl bootstrap system /Library/LaunchDaemons/traffic66.plist
-tail -f /Library/Logs/traffic66.log
-sudo launchctl bootout system/traffic66
-```
-
-Если в macOS включён брандмауэр, разрешите входящие подключения для
-traffic66 в Системных настройках → Сеть → Брандмауэр → Параметры.
+**macOS**: распакуйте в `/usr/local/traffic66`, снимите флаг карантина,
+выполните `traffic66 passwd -data "/Library/Application Support/traffic66"` и
+запускайте его через LaunchDaemon, у которого `ProgramArguments` — это
+программа, `-data` и этот каталог, с `RunAtLoad` и `KeepAlive`.
## 3. Пользователи и пароли
-**Коротко:** пользователи и пароли хранятся в одном файле, `password`, в
-каталоге данных. Вручную его не редактируют: команда `traffic66 passwd`
-добавляет, меняет, выводит списком и удаляет пользователей. Откройте
-`http://:8066` и войдите под одним из них.
-
-
-
-### Первый вход
-
При первом запуске traffic66 создаёт пользователя `admin` со случайным
-паролем и один раз показывает его:
-
-```
-first start: sign in as user "admin" with password "3f9c2a7e5b1d8046"
-```
-
-- Запуск двойным щелчком в Windows: в чёрном окне.
-- Запуск в терминале: в этом же терминале.
-- Служба Linux: `journalctl -u traffic66 | grep "first start"`
-- Служба macOS: `grep "first start" /Library/Logs/traffic66.log`
-
-Пропустили? Задайте новый командой `traffic66 passwd` (см. ниже). Если пароль
-задан командой `traffic66 passwd` до первого запуска, как в шагах установки
-выше, ничего не генерируется.
-
-
-
-### Где хранятся пользователи
-
-В файле `password` в каталоге данных:
-
-| Как запущен traffic66 | Файл |
-|---|---|
-| Распакован и запущен из своей папки (по умолчанию) | `traffic66-data/password` рядом с программой |
-| Служба Linux (раздел 2) | `/var/lib/traffic66/password` |
-| Задача автозапуска Windows (раздел 2) | `C:\traffic66\traffic66-data\password` |
-| Служба macOS (раздел 2) | `/Library/Application Support/traffic66/password` |
-| Демо | `traffic66-demo/password` рядом с программой |
-
-Одна строка на пользователя. Пароли хранятся в виде хешей с солью, поэтому
-прочитать их из файла не может никто, даже вы; если пароль забыт, задайте
-новый. Читать файл может только его владелец.
-
-```
-# traffic66 login, one user per line; change with: traffic66 passwd
-admin:pbkdf2-sha256$210000$…
-alice:pbkdf2-sha256$210000$…
-```
-
-
-
-### Управление пользователями
-
-Выполняйте эти команды на машине с traffic66:
+паролем и выводит его один раз (в окне, в терминале или в
+`journalctl -u traffic66 | grep "first start"`). Пользователи хранятся в виде
+хешей с солью в файле `password` в каталоге данных и управляются одной
+командой на машине с traffic66 (добавьте `-data …`, если traffic66 запущен
+с этим параметром):
| Задача | Команда |
|---|---|
@@ -347,74 +131,28 @@ alice:pbkdf2-sha256$210000$…
| Добавить пользователя `alice` или сменить её пароль | `traffic66 passwd -user alice` |
| Удалить пользователя `alice` | `traffic66 passwd -user alice -delete` |
| Вывести список пользователей | `traffic66 passwd -list` |
-| Задать случайный пароль и вывести его | `traffic66 passwd -generate` (с `-user` для других пользователей) |
-
-- Команда дважды запрашивает новый пароль и не показывает вводимые символы.
- Используйте не меньше 8 символов.
-- Если traffic66 запущен с `-data`, добавьте тот же `-data` к команде. Для
- службы Linux из раздела 2:
-
- ```
- sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66 -user alice
- ```
-
- В Windows (PowerShell от имени администратора):
-
- ```
- C:\traffic66\traffic66.exe passwd -user alice
- ```
-
-- Изменения действуют сразу, без перезапуска: новый пароль работает при
- следующем входе, а удалённый пользователь выходит из открытых браузеров.
-- Последнего оставшегося пользователя удалить нельзя; сначала добавьте
- другого.
-- Все пользователи видят и могут менять одно и то же; ролей нет.
-
-
-
-### Пароли для скриптов и контейнеров
-
-`TRAFFIC66_PASSWORD=…` в окружении или `-password …` в командной строке
-заставляют traffic66 на этот запуск принимать ровно одного пользователя:
-указанного в `-user` (по умолчанию `admin`) с этим паролем. Файл `password`
-при этом игнорируется и не меняется. Лучше использовать переменную окружения:
-командную строку видят другие пользователи машины.
-
-```
-TRAFFIC66_PASSWORD='s3cret-pass' traffic66 -user ops
-```
-После пяти неверных паролей в течение минуты адрес блокируется на минуту.
+Изменения применяются сразу. У всех пользователей одинаковые права. Для
+скриптов и контейнеров `TRAFFIC66_PASSWORD=…` (или `-password`) на этот
+запуск принимает только `-user` с этим паролем. Пять неверных паролей за
+минуту блокируют адрес на минуту.
## 4. Отправка потоков с устройств
-Направьте каждое устройство на машину с traffic66. Команды зависят от
-модели и версии ПО — сверяйтесь с документацией устройства. Во всех
-примерах `192.0.2.50` — это traffic66, а `192.0.2.1` — собственный адрес
-устройства.
-
-Общие рекомендации:
-
-- Задайте active flow timeout 60 секунд. При больших значениях трафик
- приходит с опозданием и крупными порциями.
-- Если устройство сэмплирует NetFlow/IPFIX, включите экспорт sampler
- options, чтобы коэффициент был известен. traffic66 придерживает записи до
- получения коэффициента, а не считает их как 1:1.
-- Сэмплируйте либо все интерфейсы, либо только граничные, и в одном
- направлении. Если один и тот же трафик сэмплируется на входе и на выходе,
- он считается дважды; страница **Сверка интерфейсов** на это укажет.
-- Коэффициент сэмплирования sFlow: около 1:1000 для каналов 1 Гбит/с,
- 1:4096 для 10 Гбит/с, 1:8192 для 40/100 Гбит/с.
-
-Cisco IOS / IOS-XE (Flexible NetFlow):
+`192.0.2.50` — это traffic66, `192.0.2.1` — устройство. Установите активный
+тайм-аут 60 секунд, разрешите устройствам NetFlow/IPFIX экспортировать
+параметры сэмплера и сэмплируйте **каждый интерфейс на входе** (или только
+граничные интерфейсы): тогда каждый пакет учитывается один раз. Частоты
+sFlow: примерно 1:1000 для 1 Гбит/с, 1:4096 для 10 Гбит/с, 1:8192 для
+40/100 Гбит/с.
```
+! Cisco IOS-XE, NetFlow v9
flow exporter T66
destination 192.0.2.50
transport udp 2055
- export-protocol netflow-v9
option sampler-table
flow monitor T66
exporter T66
@@ -424,39 +162,8 @@ interface GigabitEthernet0/0/0
ip flow monitor T66 input
```
-Cisco NX-OS (sFlow):
-
-```
-feature sflow
-sflow collector-ip 192.0.2.50 vrf default
-sflow collector-port 6343
-sflow agent-ip 192.0.2.1
-sflow sampling-rate 4096
-sflow counter-poll-interval 30
-sflow data-source interface ethernet 1/1
-```
-
-Arista EOS (sFlow):
-
-```
-sflow sample 4096
-sflow destination 192.0.2.50
-sflow source-interface Management1
-sflow run
-```
-
-Juniper EX / QFX (sFlow):
-
-```
-set protocols sflow collector 192.0.2.50 udp-port 6343
-set protocols sflow sample-rate ingress 4096
-set protocols sflow polling-interval 30
-set protocols sflow interfaces ge-0/0/0
-```
-
-Huawei CloudEngine (sFlow):
-
```
+# Huawei CloudEngine, sFlow (H3C Comware is similar)
sflow agent ip 192.0.2.1
sflow collector 1 ip 192.0.2.50
interface 10GE1/0/1
@@ -467,46 +174,22 @@ interface 10GE1/0/1
sflow counter interval 30
```
-H3C Comware (sFlow):
-
-```
-sflow agent ip 192.0.2.1
-sflow collector 1 ip 192.0.2.50 port 6343
-interface Ten-GigabitEthernet1/0/1
- sflow sampling-rate 4096
- sflow flow collector 1
- sflow counter interval 30
- sflow counter collector 1
```
+# Juniper EX/QFX, sFlow
+set protocols sflow collector 192.0.2.50 udp-port 6343
+set protocols sflow sample-rate ingress 4096
+set protocols sflow interfaces ge-0/0/0
-MikroTik RouterOS 7 (NetFlow v9 / IPFIX):
+# Arista EOS, sFlow
+sflow sample 4096
+sflow destination 192.0.2.50
+sflow run
-```
+# MikroTik RouterOS 7
/ip traffic-flow set enabled=yes interfaces=all active-flow-timeout=1m
/ip traffic-flow target add dst-address=192.0.2.50 port=2055 version=9
-```
-
-FortiGate FortiOS 7.4.2 и новее (NetFlow v9):
-
-```
-config system netflow
- config collectors
- edit 1
- set collector-ip 192.0.2.50
- set collector-port 2055
- next
- end
-end
-config system interface
- edit port1
- set netflow-sampler both
- next
-end
-```
-Серверы и хосты Linux, через softflowd (NetFlow v9):
-
-```
+# Linux host, softflowd
softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
```
@@ -514,330 +197,118 @@ softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
## 5. Проверка поступления потоков
-Откройте **Настройки**. Каждое устройство, которое что-либо присылает,
-появляется там за несколько секунд — с протоколом, коэффициентом
-сэмплирования, потерями, временем последнего пакета и статусом. Если
-статус не зелёный, текст рядом с ним объясняет, что не так и что изменить.
-
-**Потеряно** — сэмплы или записи, которые так и не дошли. Для sFlow текст
-поясняет, где они потерялись: по пути сюда (пропуски в порядковых номерах:
-сеть или приёмный буфер UDP этой машины; если `netstat -su` показывает рост
-ошибок приёмного буфера, увеличьте `net.core.rmem_max`) или в самом
-устройстве (sFlow сообщает о сэмплах, отброшенных устройством: его экспорт
-sFlow ограничен по скорости, поэтому сэмплируйте реже или поднимите лимит
-устройства). Итоги компенсируются в обоих случаях; детализация по хостам —
-нет.
+**Настройки** в течение нескольких секунд показывают каждое устройство,
+которое хоть что-то отправляет: протокол, частоту сэмплирования, потери,
+интерфейсы с выборкой и что исправить, если статус не зелёный. Потери sFlow
+разделяются на потери в пути (увеличьте `net.core.rmem_max`, если
+`netstat -su` показывает ошибки буфера) и выборки, отброшенные самим
+устройством.

-Если устройство не появилось:
-
-1. Проверьте, приходят ли пакеты на машину с traffic66 (Linux, macOS):
- `sudo tcpdump -ni any udp port 6343 or udp port 2055 or udp port 4739`.
- Если там пусто, пакеты до машины не доходят: проверьте конфигурацию
- устройства, маршрутизацию и межсетевые экраны на пути.
-2. Пакеты приходят, но **Настройки** остаются пустыми: их отбрасывает
- локальный межсетевой экран (см. [Установка](#2-install)) или traffic66
- слушает другие порты (`-listen`).
-3. Чтобы проверить путь с другой машины, не трогая устройства, запустите
- там на несколько секунд `traffic66 simulate -to 192.0.2.50`. Команда
- шлёт sFlow, NetFlow и IPFIX от имитируемых устройств; они появятся в
- **Настройки** и в данных, поэтому лучше делать это на тестовой установке.
-
-
-
-## 6. Как добиться совпадения со счётчиками интерфейсов
-
-Цифры по потокам — это оценки: число сэмплированных пакетов, умноженное на
-коэффициент сэмплирования. traffic66 сравнивает их с собственными
-счётчиками интерфейсов устройства и показывает разницу на странице
-**Сверка интерфейсов**, а если она больше, чем можно объяснить одним
-сэмплированием, — и вероятную причину. Для каждого интерфейса есть график в
-бит/с во всю ширину и под ним график в пакетах/с, с входящим (зелёный) и
-исходящим (синий) трафиком; собственные счётчики устройства показаны пунктиром
-на графике в бит/с. Выбор интерфейса в списке показывает его графики.
-
-В каждой строке списка две кнопки. **✎** задаёт интерфейсу имя и короткую
-метку (например, *uplink*), которая везде показывается рядом с его именем.
-**☆** делает его основным интерфейсом (**★**); основной интерфейс только один.
-Тогда страницы открываются на нём (см. выбор **Интерфейс** в разделе
-[Работа с веб-интерфейсом](#9-using-the-web-ui)), а обзор показывает его
-полосу пропускания. И то и другое сразу сохраняется в строку `iface` в
-разделе **Названия**.
-
-В записях потоков указаны два интерфейса: тот, через который пакет вошёл, и
-тот, через который вышел. Поэтому устройство, которое делает выборку только на
-части интерфейсов, показывает и другие концы их потоков. Эти **встречные
-интерфейсы** перечислены последними, мелким серым шрифтом, под отдельным
-заголовком: их числа содержат только трафик, прошедший через интерфейс с
-выборкой, а не весь их трафик. В выборе **Интерфейс** над страницами их нет.
-traffic66 узнаёт, какой интерфейс сделал выборку потока, по источнику данных
-sFlow или по полю flowDirection (IPFIX 61) в NetFlow v9 и IPFIX (ingress:
-входной интерфейс, egress: выходной). Без этого поля интерфейсом с выборкой
-считается тот, через который идёт не менее 90% трафика устройства; если такого
-нет, никакой интерфейс не отмечается. **Настройки** показывают для каждого
-устройства интерфейсы с выборкой и то, есть ли в его шаблонах flowDirection (61).
-Чтобы видеть весь трафик устройства, делайте выборку на входе каждого
-интерфейса (см. [Отправка потоков с устройств](#4-send-flows-from-your-devices)).
+Устройства нет? Выполните `sudo tcpdump -ni any udp port 6343 or udp port 2055
+or udp port 4739`: если там пусто — дело в маршрутизации, межсетевом экране
+или конфигурации устройства; если пакеты есть, а в **Настройках** ничего
+нет — в локальном межсетевом экране или `-listen`. `traffic66 simulate -to 192.0.2.50`
+с другой машины проверяет путь с имитируемыми устройствами.
-
+
-Откуда взять счётчики для сравнения:
+## 6. Интерфейсы и счётчики
-- Устройства sFlow присылают их сами, если задан интервал счётчиков
- (`sflow counter interval 30` и аналоги).
-- Для устройств NetFlow и IPFIX добавьте строку `snmp` в **Настройки → Названия**
- (см. [Названия](#7-names-snmp-and-your-own-networks)). Тогда traffic66
- будет считывать счётчики интерфейсов каждую минуту.
+Цифры по потокам — это оценки (выборки × частота сэмплирования).
+**Сверка интерфейсов** сравнивает их со счётчиками интерфейсов устройства
+(счётчики sFlow или SNMP через строку `snmp` в Названиях) и объясняет,
+почему они расходятся: интерфейсы без выборки, один и тот же трафик
+сэмплирован дважды, потери в пути или неизвестная частота сэмплирования. У
+каждого интерфейса есть график в бит/с и в пакетах/с: вход зелёный, выход
+синий, счётчики пунктиром.
-Что traffic66 уже делает, чтобы цифры сходились: берёт коэффициент
-сэмплирования, фактически применённый устройством; придерживает записи
-NetFlow/IPFIX, пока коэффициент неизвестен; компенсирует экспортные
-пакеты, потерянные по пути; распределяет длинные потоки по минутам, в
-течение которых они шли; добавляет к байтам NetFlow/IPFIX по 18 байт
-накладных расходов Ethernet на пакет (счётчики интерфейсов их включают,
-а счётчики потоков на уровне IP — нет; меняется через `-l2-overhead`).
+В каждой строке **✎** задаёт название и короткую метку (например, *uplink*),
+а **☆** делает интерфейс основным (★) — на нём открываются страницы.
-Типичные причины оставшейся разницы, и все они видны на странице
-**Сверка интерфейсов**: часть интерфейсов не сэмплируется, один и тот же
-трафик сэмплируется на двух интерфейсах, экспортные пакеты теряются, не
-дойдя до traffic66, или коэффициент сэмплирования ещё неизвестен.
+Устройство, сэмплирующее только часть интерфейсов, показывает и другие
+концы этих потоков. Эти **встречные интерфейсы** перечислены последними
+мелким серым шрифтом: в них только трафик через сэмплируемый интерфейс.
+Сэмплируемый интерфейс известен из источника данных sFlow или поля
+flowDirection (IPFIX 61); без него — это интерфейс, через который проходит
+90% трафика устройства.
-
+
-## 7. Названия, SNMP и собственные сети
+traffic66 уже использует частоту, применённую устройством, ждёт неизвестные
+частоты, компенсирует потери экспорта, распределяет длинные потоки по их
+минутам и добавляет к NetFlow/IPFIX 18 байт накладных расходов Ethernet на
+пакет (`-l2-overhead`).
-Быстрее всего дать название хосту или устройству так: щёлкните его адрес на
-любой странице и выберите **Дать название…**. Введите название и нажмите
-Enter; оно сразу сохраняется и показывается везде вместо голого адреса.
+
-Для сетей, интерфейсов и SNMP используйте **Настройки → Названия**: выберите
-тип (хост, сеть, устройство, интерфейс, SNMP), укажите адрес и название и
-нажмите **Добавить**. В таблице ниже перечислены все названия с кнопками
-**Изменить** и **Удалить**; повторное добавление того же адреса заменяет
-старую запись. Адреса и сети проверяются перед сохранением.
+## 7. Названия, страны и списки угроз
-Названия сохраняются в `inventory.txt` в каталоге данных, по одной записи на
-строку. **Править как текст (для опытных)** показывает этот файл; его можно
-править и напрямую (см. `inventory.txt.example`). Все строки необязательны.
+Щёлкните любой адрес и выберите **Дать название…** или используйте
+**Настройки → Названия**. Названия хранятся в `inventory.txt` в каталоге
+данных:
```
-# your networks: traffic between them is "internal"
-net 10.10.0.0/16 Office LAN
-net 203.0.113.0/24 Public servers country=JP
-
-# device names; "unsampled" if it exports every packet (1:1),
-# sampling=N if it samples 1:N but does not say so in its export
-device 192.0.2.1 Core router
-device 192.0.2.9 Branch firewall unsampled
-device 192.0.2.20 Edge router sampling=1000
-
-# interface names, by device address and ifIndex; speed in bits per second,
-# tag= a short tag, default = the interface the pages open on (one only)
-iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
-
-# host names shown instead of addresses
-host 10.10.3.27 Finance PC
-
-# read interface counters over SNMPv2c (IF-MIB 64-bit counters)
-snmp 192.0.2.1 public
-snmp 192.0.2.9 s3cret 10.99.0.9:161
+net 10.10.0.0/16 Office LAN # your networks
+net 203.0.113.0/24 Public servers country=JP # country: lines on the world map
+device 192.0.2.1 Core router
+device 192.0.2.9 Branch firewall unsampled # exports every packet
+device 192.0.2.20 Edge router sampling=1000 # rate it does not declare
+iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
+host 10.10.3.27 Finance PC
+snmp 192.0.2.1 public # read counters over SNMPv2c
+snmp 192.0.2.9 s3cret 10.99.0.9:161 # other management address
```
-- `net`: частные диапазоны (10/8, 172.16/12, 192.168/16, 100.64/10)
- всегда считаются вашими. Добавьте свои публичные диапазоны, чтобы трафик
- к ним и от них тоже считался вашим; название появится в **Топ 66**
- при группировке по сегментам и в путях трафика по сетям. `country=JP`
- (двухбуквенный код страны) указывает, где находится сеть; тогда карта мира
- рисует от неё линии к странам, с которыми она обменивается трафиком.
-- `snmp [[:port]]`: устройство —
- это адрес, с которого приходят потоки. Укажите адрес управления, если
- устройство отвечает по SNMP на другом адресе. Описания интерфейсов,
- считанные по SNMP, используются как названия, если вы не задали название
- интерфейса через `iface`. Разрешите машину с traffic66 в списке доступа
- SNMP на устройстве.
-- Изменения применяются по кнопке **Сохранить**; перезапуск не нужен.
-
-
-
-## 8. Страны, сети и списки угроз
-
-Страны и сети (AS) работают сразу: в traffic66 встроены бесплатные базы DB-IP **IP to Country Lite** и **IP to ASN Lite** (лицензия [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); «IP Geolocation by DB-IP», [db-ip.com](https://db-ip.com)). Страницы со странами и сетями указывают источник данных.
-
-Встроенная копия — на момент выпуска вашей версии. DB-IP выпускает новую каждый месяц; **Настройки → База стран и сетей → Обновить DB-IP Lite** загружает свежую с db-ip.com (серверу с traffic66 нужен доступ в интернет; при ошибке интерфейс об этом сообщит).
-
-Можно использовать и другую бесплатную базу. Скачайте её и загрузите на той же странице кнопкой **Загрузить файл базы…**. Файл проверяется, сохраняется в каталоге данных и сразу применяется к новому трафику, без перезапуска. Уже сохранённый трафик сохраняет страну, с которой был записан.
-
-| База | Даёт | Лицензия | Где взять |
-|---|---|---|---|
-| DB-IP Lite (встроена) | страны; сети | CC BY 4.0, без регистрации | [db-ip.com/db/lite.php](https://db-ip.com/db/lite.php) |
-| MaxMind GeoLite2 Country и ASN, `.mmdb` | страны; сети | GeoLite2 EULA, бесплатная учётная запись | [maxmind.com](https://www.maxmind.com/en/geolite2/signup) |
-| IPinfo Lite, `ipinfo_lite.mmdb` | страны и сети в одном файле | CC BY-SA 4.0, бесплатная учётная запись | [ipinfo.io/lite](https://ipinfo.io/lite) |
-| IPtoASN, `ip2asn-combined.tsv.gz` | сети и их страна | PDDL 1.0, без регистрации | [iptoasn.com](https://iptoasn.com) |
+Частные диапазоны всегда считаются вашими. Изменения применяются по
+**Сохранить**, без перезапуска.
-Сначала используются ваши файлы; то, чего в них нет, определяет встроенная DB-IP Lite. **Удалить** рядом с файлом возвращает к остальным. На странице видно, что используется, и дата каждой базы.
-
-Без веб-интерфейса скопируйте файл в каталог данных как `country.mmdb`, `asn.mmdb`, `both.mmdb` (файл со странами и сетями, например IPinfo Lite) или `asn.tsv.gz` и перезапустите traffic66.
-
-**География и сети** показывает трафик с другими странами на карте мира: чем темнее страна, тем больше трафика. Наведите на страну, чтобы увидеть её трафик; нажмите, чтобы отфильтровать или открыть записи потоков. Если у ваших сетей указана страна (`country=` в строке `net`, см. [Названия](#7-names-snmp-and-your-own-networks)), от этой страны идут линии к странам, с которыми они обмениваются трафиком; чем больше трафика, тем толще линия. Границы стран — из [Natural Earth](https://www.naturalearthdata.com) (общественное достояние).
+Страны и сети (AS) работают сразу со свободными базами DB-IP Lite
+([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), "IP
+Geolocation by DB-IP", [db-ip.com](https://db-ip.com)); **Настройки**
+обновляют их или принимают вместо них файлы MaxMind GeoLite2, IPinfo Lite
+или IPtoASN. Контуры карты: [Natural Earth](https://www.naturalearthdata.com).

-Списки угроз — это текстовые файлы с одним адресом или сетью на строку
-(текст после `#` или `;` игнорируется), сохранённые как
-`/threats/.txt`, например:
-
-```
-mkdir -p /threats
-curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamhaus-drop.txt
-```
-
-После добавления или изменения списков перезапустите traffic66.
-Совпадения появляются на странице **Угрозы**, сгруппированные по имени
-списка.
+Списки угроз — это текстовые файлы с одним адресом или сетью на строку в
+`/threats/.txt` (например, Spamhaus DROP); после изменения
+перезапустите traffic66. Совпадения появляются на странице **Угрозы**.

-
-
-## 9. Работа с веб-интерфейсом
+
-Печатать почти не придётся. Любое значение на любой странице — адрес,
-порт, приложение, страну, устройство — можно щёлкнуть:
+## 8. Работа с веб-интерфейсом
-- **Показать только это** / **Исключить это** добавляет фильтр. Фильтры
- отображаются под верхней панелью и действуют на всех страницах, пока вы
- их не уберёте.
-- **Показать записи потоков** открывает соответствующие отдельные потоки.
-- **Подробнее** (хосты, устройства и сервисы) открывает страницу об этом
- одном хосте или сервисе: его трафик во времени по приложениям, с кем он
- общается, какие сервисы или клиенты, страны и последние потоки. Любое
- значение там снова можно щёлкнуть и углубляться дальше; кнопка «Назад»
- в браузере возвращает обратно.
-- **Дать название…** (хосты и устройства) даёт адресу название, которое
- с этого момента показывается везде.
-- **Найти в интернете** открывает адрес или AS на публичном сайте-справочнике.
-- **Копировать** копирует значение.
+Любое значение на любой странице можно щёлкнуть: **Показать только это** /
+**Исключить это** (фильтры действуют на всех страницах), **Показать записи
+потоков**, **Подробнее** (страница об одном хосте или сервисе), **Дать
+название…**, **Найти в интернете**, **Копировать**.
-Страницы:
-
-| Страница | На какой вопрос отвечает |
+| Страница | Что показывает |
|---|---|
-| Обзор | Полоса пропускания выбранного интерфейса (или основного, а иначе самого загруженного) в бит/с, вход и выход с точки зрения интерфейса; сколько трафика сейчас, по приложениям (**Всего** или только **Входящий** либо **Исходящий** трафик ваших сетей), в сравнении с тем же временем вчера (диапазоны до суток), прошлой неделей (до недели) или предыдущими днями (более длинные диапазоны), если за то время есть данные; открытые обнаружения; направление и протокол; основные клиенты и сервисы |
-| Топ 66 | Открывается на вкладке **Таблица** — одной таблице топ 66: по умолчанию сеансы (клиент, сервер, сервис, страна). Любой заголовок сортирует; числовые столбцы (трафик, пакеты, средний пакет, потоки) заново выбирают топ 66 из всего трафика за период, поэтому наименьший средний пакет находит сканирования и флуд. **Группировать по** переключает на приложения, сети, сегменты, устройства, инкапсуляцию и VLAN. **Основные собеседники** показывает топ 30 клиентов и серверов рядом, с трафиком, пакетами и записями потоков, над строкой всего трафика |
-| Детали трафика | Две кольцевые диаграммы. **Серверы и клиенты**: внутреннее кольцо — 8 самых нагруженных серверов, внешнее — клиенты каждого из них; **Клиенты внутри** переворачивает диаграмму (клиенты внутри, серверы, которыми пользуется каждый, снаружи), потому что одна сторона часто объясняет больше другой. **Сервисы**: одно кольцо самых нагруженных сервисов. Наведите на сегмент, чтобы увидеть его трафик; щёлкните по нему, как по любому значению |
-| Пути трафика | Какой узел к какому приложению в какой стране обращается: 8 самых активных узлов, остальные как «Прочее». **Клиент → сервер** показывает клиент → сервис → сервер; **По сегментам** показывает сети вместо узлов. Длинные имена сокращаются до 22 символов; наведите на имя, чтобы увидеть его полностью |
-| Обнаружения | Что требует внимания: сканирования, подбор паролей, боковое перемещение, необычные выгрузки, флуд и трафик со списков угроз ([подробнее](#findings)) |
-| Угрозы | Хосты, обращавшиеся к адресам из ваших списков угроз, и сколько они отправили |
-| География и сети | Карта мира с трафиком по странам и линиями от ваших сетей; сети (AS), откуда трафик пришёл и куда ушёл, во времени в бит/с и пакетах/с; трафик по странам и по сетям |
-| Настройки | Устройства, сэмплирование, интерфейсы с выборкой на каждом устройстве и отправляет ли оно flowDirection, потери, коллекторы, SNMP, база стран и сетей, логотип и **Названия** |
-| Сверка интерфейсов | Трафик каждого интерфейса во времени в бит/с и ниже в пакетах/с, вход (зелёный) и выход (синий), со счётчиками устройства пунктиром; насколько цифры по потокам расходятся со счётчиками, худшие сверху, с причинами; имя, метка и выбор основного для каждого интерфейса |
-| Записи потоков | Сколько было записей потоков и когда (столбик на интервал), и сами записи, новые сверху, постранично, с выбором столбцов. Открывается на последних 15 минутах с обновлением каждые 5 секунд; если открыть её со значения на другой странице (**Показать записи потоков**), сохраняется период той страницы, а **Вернуться к реальному времени** возвращает обратно |
-| Очистка данных | Удаляет данные старше 120, 90, 60, 30 или 7 дней или все данные и показывает, сколько места освобождает каждый вариант ([подробнее](#13-data-backup-upgrade-uninstall)) |
-| Офлайн-анализ pcap | Захваты пакетов (pcap, pcapng) анализируются отдельно от живых данных ([подробнее](#офлайн-анализ-pcap)) |
-
-Боковое меню делит страницы на четыре группы: трафик (Обзор, Топ 66, Детали
-трафика, Пути трафика, Сверка интерфейсов, Записи потоков), безопасность
-(Обнаружения, Угрозы, География и сети), Настройки и Офлайн-анализ pcap, а в
-самом низу — Очистка данных. Под логотипом показаны версия, дата и время
-сервера.
-
-Над страницами трафика (Обзор, Топ 66, Детали трафика, Пути трафика, География
-и сети, Записи потоков и страница значения) находится **Интерфейс**: **Все
-интерфейсы** или один интерфейс, чтобы эти страницы показывали только трафик
-через него (вход или выход). В нём перечислены интерфейсы с выборкой,
-сгруппированные по устройствам; сначала выбран основной интерфейс (★, задаётся
-на странице **Сверка интерфейсов**), и выбор входит в ссылку. Обнаружения,
-Угрозы, Сверка интерфейсов и Настройки всегда охватывают весь трафик. Для
-одного интерфейса за 7 или 30 дней страницы читают записи потоков, а не
-почасовые и суточные сводки, поэтому работают дольше и заглядывают назад лишь
-на срок хранения записей потоков (по умолчанию 30 дней).
-
-Над страницами: временной диапазон (от 15 минут до 30 дней или **Свой
-период…** с любым началом и концом, в том числе раньше 30 дней),
-автообновление каждые 30 секунд и **Скопировать ссылку** — копирует ссылку
-ровно на текущий вид (страница, диапазон и фильтры), чтобы отправить коллеге.
-На страницах **Топ 66** и **Детали трафика** поля **Устройство**, **Клиент**,
-**Сервер** и **Сервис** показывают самые активные значения за период: выберите или введите значение, чтобы отфильтровать; затем
-фильтр действует на всех страницах, пока вы не очистите поле. Язык берётся из
-браузера; сменить его можно внизу меню, над кнопкой **Выйти**. У страниц
-«Настройки», «Записи потоков» (в реальном времени), «Очистка данных» и
-«Офлайн-анализ pcap» нет периода.
-
-Рядом с языком — цветовая тема по образцу системных цветов iOS: **Светлая**
-(по умолчанию), **Серая**, **Чёрная** (для настенных экранов), **Бирюзовая**
-и **Оранжевая**. Каждый щелчок по ней переключает на следующую; выбор
-сохраняется в браузере.
-
-Графики во времени показывают 8 крупнейших значений постоянными цветами, а
-остальное — как «Прочее»; легенда даёт итог по каждому значению, и по ней
-можно щёлкнуть, как по любому другому значению. На графиках клиентов и
-серверов остальное не рисуется: при тысячах хостов оно сплющило бы топ 8;
-легенда всё равно даёт его итог.
-
-Графики заканчиваются там, где данные полны: для sFlow — на текущей минуте,
-для NetFlow и IPFIX — немного раньше, на столько, сколько устройствам нужно
-на экспорт потоков (traffic66 измеряет это время; не более 2 минут).
-
-Диапазоны длиннее 6 часов начинаются с целого часа, поэтому все цифры на
-странице считаются ровно за одно и то же время: «24 часа» — это последние 24
-целых часа плюс текущий. Топ 66 за такие диапазоны строится по почасовым
-сводкам; фильтры там недоступны, и страница об этом сообщает. Чтобы
-фильтровать, выберите диапазон покороче. Сеансы всегда читаются из подробных
-данных потоков, поэтому на длинных диапазонах при большом числе потоков
-они могут строиться долго; быстрее всего — один час.
-
-В боковом меню видно, сколько места на диске занимают данные и сколько
-свободно; наведите указатель на свободное место, чтобы увидеть, сколько
-нужно хранимым дням подробных данных при текущей нагрузке (оценка появляется,
-когда накопятся данные за сутки).
-
-Чтобы показать свой логотип на странице входа и вверху меню, откройте
-**Настройки → Логотип → Загрузить логотип…**: PNG, SVG, JPEG, WebP или GIF,
-до 1 MB, лучше всего 272 × 92 пикселя (другие размеры масштабируются).
-**Вернуть встроенный логотип** возвращает логотип traffic66.
-
-
-
-### Обнаружения
-
-На странице **Обнаружения** перечислено, что traffic66 нашёл в потоках, самое
-серьёзное сверху. Каждые 5 минут проверяются последние 10 минут; то, что
-длится час, — это одно обнаружение, которое растёт, а не новое при каждой
-проверке.
-
-| Обнаружение | Что это значит | Важность |
-|---|---|---|
-| Сканирование | Один адрес отправил мелкие пробы на множество адресов на один порт (TCP или ping) | Высокая изнутри вашей сети, низкая из интернета |
-| Сканирование портов | Один адрес отправил мелкие пробы на множество портов одного хоста | Высокая изнутри, низкая из интернета |
-| Подбор паролей | Множество коротких подключений к службе входа (SSH, RDP, SMB, базы данных и другие) | Высокая изнутри, низкая из интернета |
-| Боковое перемещение | Внутри вашей сети — сеансы общего доступа к файлам или удалённого администрирования (SMB, RDP, SSH, WinRM, VNC) к хостам, которые раньше никогда не предоставляли эту службу | Высокая |
-| Необычная выгрузка | Внутренний хост отправил намного больше, чем получил (100 MB за 10 минут, втрое больше полученного), на адрес, с которым раньше не обменивался данными | Высокая |
-| Флуд | 20,000 и более мелких пакетов в секунду на один адрес, в десять раз больше обычного | Средняя |
-| Список угроз | Трафик с адресом из одного из ваших списков угроз | Высокая, если ваш хост подключился к нему; низкая, если адрес из списка стучался снаружи |
-
-Каждое обнаружение говорит, кто что сделал и с кем, когда и как долго, с
-цифрами, на которых оно основано, и с тем, как сэмплировались данные.
-**Подробнее** открывает страницу хоста, где также перечислены обнаружения по
-нему. **Обработано** закрывает обнаружение; если это повторится, откроется
-новое. **Ложная тревога** закрывает его навсегда: о нём больше никогда не
-сообщается. Красное число рядом с **Обнаружения** в боковом меню — это
-открытые обнаружения высокой и средней важности за последние 24 часа.
-
-Боковому перемещению и необычным выгрузкам нужно знать, что нормально, поэтому
-о них сообщается, когда накопится история за сутки. При первом запуске
-traffic66 учится на уже имеющейся истории.
-
-На сэмплированных данных (sFlow, NetFlow с сэмплированием) правила считают то,
-что видно в выборке, и требуют меньше совпадений, но тогда каждое должно
-выглядеть как одна короткая проба, чтобы на обычных загруженных хостах они не
-срабатывали. То, что скрывает сэмплирование, найти нельзя: при сэмплировании
-1:4096 сканирование нескольких десятков хостов даёт слишком мало пакетов,
-чтобы его заметить. Атака в демо идёт через коммутатор с сэмплированием 1:4096
-и находится полностью; сутки обычного трафика демо не дают ни одного
-обнаружения, кроме интернет-сканера, стучащегося на сайт.
-
-
+| Обзор | Полоса выбранного интерфейса; трафик по приложениям (всего, входящий или исходящий) в сравнении со вчера или прошлой неделей; открытые обнаружения; основные клиенты и сервисы |
+| Топ 66 | Топ 66 сеансов с сортировкой по любому столбцу или с группировкой по приложению, сети, сегменту, устройству, инкапсуляции, VLAN; топ 30 собеседников |
+| Детали трафика | Кольцевые диаграммы: серверы и их клиенты (или наоборот) и сервисы |
+| Пути трафика | Узел → приложение → страна, или клиент → сервис → сервер, или по сетям |
+| Сверка интерфейсов | Каждый интерфейс во времени в сравнении с его счётчиками; названия, метки, основной интерфейс |
+| Записи потоков | Отдельные потоки, вживую каждые 5 секунд или за любой период |
+| Обнаружения, Угрозы | Что требует внимания ([ниже](#findings)); трафик с адресами из списков |
+| География и сети | Карта мира по странам, сети (AS) во времени |
+| Настройки | Устройства, сэмплирование, потери, SNMP, базы, логотип, названия |
+| Офлайн-анализ pcap, Очистка данных | Файлы захвата ([ниже](#9-offline-pcap-terminal-ui-local-capture)); удаление старых данных |
+
+Над страницами: **Интерфейс** (все или один сэмплируемый интерфейс; тогда
+страницы трафика показывают только трафик через него), период (от 15 минут
+до 30 дней или произвольный), обновление каждые 30 с и **Скопировать
+ссылку** на точный вид. Язык и пять цветовых тем — внизу меню. Графики
+заканчиваются там, где данные полны: с NetFlow/IPFIX — с задержкой, с
+которой экспортируют устройства (не более 2 минут). Периоды длиннее 6 часов
+начинаются с целого часа; один интерфейс за 7 или 30 дней читается из
+детальных данных, поэтому это медленнее и доступно лишь на глубину хранения
+детальных данных.

@@ -847,368 +318,120 @@ traffic66 учится на уже имеющейся истории.

-Тот же обзор на китайском; каждая страница доступна на 13 языках:
-

-
-
-### Офлайн-анализ pcap
-
-**Офлайн-анализ pcap** показывает захваты Wireshark или tcpdump на тех же страницах, что и живые данные, не смешивая их.
-
-Он сводит все пакеты в потоки: кто с кем общался, сколько, когда и что похоже на атаку. Он не разбирает протоколы и не показывает содержимое пакетов; для одного пакета или одного TCP-потока используйте Wireshark.
-
-Из командной строки, без настройки:
+
-```
-traffic66 office.pcap
-traffic66 a.pcap b.pcapng c.pcap
-```
+### Обнаружения
-traffic66 запускается только на этом компьютере (127.0.0.1, свободный порт), выводит адрес, пароль и одноразовую ссылку для входа и открывает захват в браузере. До 3 файлов, всего до 3 ГБ; файлы читаются на месте и не изменяются. Ничего не собирается и не отправляется, имена хостов не запрашиваются (`-dns` включает это). Ctrl+C останавливает и удаляет импортированные данные. На 2-ядерной машине захват в 1 ГБ готов примерно за 5 секунд (1,2 млн полноразмерных пакетов) — 30 секунд (14 млн маленьких пакетов).
+Проверка выполняется каждые 5 минут за последние 10; то, что длится час, —
+это одно растущее обнаружение.
-```
-$ traffic66 office.pcap
+| Обнаружение | Что это значит |
+|---|---|
+| Сканирование, сканирование портов | Мелкие пробы на множество хостов на один порт или на множество портов одного хоста |
+| Подбор паролей | Множество коротких подключений к службе входа |
+| Боковое перемещение | Общий доступ к файлам или удалённое администрирование к внутренним хостам, которые раньше никогда этого не предоставляли |
+| Необычная выгрузка | 100 MB за 10 минут на новый адрес, втрое больше полученного обратно |
+| Флуд | 20,000+ мелких пакетов/с на один адрес, в десять раз больше обычного |
+| Список угроз | Трафик с адресом из списка |
+
+Изнутри вашей сети они высокой важности, из интернета — низкой.
+**Обработано** закрывает обнаружение, **Ложная тревога** заглушает его
+навсегда. Для бокового перемещения и выгрузок нужны сутки истории. При
+сэмплировании 1:4096 атака в демо обнаруживается полностью; очень мелкие
+сканирования могут скрыться за сэмплированием.
-traffic66 0.3.1: analysing 1 capture file(s); nothing is collected or sent
- Web UI http://127.0.0.1:38217 (port 38217, this computer only)
- Sign in user admin, password gfhfhbuutz2e
- Open http://127.0.0.1:38217/auto?t=b9388f… (signs in once)
- Stop Ctrl+C; the imported data is deleted, your files are kept
-```
+
-В веб-интерфейсе работающего traffic66:
+
-1. **Загрузить файлы захвата…**: `.pcap` или `.pcapng`, без сжатия. До 3 файлов, каждый не больше 50 МБ. Файлы превращаются в потоки в отдельной базе (`/sandbox/`); живые данные, их статистика и находки не затрагиваются.
-2. **Анализ**: все страницы (обзор, Top 66, детали трафика, находки, пути, карта, записи потоков) показывают файлы за всё их время. Оранжевая полоса называет файлы; **Вернуться к живым данным** возвращает обратно. Каждый файл выглядит как устройство, поэтому поле **Устройство** показывает по одному файлу.
-3. Правила обнаружения работают и на захвате: сканирования, сканирования портов и подбор паролей появляются в **Обнаружения**. Правила, которым нужен день истории (перемещение внутри сети, необычные выгрузки), к захвату не применяются.
-4. **Удалить** удаляет файл и его данные; **Удалить всё** удаляет всё.
+## 9. Офлайн-анализ pcap, терминальный интерфейс, локальный захват
-В демо есть пример захвата с атакой.
+**Офлайн-анализ pcap** показывает захваты пакетов (pcap, pcapng) на тех же
+страницах, отдельно от живых данных: `traffic66 a.pcap b.pcapng` запускается
+на 127.0.0.1 и открывает браузер (до 3 файлов, 3 ГБ; Ctrl+C удаляет
+импортированные данные), или загрузите на этой странице до 3 файлов по
+50 МБ. Анализируются потоки, а не содержимое пакетов.

-## 10. Терминальный интерфейс
-
-```
-traffic66 tui # traffic66 on this machine
-traffic66 tui -server http://192.0.2.50:8066 -user admin -password …
-traffic66 -tui # collect and show the terminal UI in one process
-```
-
-На машине с traffic66 `traffic66 tui` входит сам, если может прочитать
-каталог данных (укажите `-data`, если он не стандартный). Если traffic66
-работает от другого пользователя, как в случае службы, используйте
-`-user` и `-password`. `-lang` выбирает язык (`en`, `zh`, `hi`,
-`es`, `ar`, `fr`, `bn`, `pt`, `ru`, `id`, `ur`, `ja`, `ko`).
-
-Клавиши: 1–8 страницы, ↑↓ выбор, Enter действия над выбранным значением,
-f показать только это, x исключить, / поиск, t временной диапазон,
-c сбросить фильтры, w открыть тот же вид в браузере, q выход.
+**Терминальный интерфейс**: `traffic66 tui` на машине с traffic66 или
+`traffic66 tui -server http://192.0.2.50:8066 -user admin -password …`.
+Клавиши: 1–8 страницы, Enter действия, f показать только, x исключить,
+t период, w открыть в браузере, q выход; `-lang` выбирает язык.


-
-
-## 11. Локальный захват
-
-Помимо приёма экспорта потоков, traffic66 может сам строить потоки из пакетов
-на сетевом интерфейсе машины, на которой он работает. Что он увидит, зависит
-от интерфейса:
-
-| Интерфейс | Что видит traffic66 |
-|---|---|
-| Свободный сетевой порт, подключённый к зеркальному (SPAN) порту коммутатора | Весь трафик, который зеркалирует коммутатор: целую сеть или аплинк |
-| Собственный Ethernet или Wi-Fi машины | Только трафик самой этой машины |
-
-Адаптеры Wi-Fi не видят трафик других устройств. Чтобы видеть всю сеть Wi-Fi,
-настройте экспорт потоков на маршрутизаторе или точке доступа (раздел 4) или
-зеркалируйте порт коммутатора, к которому подключена точка доступа.
-
-
-
-### Windows
-
-1. Установите [Npcap](https://npcap.com) с параметрами по умолчанию. Если
- отметить «Restrict Npcap driver's access to Administrators only»,
- запускайте traffic66 от имени администратора.
-2. Выведите список интерфейсов (PowerShell):
-
- ```
- C:\traffic66\traffic66.exe interfaces
- ```
-
- ```
- # Name Address Adapter / device
- 1 Ethernet - Intel(R) Ethernet I219-V \Device\NPF_{4B8A2C1E-…}
- 2 Wi-Fi 192.168.1.23 Intel(R) Wi-Fi 6 AX201 \Device\NPF_{9F00AA11-…}
- 3 Loopback - Adapter for loopback traffic capture \Device\NPF_Loopback
- ```
-
- Столбец Name — это имя подключения из сетевых параметров Windows; у
- используемого интерфейса есть адрес.
-3. Запустите захват на Wi-Fi по имени или по номеру:
-
- ```
- C:\traffic66\traffic66.exe -capture Wi-Fi
- C:\traffic66\traffic66.exe -capture 2
- ```
-
- Имена с пробелами берите в кавычки: `-capture "Ethernet 2"`. Чтобы
- захватывать на нескольких интерфейсах, повторите `-capture`. Если нужен
- только захват без коллекторов потоков, добавьте `-listen=`. Для задачи
- автозапуска из раздела 2 добавьте параметр в `-Argument`:
- `-Argument '-data C:\traffic66\traffic66-data -capture Wi-Fi'`.
-
-
-
-### Linux
-
-```
-traffic66 interfaces
-sudo setcap cap_net_raw,cap_net_admin+ep /opt/traffic66/traffic66
-traffic66 -capture eth1
-```
-
-Для захвата нужен root или capabilities `CAP_NET_RAW` и `CAP_NET_ADMIN`:
-строка `setcap` выше или строка `AmbientCapabilities` в unit-файле systemd из
-раздела 2. Интерфейсы Wi-Fi обычно называются `wlan0` или `wlp…`.
-
-
-
-### macOS
-
-```
-traffic66 interfaces
-sudo traffic66 -capture en0
-```
-
-Для захвата нужен root; ничего устанавливать не надо. На MacBook `en0` — это
-Wi-Fi.
-
-
-
-### Проверка работы
-
-На странице **Настройки** перечислены все интерфейсы захвата со способом
-захвата и числом увиденных пакетов. Потоки отображаются как поступающие от
-устройства `127.0.0.1` (эта машина) — на всех страницах, как и потоки любого
-другого устройства. Пакеты, видимые дважды (например, на двух зеркальных
-портах), и считаются дважды.
-
-
-
-## 12. Параметры
+**Локальный захват** строит потоки с локального интерфейса, лучше всего с
+порта, подключённого к зеркальному порту коммутатора: `traffic66 interfaces`
+выводит их список, `-capture eth1` (или имя либо номер в Windows)
+захватывает. В Linux нужны root или `setcap cap_net_raw,cap_net_admin+ep`,
+в macOS — root, в Windows — [Npcap](https://npcap.com). Захваченные потоки
+приходят от устройства `127.0.0.1`.
-`traffic66 -h` и `traffic66 -h` выводят полный список.
+
-Команды:
+## 10. Параметры и данные
-| Команда | |
-|---|---|
-| `traffic66` | собирать потоки и обслуживать веб-интерфейс |
-| `traffic66 demo` | то же самое, но с имитируемой сетью |
-| `traffic66 tui` | терминальный интерфейс к запущенному traffic66 |
-| `traffic66 passwd` | добавить, изменить, вывести списком или удалить пользователей (см. [Пользователи и пароли](#3-users-and-passwords)) |
-| `traffic66 simulate -to HOST` | отправлять имитируемый экспорт на коллектор |
-| `traffic66 interfaces` | список интерфейсов для локального захвата |
-| `traffic66 version` | вывести версию |
-
-Параметры `traffic66` и `traffic66 demo`:
+`traffic66 -h` выводит всё. Самые используемые:
| Параметр | По умолчанию | |
|---|---|---|
-| `-addr` | `:8066` | адрес веб-интерфейса; `127.0.0.1:8066` — доступ только с этой машины |
| `-data` | `traffic66-data` рядом с программой | каталог данных |
-| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | UDP-коллекторы в виде `name=address` через запятую; пустое значение отключает |
-| `-user` | `admin` | имя пользователя, создаваемого при первом запуске, и пользователя, к которому относится `-password` |
-| `-password` | не задан | на этот запуск принимать только `-user` с этим паролем, игнорируя файл `password` (также `TRAFFIC66_PASSWORD`) |
+| `-addr` | `:8066` | веб-интерфейс; `127.0.0.1:8066` — только для этой машины |
+| `-listen` | `sflow=:6343,netflow=:2055,ipfix=:4739` | UDP-коллекторы; пустое значение отключает |
| `-retention-days` | `30` | сколько дней хранить детальные данные; сводки хранятся 400 дней |
-| `-memory` | `0.10` | доля физической памяти под кеш базы данных и столько же — мягкий лимит для остальной программы (каждый не меньше 256 МБ) |
-| `-l2-overhead` | `18` | байт на пакет, добавляемых к счётчикам байт NetFlow/IPFIX |
-| `-sampling-wait` | `5m` | сколько записи ждут коэффициент сэмплирования |
-| `-capture` | | захват на локальном интерфейсе (можно повторять) |
-| `-inventory` | `/inventory.txt` | файл названий |
-| `-asn` | `/asn.tsv.gz` | таблица IP-to-ASN (файлы `.mmdb`: загрузите их или положите как `/country.mmdb` и `/asn.mmdb`, `/both.mmdb`) |
-| `-threat` | `/threats/*.txt` | дополнительный список угроз в виде `name=path` (можно повторять) |
-| `-dns-upstream` | системный резолвер | DNS-сервер для отображения имён хостов |
-| `-dns-rate` | `20` | максимум обратных DNS-запросов в секунду |
-| `-dns-cache` | `2m` | сколько хранятся в кеше имена хостов |
-| `-no-dns` | | не делать обратных DNS-запросов |
-| `-tui` | | заодно открыть терминальный интерфейс |
-
-Пример: второй порт коллектора, детальные данные за год и веб-интерфейс
-только на локальной машине:
-
-```
-traffic66 -data /var/lib/traffic66 -listen "sflow=:6343,netflow=:2055,ipfix=:4739,netflow=:9995" -retention-days 365 -addr 127.0.0.1:8066
-```
-
-
-
-## 13. Данные, резервное копирование, обновление, удаление
-
-Всё хранится в каталоге данных:
-
-| | |
-|---|---|
-| `raw/` | детальные данные потоков, по одному сжатому файлу на час |
-| `traffic66.duckdb` | сводки, счётчики интерфейсов и текущий час |
-| `password` | пароли для входа (в виде хешей) |
-| `inventory.txt` | названия (**Настройки → Названия**) |
-| `license.json` | номер установки и лицензия (см. [Пробный период и лицензия](#trial-and-licence)) |
-| `logo.png` (или `.svg`, `.jpg`, `.webp`, `.gif`) | ваш логотип (**Настройки → Логотип**), если вы его загрузили |
-| `country.mmdb`, `asn.mmdb`, `both.mmdb`, `asn.tsv.gz`, `dbip-country.mmdb`, `dbip-asn.mmdb`, `threats/`, `sandbox/` | добавленные вами базы стран и сетей и списки угроз |
-
-**Сколько хранятся данные**: детализация потоков 30 дней, сводки (обзор и длинные периоды) 400 дней. Более
-старые данные удаляются автоматически, проверка каждые 5 минут; больше ничего не удаляется и других ограничений нет.
-Срок детализации меняется параметром `-retention-days`, любое число дней, например `-retention-days 365`. Место на
-диске растёт вместе с ним: **Свободно** в боковом меню становится красным, когда хранимые дни не помещаются. Если
-диск заполнится, новые потоки не сохраняются, пока не освободится место.
-
-**Очистка данных** в боковом меню удаляет данные заранее: старше 120, 90, 60,
-30 или 7 дней или все данные. Для каждого варианта показано, сколько записей
-потоков будет удалено и примерно сколько места на диске освободится, и перед
-удалением запрашивается подтверждение. Удаляются записи потоков, почасовые и
-суточные сводки, счётчики интерфейсов и обнаружения; удаление всех данных
-также сбрасывает то, чему научились правила обнаружения. Отменить это нельзя.
-
-- **Резервное копирование**: остановите traffic66 и скопируйте каталог. Без
- остановки копируйте `raw/`, `password` и `inventory.txt`; текущего часа и
- сводок в копии тогда не будет.
-- **Перенос**: остановите traffic66, перенесите каталог и запустите с
- `-data`, указывающим на новое место.
-- **Обновление**: остановите traffic66, замените файл программы и запустите
- снова. Данные сохраняются. Например, в Linux:
-
- ```
- sudo systemctl stop traffic66
- sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
- sudo systemctl start traffic66
- ```
-
-- **Удаление**: остановите и удалите службу или задачу автозапуска (см.
- [Установка](#2-install)), затем удалите папку программы и каталог данных.
-
-
-
-### Пробный период и лицензия
-
-Исходный код traffic66 доступен на условиях
-[PolyForm Noncommercial License 1.0.0](../LICENSE.md) и
-[Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md); юридическую силу
-имеет английский текст обоих документов. Кратко:
-
-- **Оценка**, тестирование, разработка и демонстрации: бесплатно для всех,
- без ограничения срока.
-- **Промышленное использование** (реальный трафик, для работы организации)
- организацией, где менее 100 сотрудников и подрядчиков: бесплатно.
-- Промышленное использование **более крупными организациями**: бесплатно
- 30 дней, затем нужна регистрационная лицензия от автора.
-- Подрядчики и сервис-провайдеры могут запускать его для заказчика в
- собственной установке этого заказчика; решает размер заказчика.
-- Без коммерческой лицензии запрещено: продавать его или встраивать в
- продукт, предоставлять другим как размещённый или многопользовательский
- сервис, а также создавать на его основе конкурирующий продукт.
-
-Стоимость, объём и срок регистрационной лицензии определяются в каждом
-случае отдельно; она может быть и бесплатной. Контакт:
-.
-
-Пробный период показывается в каждой установке, в том числе там, где лицензия
-не нужна. При первом запуске traffic66 записывает
-`license.json` в каталог данных с 8-значным номером установки. Внизу каждой
-страницы показано, сколько дней пробного периода осталось, а затем — что он
-закончился. В любом случае ничего не отключается: все функции продолжают
-работать.
-
-Чтобы зарегистрироваться, отправьте автору номер установки (он также показан
-внизу каждой страницы). Лицензия придёт в виде нового `license.json`; положите
-его в каталог данных вместо старого. Он проверяется при запуске traffic66 и
-каждые 4 часа, поэтому перезапуск не нужен; затем внизу страницы показано, на
-кого выдана лицензия и сколько дней осталось.
-
-
-
-## 14. Безопасность
-
-- Веб-интерфейс работает по обычному HTTP: пароли и данные идут по сети без
- шифрования. В сетях, которым вы не доверяете полностью, слушайте только
- на этой машине (`-addr 127.0.0.1:8066`) и поставьте перед traffic66
- обратный прокси с TLS, например [Caddy](https://caddyserver.com):
- `caddy reverse-proxy --from traffic66.example.com --to 127.0.0.1:8066`.
- Или подключайтесь через VPN или SSH-туннель:
- `ssh -L 8066:127.0.0.1:8066 user@192.0.2.50`, затем откройте
- http://127.0.0.1:8066.
-- Открывайте UDP-порты коллекторов только для адресов своих устройств.
-- SNMP community в `inventory.txt` хранятся открытым текстом; используйте
- community только для чтения.
-
-
-
-## 15. Оценка ресурсов
-
-Замер при 5000 потоков в секунду на 2-ядерной машине: детальные данные
-занимают около 12 ГБ диска в сутки плюс около 1,5 ГБ на текущий час,
-программа — шестую часть одного ядра. Обзоры за
-длинные диапазоны строятся по сводкам и выполняются быстрее 0,2 с. Запросы
-по детальным данным просматривают около 22 млн строк на час: один хост за
-1 час — меньше 1 с, Top 66 всех сессий за 1 час — около 9 с; время растёт
-с диапазоном и сокращается с числом ядер.
-
-Значит, на 30 дней при 5000 потоков/с нужно около 360 ГБ диска;
-пересчитайте под свою интенсивность потоков (видна на странице
-**Настройки**) и `-retention-days`.
-
-Память: `-memory` (по умолчанию 10 % ОЗУ, не меньше 256 МБ) ограничивает
-кеш базы данных, а остальная программа получает мягкий лимит того же
-размера. При 5000 потоков в секунду собственные данные программы
-(декодирование, обнаружение дубликатов, пачки записей) занимают около
-90 МБ; всего рассчитывайте на 0,6–0,8 ГБ, так что машины с 2 ГБ ОЗУ
-достаточно. Замерено за 10 минут непрерывного сбора (пик 0,58 ГБ на машине
-с 8 ГБ) и при загрузке часа потоков с интенсивностью в одиннадцать раз
-выше с ограничениями машины с 2 ГБ (пик 0,74 ГБ).
-
-`-memory` — это бюджет, а не жёсткий предел: лимит Go мягкий, и база данных
-может ненадолго превысить свою долю. Для жёсткого предела используйте
-средства операционной системы: `MemoryMax=` в unit-файле systemd (раздел 2)
-или лимит памяти контейнера. Закладывайте примерно в 2,5 раза больше доли
-`-memory` и не меньше 1 ГБ; при доле по умолчанию `MemoryMax=2G` подходит
-для машин с ОЗУ до 8 ГБ. Тогда перезапускается traffic66, а не у машины
-заканчивается память.
-
-
-
-## 16. Устранение неполадок
-
-| Симптом | Причина и решение |
+| `-memory` | `0.10` | доля оперативной памяти под кеш базы данных |
+| `-sampling-wait` | `5m` | сколько записи ждут частоту сэмплирования |
+| `-capture` | | локальный интерфейс (можно повторять) |
+| `-no-dns` | | без обратного разрешения имён |
+
+В каталоге данных находятся `raw/` (детальные данные, один файл на час),
+`traffic66.duckdb` (сводки и счётчики), `password`, `inventory.txt`,
+`license.json`, ваш логотип и базы. Резервное копирование: остановите
+traffic66 и скопируйте каталог; обновление: замените файл программы.
+**Очистка данных** удаляет данные старше 7–120 дней или все данные.
+
+
+
+### Лицензия
+
+Исходный код открыт по [PolyForm Noncommercial License 1.0.0](../LICENSE.md)
+и [Traffic66 Additional Use Grant](../ADDITIONAL-USE-GRANT.md) (юридическую
+силу имеет английский текст): бесплатно для оценки и для организаций
+численностью менее 100 человек; более крупные организации регистрируются
+после 30 дней промышленного использования; для продажи, хостинга для других
+или конкурирующих продуктов нужна коммерческая лицензия. Ничего никогда не
+отключается. Внизу каждой страницы показан 8-значный номер установки;
+отправьте его автору и положите полученный `license.json` в каталог данных.
+Контакт: .
+
+
+
+## 11. Безопасность, оценка ресурсов, устранение неполадок
+
+Веб-интерфейс работает по обычному HTTP: в недоверенных сетях используйте
+`-addr 127.0.0.1:8066` за TLS-прокси (`caddy reverse-proxy --from traffic66.example.com --to
+127.0.0.1:8066`) или SSH-туннель. Разрешайте UDP-порты только с ваших
+устройств. SNMP-сообщества хранятся открытым текстом; используйте сообщества
+только для чтения.
+
+При 5,000 потоков/с на 2 ядрах: около 12 ГБ диска на сутки детальных данных
+(360 ГБ за 30 дней), шестая часть ядра, 0,6–0,8 ГБ памяти. Обзоры за
+длинные периоды строятся менее чем за 0,2 с; Топ 66 всех сеансов за 1 час —
+около 9 с.
+
+| Симптом | Решение |
|---|---|
-| Устройства нет на странице **Настройки** | Пакеты не доходят: см. [Проверка поступления потоков](#5-check-that-flows-arrive) |
-| "waiting for the sampling rate" | Устройство ещё не прислало sampler options; большинство устройств повторяют их в течение нескольких минут. Если так и не пришлёт, включите их экспорт (`option sampler-table` на Cisco) или пометьте устройство как `unsampled` в разделе «Названия», если оно действительно экспортирует 1:1, либо укажите его коэффициент через `sampling=N` в строке `device`. На странице **Настройки** затем видны шаблоны, присланные устройством, — по ним понятно, что оно объявляет |
-| Цифры ниже счётчиков интерфейсов | См. **Сверка интерфейсов**: потери по пути, несэмплируемые интерфейсы или потоки ещё в кеше устройства (active timeout больше 60 с) |
-| Цифры выше счётчиков интерфейсов | Один и тот же трафик сэмплируется на двух интерфейсах или двух устройствах |
-| Нет стран и сетей («Неизвестно») | Не загружена база: загрузите её на странице **Настройки**, см. [Страны](#8-countries-networks-and-threat-lists) |
-| "База данных упёрлась в лимит памяти и не смогла ответить" на странице | Выберите период покороче или запустите с бо́льшим `-memory`; подробности в журнале |
-| Забыт пароль | `traffic66 passwd` на машине с traffic66 (добавьте `-data`, если traffic66 запущен с ним) |
-| `Conflicting lock is held` | Этот каталог данных уже использует другой экземпляр traffic66 |
-| `receive buffer is only … KB` | Linux ограничивает размер UDP-буферов: задайте `net.core.rmem_max=16777216` (см. [Linux](#linux)) |
-| `cannot create the data directory` | У этого пользователя нет прав на запись в папку программы: укажите `-data` |
-| macOS: "cannot be opened" или "developer cannot be verified" | `xattr -dr com.apple.quarantine ` |
-| Windows: "Система Windows защитила ваш компьютер" | **Подробнее** → **Выполнить в любом случае**; программа пока не подписана |
-| Захват в Windows: Npcap не найден | Установите [Npcap](https://npcap.com) |
-| `address already in use` | Порт занят другой программой: выберите другие через `-addr` или `-listen` |
-
-
-
-## 17. Сборка из исходников
-
-Go 1.24 и компилятор C (gcc или clang; в Windows — MinGW-w64):
-
-```
-git clone https://github.com/githubflyideas/traffic66
-cd traffic66
-scripts/build.sh 0.1.0 traffic66
-```
+| "ожидание частоты сэмплирования" | Экспортируйте параметры сэмплера или укажите `sampling=N` / `unsampled` в строке устройства |
+| Меньше, чем счётчики | Интерфейсы без выборки, потери или активный тайм-аут больше 60 с |
+| Больше, чем счётчики | Один и тот же трафик сэмплируется на двух интерфейсах или устройствах |
+| Забыли пароль | `traffic66 passwd` на машине с traffic66 |
+| `Conflicting lock is held` | Этот каталог данных использует другой traffic66 |
+| `address already in use` | Выберите другие порты с помощью `-addr` или `-listen` |
+| Windows: "Система Windows защитила ваш компьютер" | **Подробнее** → **Выполнить в любом случае** |
+
+Сборка из исходников: Go 1.24 и компилятор C, затем `scripts/build.sh 0.1.0 traffic66`.
diff --git a/docs/README.ur.md b/docs/README.ur.md
index 298d44f..1ac8eb7 100644
--- a/docs/README.ur.md
+++ b/docs/README.ur.md
@@ -4,413 +4,157 @@
# traffic66
-sFlow، NetFlow اور IPFIX کے لیے flow analytics، ایک ہی پروگرام میں۔ یہ
-switches، routers اور firewalls سے flow exports جمع کرتا ہے، انہیں ایک
-embedded database میں رکھتا ہے، اور دکھاتا ہے کہ bandwidth کون استعمال کر رہا
-ہے، ٹریفک کہاں جا رہی ہے اور کیا اعداد و شمار ڈیوائس کے اپنے interface counters
-سے میل کھاتے ہیں — web UI میں بھی اور terminal UI میں بھی۔
-
-- Windows، Linux اور macOS کے لیے ایک ہی executable۔ کوئی database انسٹال
- نہیں کرنا، کوئی runtime نہیں، offline بھی چلتا ہے۔
-- کسی بھی UDP port پر sFlow v5، NetFlow v5، NetFlow v9 اور IPFIX؛ چاہیں تو
- کسی network interface یا mirror port سے local capture بھی۔
-- اپنے اعداد کو interface counters (sFlow counters یا SNMP) سے ملا کر جانچتا
- ہے، اور فرق ہو تو بتاتا ہے کہ کیوں۔
-- flows میں scans، پاس ورڈ کا اندازہ، lateral movement، غیر معمولی uploads،
- floods اور threat list والی ٹریفک ڈھونڈتا ہے، sampling کے باوجود بھی، اور
- انہیں نمٹانے کے لیے مشتبہ سرگرمیوں کی فہرست میں دکھاتا ہے۔
-- Top 66 فہرستیں، کون کس سے بات کرتا ہے ring charts کی صورت میں (servers اور
- ان کے clients، services اور ان کے servers)، interface اور نیٹ ورک (AS) کے
- لحاظ سے وقت کے ساتھ ٹریفک، flow کے راستے، دنیا کے نقشے پر ممالک، threat list
- کے matches، flow records، encapsulation (GRE، IPIP، VXLAN، GENEVE، MPLS)۔
-- `traffic66 capture.pcap` زیادہ سے زیادہ 3 پیکٹ کیپچر (کل 3 GB) ویب UI میں کھولتا ہے: پورے کیپچر کے فلو، نتائج، ممالک اور فلو ریکارڈز، بغیر کسی سیٹ اپ کے۔
-- web UI اور terminal UI میں 13 زبانیں۔
-- Source available: جانچ کے لیے اور 100 سے کم افراد والی تنظیموں کے لیے
- مفت؛ بڑی تنظیمیں 30 دن کے production استعمال کے بعد رجسٹر کرتی ہیں۔ کچھ
- بھی کبھی بند نہیں کیا جاتا ([آزمائش اور لائسنس](#trial-and-licence) دیکھیں)۔
+sFlow، NetFlow اور IPFIX کے لیے flow analytics، ایک ہی پروگرام میں: bandwidth
+کون استعمال کر رہا ہے، ٹریفک کہاں جا رہی ہے، اور کیا اعداد ڈیوائسز کے اپنے
+interface counters سے میل کھاتے ہیں — web UI اور terminal UI میں۔
+
+- Windows، Linux اور macOS کے لیے ایک ہی executable؛ کوئی database انسٹال نہیں کرنا، offline بھی چلتا ہے۔
+- کسی بھی UDP port پر sFlow v5، NetFlow v5/v9 اور IPFIX، یا کسی interface سے local capture۔
+- اپنے اعداد کو interface counters (sFlow یا SNMP) سے ملا کر جانچتا ہے اور بتاتا ہے کہ فرق کیوں ہے۔
+- scans، پاس ورڈ کا اندازہ، lateral movement، غیر معمولی uploads، floods اور threat list والی ٹریفک ڈھونڈتا ہے، sampling کے باوجود بھی۔
+- `traffic66 capture.pcap` بغیر کسی سیٹ اپ کے پیکٹ کیپچر کا تجزیہ کرتا ہے۔
+- 13 زبانیں۔ جانچ کے لیے اور 100 سے کم افراد والی تنظیموں کے لیے مفت ([لائسنس](#licence))۔

-تمام اسکرین شاٹس `traffic66 demo` سے لیے گئے ہیں، ایک simulated کمپنی نیٹ ورک جسے آپ خود چلا سکتے ہیں ([ڈیمو چلا کر دیکھیں](#1-try-the-demo) دیکھیں)۔
+تمام اسکرین شاٹس `traffic66 demo` سے لیے گئے ہیں، ایک simulated کمپنی نیٹ ورک۔
## فہرست
1. [ڈیمو چلا کر دیکھیں](#1-try-the-demo)
-2. [انسٹال کریں](#2-install) — [Linux](#linux) · [Windows](#windows) · [macOS](#macos)
+2. [انسٹال کریں](#2-install)
3. [یوزرز اور پاس ورڈ](#3-users-and-passwords)
4. [اپنی ڈیوائسز سے flows بھیجیں](#4-send-flows-from-your-devices)
5. [جانچیں کہ flows پہنچ رہے ہیں](#5-check-that-flows-arrive)
-6. [اعداد کو interface counters سے ملائیں](#6-make-the-numbers-match-the-interface-counters)
-7. [نام، SNMP اور آپ کے اپنے نیٹ ورک](#7-names-snmp-and-your-own-networks)
-8. [ممالک، نیٹ ورک اور threat lists](#8-countries-networks-and-threat-lists)
-9. [web UI کا استعمال](#9-using-the-web-ui)
-10. [Terminal UI](#10-terminal-ui)
-11. [Local capture](#11-local-capture)
-12. [آپشنز](#12-options)
-13. [ڈیٹا، بیک اپ، اپ گریڈ، اَن انسٹال](#13-data-backup-upgrade-uninstall)
-14. [سکیورٹی](#14-security)
-15. [گنجائش کا اندازہ](#15-sizing)
-16. [مسائل کا حل](#16-troubleshooting)
-17. [سورس سے بِلڈ کریں](#17-build-from-source)
+6. [Interfaces اور counters](#6-interfaces-and-counters)
+7. [نام، ممالک اور threat lists](#7-names-countries-and-threat-lists)
+8. [web UI کا استعمال](#8-using-the-web-ui)
+9. [آف لائن pcap، terminal UI، local capture](#9-offline-pcap-terminal-ui-local-capture)
+10. [آپشنز اور ڈیٹا](#10-options-and-data)
+11. [سکیورٹی، گنجائش کا اندازہ، مسائل کا حل](#11-security-sizing-troubleshooting)
## 1. ڈیمو چلا کر دیکھیں
-اپنے سسٹم کے لیے archive
-[releases صفحے](https://github.com/githubflyideas/traffic66/releases) سے ڈاؤن لوڈ کریں:
-
-| سسٹم | Archive |
-|---|---|
-| Windows 10/11، Server 2016 یا نیا (x64) | `traffic66-windows-amd64.zip` |
-| Linux x86-64: kernel 3.2 یا اس کے بعد والی کوئی بھی distribution، بشمول CentOS 7 اور Alpine | `traffic66-linux-amd64.tar.gz` |
-| Linux ARM64: وہی distributions | `traffic66-linux-arm64.tar.gz` |
-| macOS 11 یا نیا، Apple silicon | `traffic66-darwin-arm64.tar.gz` |
-| macOS 11 یا نیا، Intel | `traffic66-darwin-amd64.tar.gz` |
-
-Linux:
-
-```
-tar xzf traffic66-linux-amd64.tar.gz
-cd traffic66-linux-amd64
-./traffic66 demo -password try66
-```
-
-macOS (دوسری لائن macOS کو انٹرنیٹ سے ڈاؤن لوڈ کیا گیا ایسا پروگرام چلانے دیتی
-ہے جو App Store سے نہیں آیا):
+اپنے سسٹم کا archive
+[releases صفحے](https://github.com/githubflyideas/traffic66/releases) سے
+ڈاؤن لوڈ کریں (Windows x64، kernel 3.2+ والا Linux x86-64/ARM64، macOS 11+)،
+اسے unpack کریں اور چلائیں:
```
-tar xzf traffic66-darwin-arm64.tar.gz
-xattr -dr com.apple.quarantine traffic66-darwin-arm64
-cd traffic66-darwin-arm64
-./traffic66 demo -password try66
+./traffic66 demo -password try66 # Linux, macOS
+.\traffic66.exe demo -password try66 # Windows
```
-Windows (PowerShell):
-
-```
-Expand-Archive traffic66-windows-amd64.zip .
-cd traffic66-windows-amd64
-.\traffic66.exe demo -password try66
-```
-
-http://127.0.0.1:8066 کھولیں اور `admin` / `try66` سے سائن اِن کریں۔ ڈیمو ایک
-چھوٹی کمپنی کا نیٹ ورک بناتا ہے جس میں ایک دن کی ہسٹری اور چار simulated
-ڈیوائسز سے live ٹریفک ہوتی ہے، اور اس میں ایک حملہ بھی ہے: **مشتبہ سرگرمی** اس
-کا ہر مرحلہ دکھاتا ہے (ایک scan، ایک port scan، پاس ورڈ کا اندازہ، lateral
-movement، ایک control server پر upload) اور public website پر ایک flood بھی۔
-فہرست کے کسی اندراج پر **تفصیل** پر کلک کریں، یا **جائزہ** سے شروع کریں،
-**سرفہرست کلائنٹ** میں کسی host پر کلک کریں، **تفصیل دیکھیں** چنیں، اور وہاں
-سے کلک کرتے ہوئے آگے بڑھیں۔ Ctrl+C سے بند کریں۔ ڈیمو کا ڈیٹا پروگرام کے ساتھ
-`traffic66-demo` میں رہتا ہے؛ ڈیمو نئے سرے سے شروع کرنے کے لیے وہ فولڈر ڈیلیٹ کر دیں۔
-
-ڈیمو وہی ports استعمال کرتا ہے جو اصل installation کرتی ہے (8066، اور UDP
-6343، 2055، 4739)۔ اصل installation کے ساتھ ساتھ چلانے کے لیے اسے دوسرے ports
-دیں: `traffic66 demo -password try66 -addr :8067 -listen ""`۔
-
-Windows پر آپ سیدھے `traffic66.exe` پر double-click بھی کر سکتے ہیں۔ اس سے
-traffic66 اصل طور پر (ڈیمو نہیں) شروع ہوتا ہے اور آپ کے browser میں web UI
-کھل جاتا ہے؛ پہلی بار شروع ہونے کا پاس ورڈ کالی window میں دکھایا جاتا ہے، اور
-window بند کرنے سے traffic66 رک جاتا ہے۔ اگر Windows یہ دکھائے:
-"Windows protected your PC" (Windows نے آپ کے PC کو محفوظ کیا)، تو
-**More info** (مزید معلومات) → **Run anyway** (پھر بھی چلائیں) پر کلک کریں۔
+macOS پر پہلے `xattr -dr com.apple.quarantine ` چلائیں۔
+http://127.0.0.1:8066 کھولیں اور `admin` / `try66` سے سائن اِن کریں: ایک دن کی
+تاریخ اور چار simulated ڈیوائسز سے live ٹریفک، جس میں ایک حملہ بھی ہے جو
+**مشتبہ سرگرمی** پر قدم بہ قدم دکھایا جاتا ہے۔ Ctrl+C اسے روکتا ہے؛ نئے سرے سے
+شروع کرنے کے لیے `traffic66-demo` حذف کر دیں۔ اصل installation کے ساتھ ساتھ
+چلانے کے لیے: `-addr :8067 -listen ""`۔
## 2. انسٹال کریں
-traffic66 ایک ہی فائل ہے۔ انسٹال کرنے کا مطلب ہے: اسے کہیں رکھنا، ایک data
-directory چننا، پاس ورڈ سیٹ کرنا، firewall کھولنا اور boot پر اسے چلانا۔ مثالوں
-میں traffic66 مشین کے لیے `192.0.2.50` اور router کے لیے `192.0.2.1` ہے؛ انہیں
-اپنے addresses سے بدل لیں۔
-
-Ports:
+traffic66 ایک ہی فائل ہے۔ Ports: UDP 6343 (sFlow)، 2055 (NetFlow)، 4739
+(IPFIX)، TCP 8066 (web UI)؛ ہر UDP port ہر protocol قبول کرتا ہے۔
-| Port | کس لیے |
-|---|---|
-| UDP 6343 | sFlow (ڈیفالٹ) |
-| UDP 2055 | NetFlow (ڈیفالٹ) |
-| UDP 4739 | IPFIX (ڈیفالٹ) |
-| TCP 8066 | web UI اور API |
-
-ہر UDP port ہر protocol قبول کرتا ہے، اس لیے آسان ہو تو ڈیوائس NetFlow بھی 6343
-پر بھیج سکتی ہے۔ ports بدلنے یا شامل کرنے کے لیے `-listen` استعمال کریں۔
-
-
-
-### Linux
+**Linux** (systemd):
```
-sudo mkdir -p /opt/traffic66
-sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
+sudo mkdir -p /opt/traffic66 && sudo tar xzf traffic66-linux-amd64.tar.gz -C /opt/traffic66 --strip-components=1
sudo useradd --system --no-create-home --shell /usr/sbin/nologin traffic66
sudo install -d -o traffic66 -g traffic66 /var/lib/traffic66
sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66
```
-آخری کمانڈ یوزر `admin` کا پاس ورڈ پوچھتی ہے۔
-
-`/etc/systemd/system/traffic66.service` بنائیں:
+`/etc/systemd/system/traffic66.service`:
```
[Unit]
Description=traffic66 flow analytics
After=network-online.target
-Wants=network-online.target
[Service]
User=traffic66
ExecStart=/opt/traffic66/traffic66 -data /var/lib/traffic66
Restart=on-failure
-# hard memory limit for the whole process (see Sizing)
MemoryMax=2G
-# only needed for local capture (-capture):
-#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
+#AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN # only for local capture
[Install]
WantedBy=multi-user.target
```
-اسے شروع کریں اور بڑے UDP buffers کی اجازت دیں تاکہ bursts میں packets ضائع نہ ہوں:
-
```
-echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf
-sudo sysctl --system
-sudo systemctl daemon-reload
-sudo systemctl enable --now traffic66
-sudo systemctl status traffic66
-journalctl -u traffic66 -f
+echo 'net.core.rmem_max=16777216' | sudo tee /etc/sysctl.d/90-traffic66.conf && sudo sysctl --system
+sudo systemctl daemon-reload && sudo systemctl enable --now traffic66
+sudo firewall-cmd --permanent --add-port={6343,2055,4739}/udp --add-port=8066/tcp && sudo firewall-cmd --reload
```
-Firewall، firewalld کے ساتھ (RHEL، Rocky، Alma، Fedora):
+**Windows** (PowerShell، Administrator کے طور پر): `C:\traffic66` میں unpack
+کریں، `C:\traffic66\traffic66.exe passwd` چلائیں، ports کھولیں، اور اسے boot
+پر شروع ہونے کے لیے سیٹ کریں:
```
-sudo firewall-cmd --permanent --add-port=6343/udp --add-port=2055/udp --add-port=4739/udp --add-port=8066/tcp
-sudo firewall-cmd --reload
-```
-
-یا ufw کے ساتھ (Ubuntu، Debian):
-
-```
-sudo ufw allow 6343,2055,4739/udp
-sudo ufw allow 8066/tcp
-```
-
-
-
-### Windows
-
-`C:\traffic66` میں unpack کریں اور پاس ورڈ سیٹ کریں (PowerShell، بطور
-Administrator):
-
-```
-Expand-Archive traffic66-windows-amd64.zip C:\
-Rename-Item C:\traffic66-windows-amd64 C:\traffic66
-C:\traffic66\traffic66.exe passwd
-```
-
-ڈیٹا پروگرام کے ساتھ `C:\traffic66\traffic66-data` میں جاتا ہے۔
-
-Firewall کھولیں:
-
-```
-New-NetFirewallRule -DisplayName "traffic66 flows" -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
-New-NetFirewallRule -DisplayName "traffic66 web" -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
-```
-
-foreground میں آزمانے کے لیے `C:\traffic66\traffic66.exe` چلائیں اور Ctrl+C سے
-بند کریں۔ boot ہی سے background میں چلانے کے لیے، کسی کے سائن اِن کیے بغیر، اسے
-startup task کے طور پر register کریں:
-
-```
-$action = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
-$trigger = New-ScheduledTaskTrigger -AtStartup
-$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
-Register-ScheduledTask -TaskName traffic66 -Action $action -Trigger $trigger -Settings $settings -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
+New-NetFirewallRule -DisplayName traffic66 -Direction Inbound -Protocol UDP -LocalPort 6343,2055,4739 -Action Allow
+New-NetFirewallRule -DisplayName traffic66-web -Direction Inbound -Protocol TCP -LocalPort 8066 -Action Allow
+$a = New-ScheduledTaskAction -Execute 'C:\traffic66\traffic66.exe' -Argument '-data C:\traffic66\traffic66-data'
+$s = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1)
+Register-ScheduledTask -TaskName traffic66 -Action $a -Trigger (New-ScheduledTaskTrigger -AtStartup) -Settings $s -User 'NT AUTHORITY\SYSTEM' -RunLevel Highest
Start-ScheduledTask -TaskName traffic66
```
-`-ExecutionTimeLimit ([TimeSpan]::Zero)` ضروری ہے: اس کے بغیر Windows تین دن
-بعد task روک دیتا ہے۔ روکنے کے لیے `Stop-ScheduledTask -TaskName
-traffic66`، ہٹانے کے لیے `Unregister-ScheduledTask -TaskName traffic66`۔
-
-
-
-### macOS
-
-```
-sudo mkdir -p /usr/local/traffic66
-sudo tar xzf traffic66-darwin-arm64.tar.gz -C /usr/local/traffic66 --strip-components=1
-sudo xattr -dr com.apple.quarantine /usr/local/traffic66
-sudo /usr/local/traffic66/traffic66 passwd -data "/Library/Application Support/traffic66"
-```
-
-`/Library/LaunchDaemons/traffic66.plist` بنائیں:
-
-```
-
-
-
-
- Labeltraffic66
- ProgramArguments
-
- /usr/local/traffic66/traffic66
- -data
- /Library/Application Support/traffic66
-
- RunAtLoad
- KeepAlive
- StandardErrorPath/Library/Logs/traffic66.log
-
-
-```
+`traffic66.exe` پر double-click بھی کام کرتا ہے: یہ web UI کھولتا ہے اور پہلا
+پاس ورڈ اپنی window میں دکھاتا ہے۔
-شروع کریں، اور پھر بند کریں:
-
-```
-sudo launchctl bootstrap system /Library/LaunchDaemons/traffic66.plist
-tail -f /Library/Logs/traffic66.log
-sudo launchctl bootout system/traffic66
-```
-
-اگر macOS firewall آن ہے تو System Settings → Network → Firewall → Options میں
-traffic66 کے لیے incoming connections کی اجازت دیں۔
+**macOS**: `/usr/local/traffic66` میں unpack کریں، quarantine flag ہٹائیں،
+`traffic66 passwd -data "/Library/Application Support/traffic66"` چلائیں، اور
+اسے ایک LaunchDaemon سے شروع کریں جس کے `ProgramArguments` پروگرام، `-data` اور
+وہ directory ہوں، ساتھ `RunAtLoad` اور `KeepAlive`۔
## 3. یوزرز اور پاس ورڈ
-**مختصراً:** یوزرز اور پاس ورڈ data directory کی ایک ہی فائل، `password`، میں
-رہتے ہیں۔ اسے کبھی ہاتھ سے edit نہ کریں: `traffic66 passwd` command یوزرز کو
-شامل کرتا، بدلتا، ان کی فہرست دکھاتا اور انہیں حذف کرتا ہے۔
-`http://:8066` کھولیں اور ان میں سے کسی ایک سے سائن اِن کریں۔
-
-
-
-### پہلا سائن اِن
-
-پہلی بار شروع ہونے پر traffic66 ایک random پاس ورڈ کے ساتھ یوزر `admin` بناتا ہے
-اور اسے ایک بار دکھاتا ہے:
-
-```
-first start: sign in as user "admin" with password "3f9c2a7e5b1d8046"
-```
-
-- Windows پر double-click سے شروع کیا: کالی window میں۔
-- terminal میں شروع کیا: اسی terminal میں۔
-- Linux service: `journalctl -u traffic66 | grep "first start"`
-- macOS service: `grep "first start" /Library/Logs/traffic66.log`
-
-نظر سے رہ گیا؟ `traffic66 passwd` (نیچے دیکھیں) سے نیا سیٹ کریں۔ اگر آپ نے پہلی
-بار شروع کرنے سے پہلے `traffic66 passwd` سے پاس ورڈ سیٹ کر دیا ہے، جیسا کہ اوپر
-کے install steps کرتے ہیں، تو کچھ بھی generate نہیں ہوتا۔
-
-
-
-### یوزرز کہاں رکھے جاتے ہیں
-
-data directory کی فائل `password` میں:
-
-| traffic66 کیسے چلتا ہے | فائل |
-|---|---|
-| unpack کر کے اس کے folder سے شروع کیا گیا (default) | پروگرام کے ساتھ `traffic66-data/password` |
-| Linux service (حصہ 2) | `/var/lib/traffic66/password` |
-| Windows startup task (حصہ 2) | `C:\traffic66\traffic66-data\password` |
-| macOS service (حصہ 2) | `/Library/Application Support/traffic66/password` |
-| ڈیمو | پروگرام کے ساتھ `traffic66-demo/password` |
-
-ہر یوزر کی ایک line۔ پاس ورڈ salted hashes کی صورت میں رکھے جاتے ہیں، اس لیے کوئی
-انہیں فائل سے واپس نہیں پڑھ سکتا، آپ بھی نہیں؛ پاس ورڈ بھول جائیں تو نیا سیٹ کریں۔
-فائل صرف اس کا owner پڑھ سکتا ہے۔
-
-```
-# traffic66 login, one user per line; change with: traffic66 passwd
-admin:pbkdf2-sha256$210000$…
-alice:pbkdf2-sha256$210000$…
-```
-
-
-
-### یوزرز کا انتظام
-
-یہ commands traffic66 مشین پر چلائیں:
+پہلی بار شروع ہونے پر traffic66 ایک random پاس ورڈ کے ساتھ یوزر `admin` بناتا
+ہے اور اسے ایک بار دکھاتا ہے (window میں، terminal میں، یا
+`journalctl -u traffic66 | grep "first start"`)۔ یوزرز data directory میں
+`password` کے اندر salted hashes کی صورت میں رکھے جاتے ہیں اور traffic66 مشین
+پر ایک command سے سنبھالے جاتے ہیں (اگر traffic66 `-data …` کے ساتھ چلتا ہے تو
+وہ بھی شامل کریں):
| کام | Command |
|---|---|
| `admin` کا پاس ورڈ بدلنا | `traffic66 passwd` |
-| یوزر `alice` شامل کرنا، یا اس کا پاس ورڈ بدلنا | `traffic66 passwd -user alice` |
-| یوزر `alice` کو حذف کرنا | `traffic66 passwd -user alice -delete` |
-| یوزرز کی فہرست دیکھنا | `traffic66 passwd -list` |
-| random پاس ورڈ سیٹ کر کے دکھانا | `traffic66 passwd -generate` (دوسرے یوزرز کے لیے `-user` کے ساتھ) |
-
-- command نیا پاس ورڈ دو بار پوچھتا ہے اور جو آپ ٹائپ کرتے ہیں اسے نہیں دکھاتا۔
- کم از کم 8 حروف استعمال کریں۔
-- جب traffic66 `-data` کے ساتھ چلتا ہے تو command میں بھی وہی `-data` شامل کریں۔
- حصہ 2 والی Linux service کے لیے:
-
- ```
- sudo -u traffic66 /opt/traffic66/traffic66 passwd -data /var/lib/traffic66 -user alice
- ```
-
- Windows پر (PowerShell، بطور Administrator):
-
- ```
- C:\traffic66\traffic66.exe passwd -user alice
- ```
-
-- تبدیلیاں فوراً لاگو ہوتی ہیں، restart کی ضرورت نہیں: نیا پاس ورڈ اگلے سائن اِن
- پر کام کرتا ہے، اور حذف شدہ یوزر کھلے browsers سے sign out ہو جاتا ہے۔
-- آخری بچا ہوا یوزر حذف نہیں کیا جا سکتا؛ پہلے کوئی دوسرا یوزر شامل کریں۔
-- سب یوزرز ایک جیسی چیزیں دیکھتے اور بدل سکتے ہیں؛ کوئی roles نہیں ہیں۔
-
-
-
-### scripts اور containers کے لیے پاس ورڈ
-
-environment میں `TRAFFIC66_PASSWORD=…`، یا command line پر `-password …`، سے
-traffic66 اس run کے لیے صرف ایک یوزر قبول کرتا ہے: وہ جس کا نام `-user` میں ہو
-(default `admin`)، اسی پاس ورڈ کے ساتھ۔ اس صورت میں `password` فائل نظرانداز کی
-جاتی ہے اور بدلی نہیں جاتی۔ environment variable کو ترجیح دیں: command lines
-مشین کے دوسرے یوزرز کو نظر آتی ہیں۔
+| `alice` کو شامل کرنا یا اس کا پاس ورڈ بدلنا | `traffic66 passwd -user alice` |
+| `alice` کو حذف کرنا | `traffic66 passwd -user alice -delete` |
+| یوزرز کی فہرست | `traffic66 passwd -list` |
-```
-TRAFFIC66_PASSWORD='s3cret-pass' traffic66 -user ops
-```
-
-ایک منٹ کے اندر پانچ غلط پاس ورڈز کے بعد اس address کو ایک منٹ کے لیے block کر
-دیا جاتا ہے۔
+تبدیلیاں فوراً لاگو ہوتی ہیں۔ تمام یوزرز کے اختیارات یکساں ہیں۔ scripts اور
+containers کے لیے `TRAFFIC66_PASSWORD=…` (یا `-password`) اس run میں صرف اسی
+پاس ورڈ کے ساتھ `-user` کو قبول کرتا ہے۔ ایک منٹ میں پانچ غلط پاس ورڈ اس address
+کو ایک منٹ کے لیے block کر دیتے ہیں۔
## 4. اپنی ڈیوائسز سے flows بھیجیں
-ہر ڈیوائس کو traffic66 مشین کی طرف point کریں۔ کمانڈز models اور software
-versions کے حساب سے مختلف ہوتی ہیں؛ اپنی ڈیوائس کا manual دیکھیں۔ تمام مثالوں میں
-`192.0.2.50` traffic66 ہے اور `192.0.2.1` ڈیوائس کا اپنا address۔
-
-عمومی مشورے:
-
-- active flow timeout کو 60 سیکنڈ رکھیں۔ لمبے timeouts سے ٹریفک دیر سے اور بڑے
- ٹکڑوں میں آتی ہے۔
-- اگر ڈیوائس NetFlow/IPFIX کو sample کرتی ہے تو اسے sampler options export کرنے
- دیں تاکہ rate معلوم ہو۔ traffic66 records کو 1:1 گننے کے بجائے rate آنے تک
- روکے رکھتا ہے۔
-- یا تو تمام interfaces کو sample کریں یا صرف edge interfaces کو، ایک ہی سمت
- میں۔ ایک ہی ٹریفک کو آتے اور جاتے دونوں وقت sample کرنے سے وہ دو بار گنی جاتی
- ہے؛ **انٹرفیس جانچ** اس کی نشاندہی کرتا ہے۔
-- sFlow sampling rate: 1 Gb/s links کے لیے تقریباً 1:1000، 10 Gb/s کے لیے
- 1:4096، 40/100 Gb/s کے لیے 1:8192۔
-
-Cisco IOS / IOS-XE (Flexible NetFlow):
+`192.0.2.50` traffic66 ہے، `192.0.2.1` ڈیوائس۔ active timeout کو 60 سیکنڈ پر
+رکھیں، NetFlow/IPFIX ڈیوائسز کو اپنے sampler options export کرنے دیں، اور
+**ہر interface کو inbound** sample کریں (یا صرف edge interfaces): اس طرح ہر
+packet ایک ہی بار گنا جاتا ہے۔ sFlow rates: 1 Gb/s کے لیے تقریباً 1:1000،
+10 Gb/s کے لیے 1:4096، 40/100 Gb/s کے لیے 1:8192۔
```
+! Cisco IOS-XE, NetFlow v9
flow exporter T66
destination 192.0.2.50
transport udp 2055
- export-protocol netflow-v9
option sampler-table
flow monitor T66
exporter T66
@@ -420,39 +164,8 @@ interface GigabitEthernet0/0/0
ip flow monitor T66 input
```
-Cisco NX-OS (sFlow):
-
-```
-feature sflow
-sflow collector-ip 192.0.2.50 vrf default
-sflow collector-port 6343
-sflow agent-ip 192.0.2.1
-sflow sampling-rate 4096
-sflow counter-poll-interval 30
-sflow data-source interface ethernet 1/1
-```
-
-Arista EOS (sFlow):
-
-```
-sflow sample 4096
-sflow destination 192.0.2.50
-sflow source-interface Management1
-sflow run
-```
-
-Juniper EX / QFX (sFlow):
-
-```
-set protocols sflow collector 192.0.2.50 udp-port 6343
-set protocols sflow sample-rate ingress 4096
-set protocols sflow polling-interval 30
-set protocols sflow interfaces ge-0/0/0
-```
-
-Huawei CloudEngine (sFlow):
-
```
+# Huawei CloudEngine, sFlow (H3C Comware is similar)
sflow agent ip 192.0.2.1
sflow collector 1 ip 192.0.2.50
interface 10GE1/0/1
@@ -463,46 +176,22 @@ interface 10GE1/0/1
sflow counter interval 30
```
-H3C Comware (sFlow):
-
-```
-sflow agent ip 192.0.2.1
-sflow collector 1 ip 192.0.2.50 port 6343
-interface Ten-GigabitEthernet1/0/1
- sflow sampling-rate 4096
- sflow flow collector 1
- sflow counter interval 30
- sflow counter collector 1
```
+# Juniper EX/QFX, sFlow
+set protocols sflow collector 192.0.2.50 udp-port 6343
+set protocols sflow sample-rate ingress 4096
+set protocols sflow interfaces ge-0/0/0
-MikroTik RouterOS 7 (NetFlow v9 / IPFIX):
+# Arista EOS, sFlow
+sflow sample 4096
+sflow destination 192.0.2.50
+sflow run
-```
+# MikroTik RouterOS 7
/ip traffic-flow set enabled=yes interfaces=all active-flow-timeout=1m
/ip traffic-flow target add dst-address=192.0.2.50 port=2055 version=9
-```
-
-FortiGate FortiOS 7.4.2 یا نیا (NetFlow v9):
-```
-config system netflow
- config collectors
- edit 1
- set collector-ip 192.0.2.50
- set collector-port 2055
- next
- end
-end
-config system interface
- edit port1
- set netflow-sampler both
- next
-end
-```
-
-Linux servers اور hosts، softflowd کے ساتھ (NetFlow v9):
-
-```
+# Linux host, softflowd
softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
```
@@ -510,313 +199,113 @@ softflowd -i eth0 -n 192.0.2.50:2055 -v 9 -t maxlife=60
## 5. جانچیں کہ flows پہنچ رہے ہیں
-**ترتیبات** کھولیں۔ جو بھی ڈیوائس کچھ بھیجتی ہے وہ چند سیکنڈ میں نظر آ جاتی ہے،
-اپنے protocol، sampling rate، loss، آخری packet اور status کے ساتھ۔ جب status
-سبز نہ ہو تو اس کے ساتھ لکھا متن بتاتا ہے کہ کیا خرابی ہے اور کیا بدلنا ہے۔
-
-**ضائع** ان samples یا records کو گنتا ہے جو کبھی پہنچے ہی نہیں۔ sFlow کے لیے
-متن بتاتا ہے کہ وہ کہاں گم ہوئے: یہاں آتے ہوئے راستے میں (sequence numbers میں
-خلا: نیٹ ورک، یا اس مشین کا UDP receive buffer؛ اگر `netstat -su` میں receive
-buffer errors بڑھ رہے ہوں تو `net.core.rmem_max` بڑھائیں)، یا خود ڈیوائس میں
-(sFlow ان samples کی اطلاع دیتا ہے جو ڈیوائس نے گرا دیے: اس کا sFlow export
-rate-limited ہے، اس لیے کم بار sample کریں یا ڈیوائس کی حد بڑھائیں)۔ دونوں
-صورتوں میں کل میزان کی تلافی کی جاتی ہے؛ ہر host کی تفصیل کی نہیں۔
+**ترتیبات** ہر اس ڈیوائس کو چند سیکنڈ میں دکھاتی ہیں جو کچھ بھی بھیجتی ہے:
+protocol، sampling rate، loss، وہ interfaces جنہیں وہ sample کرتی ہے، اور status
+سبز نہ ہو تو کیا ٹھیک کرنا ہے۔ sFlow کا loss دو حصوں میں بٹا ہوتا ہے: راستے میں
+ضائع (اگر `netstat -su` buffer errors دکھائے تو `net.core.rmem_max` بڑھائیں)
+اور وہ samples جو ڈیوائس نے خود گرا دیے۔

-اگر کوئی ڈیوائس نظر نہ آئے:
-
-1. traffic66 مشین پر packets دیکھیں (Linux، macOS):
- `sudo tcpdump -ni any udp port 6343 or udp port 2055 or udp port 4739`۔
- وہاں کچھ نہ ہو تو packets مشین تک پہنچ ہی نہیں رہے: ڈیوائس کی configuration،
- routing اور راستے کے firewalls چیک کریں۔
-2. packets آ رہے ہیں مگر **ترتیبات** خالی ہے: local firewall انہیں drop کر رہا ہے
- ([انسٹال کریں](#2-install) دیکھیں)، یا traffic66 دوسرے ports پر سن رہا ہے
- (`-listen`)۔
-3. کسی ڈیوائس کو چھیڑے بغیر دوسری مشین سے راستہ ٹیسٹ کرنے کے لیے، وہاں چند سیکنڈ
- کے لیے `traffic66 simulate -to 192.0.2.50` چلائیں۔ یہ simulated ڈیوائسز سے
- sFlow، NetFlow اور IPFIX بھیجتا ہے؛ وہ پھر **ترتیبات** اور ڈیٹا میں نظر آتی ہیں،
- اس لیے اس کام کے لیے test installation بہتر ہے۔
-
-
-
-## 6. اعداد کو interface counters سے ملائیں
-
-Flow کے اعداد اندازے ہوتے ہیں: sampled packets ضرب sampling rate۔ traffic66
-انہیں ڈیوائس کے اپنے interface counters سے ملاتا ہے اور فرق **انٹرفیس جانچ** پر
-دکھاتا ہے؛ جب فرق صرف sampling سے سمجھ میں آنے والے فرق سے زیادہ ہو تو ممکنہ
-وجہ بھی بتاتا ہے۔ ہر interface کا ایک پوری چوڑائی والا bits/s chart اور اس کے نیچے
-ایک packets/s chart ہے جن میں ingress (سبز) اور egress (نیلا) ہوتے ہیں؛ ڈیوائس کے
-اپنے counters bits/s chart پر ڈیشڈ لکیروں کی صورت میں ہوتے ہیں۔ فہرست میں کوئی
-interface چننے سے اس کے charts دکھتے ہیں۔
-
-فہرست کی ہر row میں دو بٹن ہیں۔ **✎** interface کو ایک نام اور ایک مختصر ٹیگ
-(جیسے *uplink*) دیتا ہے، جو ہر جگہ اس کے نام کے ساتھ دکھتا ہے۔ **☆** اسے ڈیفالٹ
-interface (**★**) بناتا ہے؛ ڈیفالٹ ایک ہی ہوتا ہے۔ پھر صفحات اسی پر کھلتے ہیں
-([web UI کا استعمال](#9-using-the-web-ui) میں **انٹرفیس** کا انتخاب دیکھیں)، اور جائزہ
-اس کی bandwidth دکھاتا ہے۔ دونوں فوراً **نام** میں `iface` لائن میں محفوظ ہو جاتے ہیں۔
-
-Flow records میں دو interfaces ہوتے ہیں: جس پر packet آیا اور جس سے وہ باہر گیا۔
-اس لیے جو ڈیوائس صرف کچھ interfaces کو سیمپل کرتی ہے، وہ ان کے flows کے دوسرے
-سرے بھی دکھاتی ہے۔ یہ **مخالف سرے کے انٹرفیس** آخر میں، چھوٹے سرمئی حروف میں،
-اپنی الگ سرخی کے نیچے دکھائے جاتے ہیں: ان کے اعداد میں صرف وہ ٹریفک ہے جو کسی
-سیمپل والے interface سے گزری، ان کی پوری ٹریفک نہیں۔ صفحات کے اوپر **انٹرفیس**
-میں یہ پیش نہیں کیے جاتے۔ traffic66 جانتا ہے کہ کس interface نے flow سیمپل کیا:
-sFlow کے data source سے، یا NetFlow v9 اور IPFIX کے flowDirection field (IPFIX
-61) سے (ingress: input interface، egress: output interface)۔ یہ field نہ ہو تو
-جو interface ڈیوائس کی کم از کم 90% ٹریفک میں ہو، اسے سیمپل والا مانا جاتا ہے؛
-ایسا کوئی نہ ہو تو کوئی interface نشان زد نہیں ہوتا۔ **ترتیبات** ہر ڈیوائس کے
-**سیمپل انٹرفیس** دکھاتی ہیں، اور یہ کہ اس کے templates **flowDirection (61) کے
-ساتھ** ہیں یا نہیں۔ ڈیوائس کی پوری ٹریفک دیکھنے کے لیے ہر interface کو inbound
-سیمپل کریں ([اپنی ڈیوائسز سے flows بھیجیں](#4-send-flows-from-your-devices)
-دیکھیں)۔
+کوئی ڈیوائس غائب ہے؟ `sudo tcpdump -ni any udp port 6343 or udp port 2055
+or udp port 4739` چلائیں: وہاں کچھ نہ ہو تو مسئلہ routing، کسی firewall یا
+ڈیوائس کی configuration میں ہے؛ packets وہاں ہوں مگر **ترتیبات** میں کچھ نہ ہو
+تو local firewall یا `-listen`۔ کسی دوسری مشین سے
+`traffic66 simulate -to 192.0.2.50` simulated ڈیوائسز کے ساتھ راستہ جانچتا ہے۔
-
+
-موازنے کے لیے counters حاصل کرنے کے لیے:
+## 6. Interfaces اور counters
-- sFlow ڈیوائسز counter interval سیٹ ہونے پر انہیں خود بھیجتی ہیں
- (`sflow counter interval 30` اور اسی طرح کی کمانڈز)۔
-- NetFlow اور IPFIX ڈیوائسز کے لیے **ترتیبات → نام** میں ایک `snmp` لائن شامل کریں
- ([نام](#7-names-snmp-and-your-own-networks) دیکھیں)۔ پھر traffic66 ہر منٹ
- interface counters پڑھتا ہے۔
+Flow کے اعداد اندازے ہیں (samples × sampling rate)۔ **انٹرفیس جانچ** انہیں
+ڈیوائس کے interface counters سے ملاتی ہے (sFlow counters، یا نام میں `snmp`
+لائن کے ذریعے SNMP) اور بتاتی ہے کہ فرق کیوں ہے: interfaces sample نہیں ہو رہے،
+ایک ہی ٹریفک دو بار sample ہوئی، راستے میں loss، یا sampling rate نامعلوم۔ ہر
+interface کا ایک bits/s اور ایک packets/s chart ہے، ingress سبز اور egress
+نیلا، counters ڈیشڈ لکیروں میں۔
-اعداد ملانے کے لیے traffic66 پہلے سے یہ کرتا ہے: ڈیوائس نے اصل میں جو sampling
-rate لگایا وہی استعمال کرتا ہے، sampling rate معلوم ہونے تک NetFlow/IPFIX
-records روکے رکھتا ہے، راستے میں ضائع ہونے والے export packets کی تلافی کرتا ہے،
-لمبے flows کو ان منٹوں میں بانٹتا ہے جتنی دیر وہ چلے، اور NetFlow/IPFIX byte
-counts میں ہر packet پر 18 bytes کا Ethernet overhead جوڑتا ہے (interface
-counters میں یہ شامل ہوتا ہے، IP-layer flow counts میں نہیں؛ `-l2-overhead` سے
-بدلیں)۔
+ہر row پر **✎** ایک نام اور ایک مختصر ٹیگ (جیسے *uplink*) دیتا ہے اور **☆** اسے
+ڈیفالٹ interface (★) بناتا ہے، جس پر صفحات کھلتے ہیں۔
-باقی رہ جانے والے فرق کی عام وجوہات، جو سب **انٹرفیس جانچ** پر بتائی جاتی ہیں:
-کچھ interfaces sample نہیں ہو رہے، ایک ہی ٹریفک دو interfaces پر sample ہو رہی
-ہے، export packets traffic66 تک پہنچنے سے پہلے ضائع ہو جاتے ہیں، یا sampling
-rate ابھی معلوم نہیں۔
+جو ڈیوائس صرف کچھ interfaces sample کرتی ہے وہ ان flows کے دوسرے سرے بھی دکھاتی
+ہے۔ یہ **مخالف سرے کے انٹرفیس** آخر میں چھوٹے سرمئی حروف میں دکھائے جاتے ہیں: ان
+میں صرف وہ ٹریفک ہوتی ہے جو سیمپل والے interface سے گزری۔ سیمپل والا interface
+sFlow کے data source یا flowDirection field (IPFIX 61) سے معلوم ہوتا ہے؛ اس کے
+بغیر، وہ interface جو ڈیوائس کی 90% ٹریفک میں ہو۔
-
+
-## 7. نام، SNMP اور آپ کے اپنے نیٹ ورک
+traffic66 پہلے ہی وہ rate استعمال کرتا ہے جو ڈیوائس نے لاگو کیا، نامعلوم rates کا
+انتظار کرتا ہے، export loss کی تلافی کرتا ہے، لمبے flows کو ان کے منٹوں پر بانٹتا
+ہے اور NetFlow/IPFIX میں ہر packet پر 18 bytes کا Ethernet overhead جوڑتا ہے
+(`-l2-overhead`)۔
-کسی host یا ڈیوائس کو نام دینے کا سب سے تیز طریقہ: کسی بھی صفحے پر اس کے address
-پر کلک کریں اور **نام دیں…** چنیں۔ نام ٹائپ کر کے Enter دبائیں؛ یہ فوراً محفوظ ہو
-جاتا ہے اور ہر جگہ خالی address کی بجائے دکھایا جاتا ہے۔
+
-نیٹ ورکس، interfaces اور SNMP کے لیے **ترتیبات → نام** استعمال کریں: قسم چنیں
-(host، network، device، interface، SNMP)، address اور نام بھریں، اور **شامل
-کریں** پر کلک کریں۔ نیچے کی table ہر نام کو **ترمیم** اور **حذف** کے ساتھ دکھاتی
-ہے؛ وہی address دوبارہ شامل کرنے سے پرانی entry بدل جاتی ہے۔ محفوظ کرنے سے پہلے
-addresses اور نیٹ ورکس جانچے جاتے ہیں۔
+## 7. نام، ممالک اور threat lists
-نام data directory میں `inventory.txt` کے طور پر محفوظ ہوتے ہیں، ہر لائن میں ایک
-entry۔ **متن کے طور پر ترمیم (ایڈوانسڈ)** وہ فائل دکھاتا ہے، اور آپ اسے براہ راست
-بھی edit کر سکتے ہیں (`inventory.txt.example` دیکھیں)۔ ہر لائن اختیاری ہے۔
+کسی بھی address پر کلک کر کے **نام دیں…** چنیں، یا **ترتیبات → نام** استعمال
+کریں۔ نام data directory میں `inventory.txt` میں رکھے جاتے ہیں:
```
-# your networks: traffic between them is "internal"
-net 10.10.0.0/16 Office LAN
-net 203.0.113.0/24 Public servers country=JP
-
-# device names; "unsampled" if it exports every packet (1:1),
-# sampling=N if it samples 1:N but does not say so in its export
-device 192.0.2.1 Core router
-device 192.0.2.9 Branch firewall unsampled
-device 192.0.2.20 Edge router sampling=1000
-
-# interface names, by device address and ifIndex; speed in bits per second,
-# tag= a short tag, default = the interface the pages open on (one only)
-iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
-
-# host names shown instead of addresses
-host 10.10.3.27 Finance PC
-
-# read interface counters over SNMPv2c (IF-MIB 64-bit counters)
-snmp 192.0.2.1 public
-snmp 192.0.2.9 s3cret 10.99.0.9:161
+net 10.10.0.0/16 Office LAN # your networks
+net 203.0.113.0/24 Public servers country=JP # country: lines on the world map
+device 192.0.2.1 Core router
+device 192.0.2.9 Branch firewall unsampled # exports every packet
+device 192.0.2.20 Edge router sampling=1000 # rate it does not declare
+iface 192.0.2.1 3 ISP uplink speed=1000000000 tag=uplink default
+host 10.10.3.27 Finance PC
+snmp 192.0.2.1 public # read counters over SNMPv2c
+snmp 192.0.2.9 s3cret 10.99.0.9:161 # other management address
```
-- `net`: private ranges (10/8، 172.16/12، 192.168/16، 100.64/10) ہمیشہ آپ کی
- مانی جاتی ہیں۔ اپنی public ranges شامل کریں تاکہ ان سے آنے جانے والی ٹریفک بھی
- آپ کی گنی جائے؛ نام **ٹاپ 66** میں segment کے لحاظ سے گروپ بندی پر اور network
- کے لحاظ سے flow کے راستوں میں نظر آتا ہے۔ `country=JP` (دو حرفی ملک کوڈ) بتاتا
- ہے کہ نیٹ ورک کہاں ہے؛ پھر دنیا کا نقشہ وہاں سے ان ممالک تک لکیریں کھینچتا ہے
- جن سے وہ بات کرتا ہے۔
-- `snmp [[:port]]`: device وہ address
- ہے جہاں سے flows آتے ہیں۔ جب ڈیوائس SNMP کا جواب کسی دوسرے address پر دیتی ہو
- تو management address شامل کریں۔ SNMP سے پڑھی گئی interface descriptions بطور
- نام استعمال ہوتی ہیں، جب تک آپ `iface` سے interface کا نام نہ دیں۔ ڈیوائس کی
- SNMP access list میں traffic66 مشین کو اجازت دیں۔
-- تبدیلیاں **محفوظ کریں** پر کلک کرتے ہی لاگو ہو جاتی ہیں؛ restart کی ضرورت نہیں۔
-
-
-
-## 8. ممالک، نیٹ ورک اور threat lists
-
-ممالک اور نیٹ ورکس (AS) شروع سے کام کرتے ہیں: traffic66 میں DB-IP کے مفت **IP to Country Lite** اور **IP to ASN Lite** ڈیٹابیس اندرونی طور پر شامل ہیں (لائسنس [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)؛ "IP Geolocation by DB-IP"، [db-ip.com](https://db-ip.com))۔ ممالک اور نیٹ ورکس دکھانے والے صفحات ڈیٹا کا ماخذ بتاتے ہیں۔
-
-اندرونی کاپی آپ کے چلائے جا رہے ریلیز کے وقت کی ہے۔ DB-IP ہر ماہ نیا ورژن جاری کرتا ہے؛ **ترتیبات ← ممالک اور نیٹ ورکس کا ڈیٹابیس ← DB-IP Lite ابھی اپ ڈیٹ کریں** db-ip.com سے تازہ ترین ڈاؤن لوڈ کرتا ہے (traffic66 چلانے والے سرور کو انٹرنیٹ چاہیے؛ ناکامی پر ویب UI بتاتا ہے)۔
-
-آپ کوئی دوسرا مفت ڈیٹابیس بھی استعمال کر سکتے ہیں۔ اسے ڈاؤن لوڈ کریں، پھر اسی صفحے پر **ڈیٹابیس فائل اپ لوڈ کریں…** سے اپ لوڈ کریں۔ فائل جانچی جاتی ہے، ڈیٹا ڈائریکٹری میں محفوظ ہوتی ہے اور نئے ٹریفک کے لیے فوراً استعمال ہوتی ہے؛ ری اسٹارٹ کی ضرورت نہیں۔ پہلے سے محفوظ ٹریفک وہی ملک رکھتا ہے جس کے ساتھ محفوظ ہوا تھا۔
-
-| ڈیٹابیس | کیا دیتا ہے | لائسنس | کہاں سے ملے گا |
-|---|---|---|---|
-| DB-IP Lite (اندرونی) | ممالک؛ نیٹ ورکس | CC BY 4.0، اکاؤنٹ کی ضرورت نہیں | [db-ip.com/db/lite.php](https://db-ip.com/db/lite.php) |
-| MaxMind GeoLite2 Country اور ASN، `.mmdb` | ممالک؛ نیٹ ورکس | GeoLite2 EULA، مفت اکاؤنٹ | [maxmind.com](https://www.maxmind.com/en/geolite2/signup) |
-| IPinfo Lite، `ipinfo_lite.mmdb` | ممالک اور نیٹ ورکس ایک فائل میں | CC BY-SA 4.0، مفت اکاؤنٹ | [ipinfo.io/lite](https://ipinfo.io/lite) |
-| IPtoASN، `ip2asn-combined.tsv.gz` | نیٹ ورکس اور ان کا ملک | PDDL 1.0، اکاؤنٹ کی ضرورت نہیں | [iptoasn.com](https://iptoasn.com) |
+private ranges ہمیشہ آپ کی ہوتی ہیں۔ تبدیلیاں **محفوظ کریں** پر لاگو ہوتی ہیں،
+restart کی ضرورت نہیں۔
-آپ کی اپنی فائلیں پہلے استعمال ہوتی ہیں؛ جو ان میں نہیں اس کا جواب اندرونی DB-IP Lite دیتا ہے۔ فائل کے ساتھ **ہٹائیں** باقی پر واپس لے جاتا ہے۔ صفحہ دکھاتا ہے کہ کیا استعمال ہو رہا ہے اور ہر ڈیٹابیس کی تاریخ۔
-
-ویب UI کے بغیر، فائل کو ڈیٹا ڈائریکٹری میں `country.mmdb`، `asn.mmdb`، `both.mmdb` (ممالک اور نیٹ ورکس والی ایک فائل، جیسے IPinfo Lite) یا `asn.tsv.gz` کے نام سے کاپی کریں اور traffic66 ری اسٹارٹ کریں۔
-
-**مقامات اور نیٹ ورک** دوسرے ممالک کے ساتھ ٹریفک کو دنیا کے نقشے پر دکھاتا ہے: ملک جتنا گہرا، ٹریفک اتنی زیادہ۔ کسی ملک پر پوائنٹر لے جائیں تو اس کی ٹریفک نظر آتی ہے؛ کلک کر کے فلٹر کریں یا اس کے flow records کھولیں۔ جب آپ کے نیٹ ورکس کا ملک دیا گیا ہو (`net` لائن میں `country=`، [نام](#7-names-snmp-and-your-own-networks) دیکھیں)، تو اس ملک سے ان ممالک تک لکیریں جاتی ہیں جن سے ٹریفک کا تبادلہ ہوتا ہے، جتنی زیادہ ٹریفک اتنی موٹی لکیر۔ ممالک کی سرحدیں [Natural Earth](https://www.naturalearthdata.com) (پبلک ڈومین) سے ہیں۔
+ممالک اور نیٹ ورکس (AS) شروع سے DB-IP کے مفت Lite ڈیٹابیس کے ساتھ کام کرتے ہیں
+([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)، "IP
+Geolocation by DB-IP"، [db-ip.com](https://db-ip.com))؛ **ترتیبات** انہیں اپ
+ڈیٹ کرتی ہیں، یا ان کی جگہ MaxMind GeoLite2، IPinfo Lite یا IPtoASN فائلیں لیتی
+ہیں۔ نقشے کی سرحدیں: [Natural Earth](https://www.naturalearthdata.com)۔

-Threat lists سادہ text فائلیں ہیں، ہر لائن میں ایک address یا نیٹ ورک (`#` یا
-`;` کے بعد کا متن نظرانداز ہوتا ہے)، جو
-`/threats/.txt` کے طور پر محفوظ کی جاتی ہیں، مثلاً:
-
-```
-mkdir -p /threats
-curl -L https://www.spamhaus.org/drop/drop.txt -o /threats/spamhaus-drop.txt
-```
-
-lists شامل کرنے یا بدلنے کے بعد traffic66 restart کریں۔ matches
-**خطرے کی معلومات** پر list کے نام کے حساب سے نظر آتے ہیں۔
+Threat lists متن کی فائلیں ہیں، ہر لائن میں ایک address یا نیٹ ورک،
+`/threats/