EngelsFransSpaans

Ad


OnWorks-favicon

flowgrind - Online in de Cloud

Voer flowgrind uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht flowgrind die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


flowgrind - geavanceerde TCP-verkeersgenerator voor Linux, FreeBSD en Mac OS X

KORTE INHOUD


stroomgrind [OPTIE] ...

PRODUCTBESCHRIJVING


stroomgrind is een geavanceerde TCP-verkeersgenerator voor het testen en benchmarken van Linux,
FreeBSD- en Mac OS X TCP/IP-stacks. In tegenstelling tot andere prestatiemeetinstrumenten is het
heeft een gedistribueerde architectuur, waar doorvoer en andere statistieken worden gemeten
tussen willekeurige flowgrind-serverprocessen, flowgrind-daemon stroomgrindd(1).

Flowgrind meet naast goodput (throughput), de interaankomsttijd van de applicatielaag
(IAT) en retourtijd (RTT), blockcount en netwerktransacties/s. In tegenstelling tot de meeste cross-
platformtesttools, flowgrind verzamelt en rapporteert de TCP-statistieken die worden geretourneerd door de
TCP_INFO-socketoptie, die meestal intern is voor de TCP/IP-stack. op Linux en
FreeBSD omvat onder andere de schatting van de kernel van de end-to-end RTT, de grootte
van het TCP-congestievenster (CWND) en de drempel voor langzame start (SSTHRESH).

Flowgrind heeft een gedistribueerde architectuur. Het is opgesplitst in twee componenten: de flowgrind
demon, stroomgrindd(1) en de stroomgrind controleur. Met behulp van de controller, stromen tussen
elke twee systemen waarop de flowgrind-daemon draait, kunnen worden ingesteld (tests van derden). op regulier
intervallen tijdens de test verzamelt en toont de controller de meetresultaten van:
de demonen. Het kan meerdere stromen tegelijk uitvoeren met dezelfde of verschillende instellingen en
iedereen individueel plannen. Test- en besturingsaansluiting kan optioneel worden omgeleid naar:
verschillende interfaces.

Het genereren van verkeer zelf is ofwel bulkoverdracht, snelheidsbeperkt of geavanceerd
verzoek/antwoord testen. Flowgrind gebruikt libpcap om automatisch verkeer te dumpen voor
kwalitatieve analyse.

OPTIES


Het zijn twee belangrijke groepen opties: controlleropties en stroomopties. Zoals de
naam doet vermoeden, controlleropties zijn wereldwijd van toepassing en hebben mogelijk invloed op alle stromen, terwijl
stroomspecifieke opties zijn alleen van toepassing op de subset van stromen die zijn geselecteerd met de -F optie.

Verplichte argumenten bij lange opties is verplicht voor korte opties.

Algemeen opties
-h, --help[=WAT]
help weergeven en afsluiten. Optioneel WAT kan ofwel 'socket' zijn voor hulp bij socket
opties of hulp bij het genereren van verkeer

-v, --versie
versie-informatie afdrukken en afsluiten

Controller opties
-c, --toon-dubbelpunt=TYPE[,TYPE] ...
toon tussentijdse interval rapportkolom TYPE in uitvoer. Toegestane waarden voor
TYPE zijn: 'interval', 'through', 'transac', 'iat', 'kernel' (alle standaard weergegeven),
en 'blokken', 'rtt', 'vertraging' (optioneel)

-d, --debuggen
uitgebreidheid van debuggen vergroten. Optie meerdere keren toevoegen om de breedsprakigheid te vergroten

-e, --dump-voorvoegsel=PRE
prepend prefix PRE om bestandsnaam te dumpen (standaard: "flowgrind-")

-i, --rapport-interval=#.#
rapportage-interval, in seconden (standaard: 0.05 s)

--log-bestand[=FILE]
schrijf uitvoer naar logbestand FILE (standaard: flowgrind-'timestamp'.log)

-m rapporteer doorvoer in 2**20 bytes/s (standaard: 10**6 bit/s)

-n, --stromen=#
aantal teststromen (standaard: 1)

-o bestaande logbestanden overschrijven (standaard: niet doen)

-p print geen symbolische waarden (zoals INT_MAX) in plaats van getallen

