Puncte:2

Există o modalitate de a obține valorile CPS și Thruoghput în Linux?

drapel aq

Vreau să analizez sarcina de lucru în rețea a serverului meu Debian 9 pentru a detecta unele posibile supraîncărcări ale rețelei.

Principalele valori pe care trebuie să le analizez sunt:

  • CPS (conexiuni pe secundă)
  • Debit

Există o modalitate de a obține aceste valori din Linux?
M-am gândit că metrica CPS ar putea fi obținută cumva prin conttrack NOU evenimente de conexiuni, dar nu sunt sigur că acesta ar fi cel mai potrivit mod..

Scuze dacă este evident.

P.S. acest server se ocupă nu numai de traficul local, ci transmite și o mulțime de trafic.

djdomi avatar
drapel za
există o mulțime de software care pot fi folosite pentru a monitoriza rețeaua. care este scopul pe care vrei sa-l rezolvi?
narotello avatar
drapel aq
@djdomi Am menționat în întrebarea mea că vreau să detectez DoS prin semne indirecte. Și vreau să se facă din sistemul de operare al serverului meu.
djdomi avatar
drapel za
în cazul solicitării către serverul web orice ip care face multe solicitări poate fi un atacator
narotello avatar
drapel aq
@djdomi Bine, dar acest lucru nu este direct legat de metoda de obținere a valorilor CPS și Througput. Aceasta este doar o reflecție asupra subiectului atacurilor DoS.
djdomi avatar
drapel za
Discuția de securitate nu se potrivește pe serverfault.com. există un site suplimentar pentru asta. puteți crea cu Wireshark un fișier pentru a verifica asta, dar atâta timp cât vă păstrați întrebarea în general, nu va primi răspunsuri bune
narotello avatar
drapel aq
@djdomi Întrebarea nu este despre securitate, ci despre valorile de performanță. *„puteți crea cu Wireshark un fișier pentru a verifica asta”* - pentru a verifica ce? Ce vrei sa spui?
Puncte:2
drapel cn

Cred că ar fi suficient să descriem originile acestor metrici bazate pe API-ul Linux nativ.


Debit

Apropo, cel debitului metrica în general este ceva, adică extern în raport cu obiectul de testare (OS Linux despre care vorbiți). i.e. aproximativ vorbind, avem două gazde (de exemplu, client și server) și obiect de testare între ele. Suflam traficul de rețea dintre client și server și înregistrăm debitul (limită) al obiectului de testare (de exemplu, cu iperf).
Dar din cadrul sistemului de operare Linux, un mod simplu prin care putem măsura debitul este doar pe interfață.
Deci poți doar să privești /proc/net/dev și calculați delta de octeți pe secundă:

sh-tst# cat /proc/net/dev 
Inter-| Primește | Transmite
 face |pachete de octeți greșeli picătură cadru fifo comprimat multicast|pachete de octeți erori picătură colare fifo purtător comprimat
    lo: 87016202 715723 0 0 0 0 0 0 87016202 715723 0 0 0 0 0 0
  eth3: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  eth2: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  eth1: 246415305 2899662 0 132906 0 0 0 230 5466117 19016 0 0 0 0 0 0
  eth0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

CPS

Același lucru este și pentru valoarea CPS. Practic este o măsurătoare externă. Dar din Linux-ul dvs. puteți încerca să îl calculați pe baza /proc/net/stat/ip_conntrack:

sh-tst# cat /proc/net/stat/ip_conntrack 
intrări căutate găsite noi nevalide ignoră șterge șterge_list inserează insert_failed drop early_drop icmp_error expect_new expect_create expect_delete search_restart
000
000000F8 00002389 0005F1A0 0003B6F3 00000085 0004286F 0003B59E 00003CEA 00003E3F 00000000 00000000 00000000 000000 00000000 00000000000000000000000000
$
$

Din lnstat(8) om:

/proc/net/stat/ip_conntrack, /proc/net/stat/nf_conntrack Contoare legate de conttrack. ip_conntrack este pentru înapoi compatibilitate numai cu spațiul utilizator mai vechi și arată același lucru date ca nf_conntrack.

...

nou Numărul de intrări conttrack adăugate care nu au fost asteptat inainte.

În urmărirea conexiunii Linux:

NOU -- ceea ce înseamnă că pachetul a început o nouă conexiune sau altfel asociat cu o conexiune care nu a văzut pachete în ambele direcții și

Deci se pare că vrei să calculezi delta nou pe secunda.

Citeste mai mult:

Puncte:0
drapel in

Comanda sar care vine cu sysstat va face ambele.

Pentru a monitoriza conexiunile pe secundă sar -n TCP 1

active/s sunt conexiunile TCP de ieșire pasiv/s sunt conexiunile TCP de intrare

pentru UDP sar -n UDP 1

Pentru a analiza debitul rețelei sar -n DEV (adăugați opțional un 1 pentru a monitoriza curentul pe secundă)

narotello avatar
drapel aq
*"activ/s sunt conexiunile TCP de ieșire pasive/e sunt conexiunile TCP de intrare"* - dar cum pot obține conexiuni de tranzit (redirecționate)?
narotello avatar
drapel aq
Atât `sar -n enp5s0` cât și `sar -n enp5s0 1` nu funcționează. Pare opțiunea greșită: `Utilizare: sar [ opțiuni ] [ [ ] ] Opțiunile sunt:`...
narotello avatar
drapel aq
De asemenea, pentru UDP pare să arate datagrame pe secundă. Dar nu orice datagrama reprezintă o nouă conexiune. Conexiunea UDP are timeout, astfel încât toate datagramele sub acest timeout aparțin aceleiași conexiuni. Practic, metoda dvs. arată **pachete pe secundă** pe stratul de transport și numai **pachete** locale** (intrare/ieșire).
dubs avatar
drapel in
DEV este literal, adică sar -n DEV nu sar -n . sar -n IP are fwddgm/s dacă este mai potrivit.
narotello avatar
drapel aq
*"DEV-ul este literal, adică sar -n DEV"* - Ok, mulțumesc. `fwddgm/s` - din păcate, nu este metrica CPS, ci mai probabil PPS - pachete pe secundă.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.