-q, --stil
wees stil, log niet in op het scherm (standaard: uit)

-s, --tcp-stack=TYPE
bepaal niet automatisch de eenheid van bron-TCP-stacks. Forceer eenheid naar TYPE, waarbij
TYPE is 'segment' of 'byte'

-w schrijf uitvoer naar logbestand (zelfde als --log-bestand)

Stroom opties
Alle stromen hebben twee eindpunten, een bron en een bestemming. Het onderscheid tussen bron
en bestemmingseindpunten hebben alleen invloed op het tot stand brengen van verbindingen. Bij het starten van een stroom wordt de
bestemmingseindpunt luistert op een socket en het broneindpunt maakt er verbinding mee. Voor de
daadwerkelijke test maakt dit geen verschil, beide eindpunten hebben exact dezelfde mogelijkheden.
Gegevens kunnen in beide richtingen worden verzonden en veel instellingen kunnen afzonderlijk worden geconfigureerd voor
elk eindpunt.

Sommige van deze opties nemen het stroomeindpunt als argument, aangegeven met 'x' in de optie
syntaxis. 'x' moet worden vervangen door 's' voor het broneindpunt, 'd' voor de
bestemmingseindpunt of 'b' voor beide eindpunten. Om voor elk verschillende waarden op te geven
eindpunten, scheid ze door komma's. Bijvoorbeeld -W s=8192,d=4096 stelt de geadverteerde in
venster naar 8192 bij de bron en 4096 bij de bestemming.

-A x minimale responsgrootte gebruiken die nodig is voor RTT-berekening
(hetzelfde als -G s=p,C,40)

-B x=# stel de gevraagde verzendbuffer in, in bytes

-C x stop de stroom als het lokale congestie ervaart

-D x=DSCP
DSCP-waarde voor type-of-service (TOS) IP-headerbyte

-E bytes in payload opsommen in plaats van nullen te verzenden

-F #[,#] ...
stroomopties die op deze optie volgen, zijn alleen van toepassing op de opgegeven stroom-ID's. Nuttig in
combinatie met -n om specifieke opties voor bepaalde stromen in te stellen. Nummering begint
met 0, dus -F 1 verwijst naar de tweede stroom. Met -1 kan naar alle stroom worden verwezen

-G x=(q|p|g):(C|U|E|N|L|P|W):#1:[#2]
activeer het genereren van stochastisch verkeer en stel parameters in volgens de gebruikte
verdeling. Zie voor meer informatie de sectie 'Optie voor het genereren van verkeer'

-H x=HOST[/CONTROL[:PORT]]
testen van/naar HOST. Optioneel argument is het adres en de poort voor de CONTROL
verbinding met dezelfde host. Een eindpunt dat niet is opgegeven, wordt verondersteld te zijn
localhost

-J # gebruik willekeurig seed # (standaard: lees / Dev / urandom)

-I eenrichtingsvertragingsberekening inschakelen (geen kloksynchronisatie)

-L bel connect() op test socket onmiddellijk voordat u begint met het verzenden van gegevens (late
aansluiten). Indien niet gespecificeerd, wordt de testverbinding tot stand gebracht in de voorbereiding
fase voordat de test begint

-M x dump verkeer met libpcap. stroomgrindd(1) moet als root worden uitgevoerd

-N shutdown () elke socketrichting na teststroom

-O x=OPT
zet socket optie OPT op test socket. Voor meer informatie zie sectie
'Socket-opties'

-P x herhaal select() niet om door te gaan met verzenden als de blokgrootte dat niet deed
voldoende om de verzendwachtrij te vullen (opdringerig)

-Q alleen samenvatten, er worden geen tussentijdse intervalrapporten berekend (stil)

-R x=#.#(z|k|M|G)(b|B)
verzenden met gespecificeerde snelheid per seconde, waarbij: z = 2**0, k = 2**10, M = 2**20, G =
2**30, en b = bits/s (standaard), B = bytes/s

-S x=# stel blokgrootte (bericht) in, in bytes (hetzelfde als -G s=q,C,#)

-T x=#.#
ingestelde stroomduur, in seconden (standaard: s=10,d=0)

-U # set applicatiebuffergrootte, in bytes (standaard: 8192) kapt waarden af ​​indien gebruikt met
stochastische verkeersgeneratie

-W x=# stel de gevraagde ontvangerbuffer in (geadverteerd venster), in bytes

-Y x=#.#
stel de initiële vertraging in voordat de host begint te verzenden, in seconden

VERKEER GENERATION OPTIE


Via optie -G flowgrind ondersteunt het genereren van stochastisch verkeer, wat het mogelijk maakt om
naast normale bulk ook geavanceerde snelheidsbeperkte en request-response gegevensoverdrachten.

De optie voor het genereren van stochastisch verkeer -G neemt het stroomeindpunt als argument, aangeduid met
door 'x' in de optiesyntaxis. 'x' moet worden vervangen door 's' voor de bron
eindpunt, 'd' voor het eindpunt van de bestemming of 'b' voor beide eindpunten. Let echter op:
dat bidirectionele verkeersgeneratie tot onverwachte resultaten kan leiden. Om anders te specificeren
waarden voor elk eindpunt, scheid ze door komma's.

-G x=(q|p|g):(C|U|E|N|L|P|W):#1:[#2]

Stroomparameter:

q verzoekgrootte (in bytes)

p responsgrootte (in bytes)

g interpacket gap aanvragen (in seconden)

Uitkeringen:

C constante (#1: waarde, #2: niet gebruikt)

U uniform (#1: min, #2: maximaal)

E exponentieel (#1: lamba - levenslang, #2: niet gebruikt)

N normaal (#1: mu - gemiddelde waarde, #2: sigma_square - variantie)

L lognormaal (#1: zeta - gemiddeld, #2: sigma - std dev)

P pareto (#1: k-vorm, #2: x_min - schaal)

W weibull (#1: lambda - schaal, #2: k - vorm)

Geavanceerde distributies zoals weibull zijn alleen beschikbaar als flowgrind is gecompileerd
met libgsl-ondersteuning.

-U # specificeer een limiet voor de berekende waarden voor verzoek- en responsgroottes, nodig
omdat de geavanceerde gedistribueerde waarden onbegrensd zijn, maar we moeten de weten
buffergrootte (niet nodig voor constante waarden of uniforme verdeling). Waarden
buiten de grenzen worden herberekend totdat een geldig resultaat optreedt, maar maximaal 10
keer (dan wordt de grenswaarde gebruikt)

SOCKET OPTIE


Met Flowgrind kunnen de volgende standaard en niet-standaard socket-opties via optie worden ingesteld:
-O.

Alle socketopties nemen het stroomeindpunt als argument, aangegeven met 'x' in de optie
syntaxis. 'x' moet worden vervangen door 's' voor het broneindpunt, 'd' voor de
bestemmingseindpunt of 'b' voor beide eindpunten. Om voor elk verschillende waarden op te geven
eindpunten, scheid ze door komma's. Bovendien is het mogelijk om hetzelfde herhaaldelijk door te geven
eindpunt om meerdere socket-opties te specificeren.

Standaard stopcontact opties
-O x=TCP_CONGESTION=ALG
stel congestiecontrole-algoritme ALG in op test-socket

-O x=TCP_CORK
zet TCP_CORK op test-socket

-O x=TCP_NODELAY
nagle-algoritme uitschakelen op test-socket

-O x=SO_DEBUG
zet SO_DEBUG op test socket

-O x=IP_MTU_DISCOVER
stel IP_MTU_DISCOVER in op test-socket als dit niet al standaard is ingeschakeld door het systeem

-O x=ROUTE_RECORD
zet ROUTE_RECORD op test socket

Niet-standaard stopcontact opties
-O x=TCP_MTCP
zet TCP_MTCP (15) op test-socket

-O x=TCP_ELCN
zet TCP_ELCN (20) op test-socket

-O x=TCP_LCD
zet TCP_LCD (21) op test-socket

Voorbeelden


stroomgrind
testen van localhost IPv4 TCP-prestaties met standaardinstellingen, hetzelfde als flowgrind -H
b=127.0.0.1 -Ts=10,d=0. De flowgrind-daemon moet worden uitgevoerd op localhost

stroomgrind -H b=::1/127.0.0.1
hetzelfde als hierboven, maar het testen van localhost IPv6 TCP-prestaties met standaardinstellingen

stroomgrind -H s=host1,d=host2
bulk TCP-overdracht tussen host1 en host2. Host1 fungeert als bron, host2 als
eindpunt van de bestemming. Op beide eindpunten moet de flowgrind-daemon worden uitgevoerd. De
standaard stroomopties worden gebruikt, met een stroomduur van 10 seconden en een datastroom
van host1 naar host2

stroomgrind -H s=host1,d=host2 -T s=0,d=10
hetzelfde als het bovenstaande, maar in plaats daarvan met een stroom die gegevens gedurende 10 seconden verzendt van host2 naar
host1

stroomgrind -n 2 -F 0 -H s=192.168.0.1,d=192.168.0.69 -F 1 -H s=10.0.0.1,d=10.0.0.2
stel twee parallelle stromen in, eerste stroom tussen 192.168.0.1 en 192.168.0.69, tweede
stroom tussen 10.0.0.1 tot 10.0.0.2

stroomgrind -p -H s=10.0.0.100/192.168.1.100,d=10.0.0.101/192.168.1.101 -A s
stel één stroom in tussen 10.0.0.100 en 10.0.0.101 en gebruik 192.168.1.x IP-adressen
voor gecontroleerd verkeer. Minimale respons activeren voor RTT-berekening

stroomgrind -i 0.001 -T s = 1 | egr ^S | knuppel -volharden -e 'verhaal "-" gebruik 3:5 Met lijnen
titel "Doorvoer" '
stel één flow over loopback-apparaat in en plot de gegevens van de afzender met de hulp
van gnuplot

stroomgrind -G s=q,C,400 -G s=p,N,2000,50 -G s=g,U,0.005,0.01 -U 32000
-G s=q,C,400: gebruik een constante verzoekgrootte van 400 bytes
-G s=p,N,2000,50: gebruik normaal verdeelde responsgrootte met gemiddelde 2000 bytes en
variantie 50
-G s=g,U,0.005,0.01: gebruik uniform verdeelde interpacket gap met min. 0.005s en
en max 10ms
-U 32000: blokgroottes afkappen op 32 kbytes (nodig voor normale distributie)

VERKEER SCENARIO'S


De volgende voorbeelden laten zien hoe het verkeer van Flowgrind kan worden gegenereerd:
gebruikt. Deze zijn verwerkt in verschillende tests voor flowgrind en zijn bewezen
zinvol. Aangezien het internetverkeer divers is, is er geen garantie dat deze
passend in elke situatie.

Aanvraag antwoord Style (HTTP)
Dit scenario is gebaseerd op het werk in
http://www.3gpp2.org/Public_html/specs/C.R1002-0_v1.0_041221.pdf.

stroomgrind -M s -G s=q,C,350 -G s=p,L,9055,115.17 -U 100000
-M s: verkeer dumpen aan de kant van de afzender
-G s=q,C,350: gebruik constante verzoeken met een grootte van 350 bytes
-G s=p,L,9055,115: gebruik lognormale verdeling met gemiddelde 9055 en variantie 115 voor
responsgrootte
-U 100000: antwoord afkappen op 100 kbytes

Voor dit scenario raden we aan om ons te concentreren op RTT (lagere waarden zijn beter) en Netwerk
Transacties/s als metrisch (hogere waarden zijn beter).

Interactief Sessie (Telnet)
Dit scenario emuleert een telnet-sessie.

stroomgrind -G s=q,U,40,10000 -G s=q,U,40,10000 -O b=TCP_NODELAY
-G s=q,U,40,10000 -G s=q,U,40,10000: gebruik uniform gedistribueerd verzoek en antwoord
grootte tussen 40B en 10kB
-O b=TCP_NODELAY: stel socket-opties TCP_NODELAY in zoals gebruikt door telnet-applicaties

Voor dit scenario zijn RTT (lager is beter) en netwerktransacties/s nuttige meetwaarden
(hoger is beter).

tarief Beperkt (streamen) Gemiddelde)
Dit scenario emuleert een overdracht van een videostream met een bitsnelheid van 800 kbit/s.

stroomgrind -G s=q,C,800 -G s=g,N,0.008,0.001
Gebruik normaal verdeelde interpacket gap met gemiddelde 0.008 en een kleine variantie
(0.001). In combinatie met verzoekgrootte 800 bytes een gemiddelde bitsnelheid van ongeveer 800
kbit/s wordt bereikt. De variantie wordt toegevoegd om een ​​variabele bitrate te emuleren zoals het is
gebruikt in de videocodecs van vandaag.

Voor dit scenario zijn de IAT (lager is beter) en minimale doorvoer (hoger is beter)
interessante statistieken.

OUTPUT COLUMNS


Stroom/eindpunt identifiers
# stroomeindpunt, ofwel 'S' voor bron of 'D' voor bestemming

ID numerieke stroomidentificatie:

beginnen en einde
grenzen van het meetinterval in seconden. De getoonde tijd is de verstreken tijd
tijd sinds ontvangst van het RPC-bericht om de test te starten vanaf het daemons-punt van
view

Aanvraag lagen metriek
door
het doorgeven van goodput van het stroomeindpunt tijdens dit meetinterval,
gemeten in Mbit/s (standaard) of MB/s (-m)

transactie
aantal succesvol ontvangen responsblokken per seconde (we noemen het netwerk
transacties/en)

verzoek/resp
aantal verzoek- en antwoordblok verzonden tijdens dit meetinterval (kolom
standaard uitgeschakeld)

IAT inter-aankomsttijd blokkeren (IAT). Samen met de minimum en maximum de
rekenkundig gemiddelde voor dat specifieke meetinterval wordt weergegeven. Als er geen blok is
ontvangen tijdens meldinterval, wordt 'inf' weergegeven.

DLY en RTT
1-way en 2-way block delay respectievelijk de block latency en de block round-trip
tijd (RTT). Voor beide vertragingen de minimum en maximum gevonden waarden daarin
meetinterval worden samen met het rekenkundig gemiddelde weergegeven. Indien geen blok,
respectievelijk blokbevestiging is binnengekomen tijdens dat rapportinterval, 'inf' is
weergegeven. Zowel de 1-weg als 2-weg blokvertraging zijn standaard uitgeschakeld (zie
optie -I en -A).

pit metriek (TCP_INFO)
Alle volgende TCP-specifieke metrische gegevens worden verkregen uit de kernel via de TCP_INFO
stopcontact optie bij de einde van elk rapportinterval. De bemonsteringsfrequentie kan worden gewijzigd via
optie -i.

cwnd (tcpi_cwnd)
grootte van TCP-congestievenster (CWND) in aantal segmenten (Linux) of bytes
(FreeBSD)

sst (tcpi_snd_sshtresh)
grootte van de drempel voor langzaam opstarten in aantal segmenten (Linux) of bytes (FreeBSD)

uack (tcpi_unacked)
aantal momenteel niet-erkende segmenten, dwz aantal segmenten in vlucht
(FlightSize) (alleen Linux)

zak (tcpi_sacked)
aantal selectief bevestigde segmenten (alleen Linux)

verloren (tcpi_lost)
aantal verloren veronderstelde segmenten (alleen Linux)

terug (tcpi_retrans)
aantal niet-bevestigde opnieuw verzonden segmenten (alleen Linux)

trakteren (tcpi_retransmits)
aantal hertransmissies getriggerd door een time-out voor hertransmissie (RTO) (alleen Linux)

Fack (tcpi_fakets)
aantal segmenten tussen SND.UNA en de hoogste selectief bevestigd
volgnummer (SND.FACK) (alleen Linux)

reor (tcpi_reordering)
statistiek voor het opnieuw ordenen van segmenten. De Linux-kernel kan herordenen detecteren en verwerken
zonder noemenswaardig prestatieverlies als de afstand die een segment verplaatst, dat doet
de herschikkingsstatistiek niet overschrijden (alleen Linux)

RTT (tcpi_rtt) en rttvar (tcpi_rttvar)
TCP-retourtijd en de variantie gegeven in ms

RTO (tcpi_rto)
de time-out voor herverzending gegeven in ms

bkof (tcpi_backoff)
aantal RTO-backoffs (alleen Linux)

ca staat (tcpi_ca_state)
interne status van de TCP-congestiecontrolestatusmachine zoals geïmplementeerd in de
Linux-kernel. Kan een van zijn open, wanorde, rij, na een training or uit (alleen Linux)

Openen is de normale toestand. Het geeft aan dat er geen dubbele bevestiging (ACK) is
ontvangen en geen enkel segment wordt als verloren beschouwd

Wanorde
wordt ingevoerd bij ontvangst van de eerste opeenvolgende duplicaat-ACK of
selectieve erkenning (SACK)

CWR wordt ingevoerd wanneer een melding van Expliciete Congestiemelding (ECN)
is ontvangen

Herstel
wordt ingevoerd wanneer drie dubbele ACK's of een equivalent aantal SACK's zijn
ontvangen. In deze staat congestiecontrole en verliesherstelprocedures zoals:
Fast Retransmit en Fast Recovery (RFC 5861) worden uitgevoerd

Verlies wordt ingevoerd als de RTO verloopt. Opnieuw congestiecontrole en verliesherstel
procedures worden uitgevoerd

SMS-berichten en pmtu
afzender maximale segmentgrootte en pad maximale transmissie-eenheid in bytes

Intern stroomgrind staat (enkel en alleen ingeschakeld in debug bouwt)
toestand toestand van de stroom binnen flowgrind voor diagnostische doeleinden. Het is een tupel van twee
waarden, de eerste voor verzenden en de tweede voor ontvangen. Idealiter de staten van
zowel de bron- als de bestemmingseindpunten van een stroom moeten symmetrisch zijn, maar aangezien
ze zijn niet gesynchroniseerd, ze kunnen niet tegelijkertijd veranderen. De mogelijke waarden
zijn:

c Richting voltooid verzenden/ontvangen

d Wachten op initiële vertraging

f Foutstatus

l Actieve status, nog niets verzonden of ontvangen

n Normale activiteit, sommige gegevens zijn verzonden of ontvangen

o Flow heeft geen duur in die richting, er worden geen gegevens uitgewisseld

AUTEURS


Flowgrind is oorspronkelijk gestart door Daniel Schaffrath. De gedistribueerde meting
architectuur en geavanceerde verkeersgeneratie werden later toegevoegd door Tim Kosse en
Christelijk Samsel. Momenteel wordt flowgrind ontwikkeld en onderhouden door Arnd Hannemann en
Alexander Zimmerman.

Gebruik flowgrind online met onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    NSIS: Nullsoft scriptbaar installatiesysteem
    NSIS: Nullsoft scriptbaar installatiesysteem
    NSIS (Nullsoft Scriptable Install
    System) is een professionele open source
    systeem om Windows-installatieprogramma's te maken. Het
    is ontworpen om zo klein en flexibel te zijn
    zo mogelijk...
    Download NSIS: Nullsoft Scriptable Install System
  • 2
    autorisatie
    autorisatie
    AuthPass is een open source wachtwoord
    manager met ondersteuning voor de populaire en
    bewezen Keepass (kdbx 3.x EN kdbx 4.x ...
    Authentificatie downloaden
  • 3
    Zabbix
    Zabbix
    Zabbix is ​​een open enterprise-klasse
    source gedistribueerde monitoringoplossing
    ontworpen om te monitoren en te volgen
    prestaties en beschikbaarheid van het netwerk
    servers, apparaat...
    Zabbix downloaden
  • 4
    KVerschil3
    KVerschil3
    Deze repository wordt niet langer onderhouden
    en wordt bewaard voor archiveringsdoeleinden. Zie je wel
    https://invent.kde.org/sdk/kdiff3 for
    de nieuwste code en
    https://download.kde.o...
    KDiff3 downloaden
  • 5
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX is een GUI voor
    Waninkoko's USB Loader, gebaseerd op
    libwiigui. Het maakt een lijst en
    lancering van Wii-spellen, Gamecube-spellen en
    homebrew op Wii en WiiU...
    USBLoaderGX downloaden
  • 6
    Firebird
    Firebird
    Firebird RDBMS biedt ANSI SQL-functies
    & draait op Linux, Windows &
    verschillende Unix-platforms. Functies
    uitstekende gelijktijdigheid en prestaties
    & stroom...
    Firebird downloaden
  • Meer "

Linux-commando's

Ad