Verbindingen met opzet verbreken
Traag is één soort slecht. Weg is een andere soort, en die vindt het codepad dat niemand heeft geschreven: het opnieuw verbinden, het opnieuw proberen, het bericht dat de gebruiker vertelt wat er gebeurde.
Zo test je ook een app offline zonder iets los te trekken: de LAN-modus laat het lokale netwerk werken en neemt het internet af, en het blokkeren van één adres maakt één dienst onbereikbaar terwijl de rest van de verbinding in orde is.
Vijf verschillende manieren om weg te zijn
| Instelling | Wat de app ziet |
|---|---|
| Verbindingen resetten | Verbindingen sterven midden in de overdracht, zoals een firewall of load balancer ze doodt. Je stelt in hoe vaak, in procenten. |
| Verbinding aan en uit | Het netwerk verdwijnt een tijdje en komt dan terug, steeds opnieuw. Je stelt de cycluslengte in en hoeveel ervan uitvaltijd is. |
| Een poort blokkeren | Alles naar die poort verdwijnt. Niets anders wordt aangeraakt. |
| Een adres blokkeren | Eén server wordt onbereikbaar terwijl de rest van het internet werkt. |
| LAN-modus | Het lokale netwerk blijft werken, het internet niet. Precies de vorm van een captive portal of een dode uplink. |
Vanaf de opdrachtregel
Dood ongeveer één op de tien verbindingen, bij één app:
BeanNetworkTester.exe --rst-prob 10 --target myapp.exe --duration 60
Cycli van tien seconden, waarvan vier seconden uitval, een verbinding die steeds komt en gaat:
BeanNetworkTester.exe --flap-period 10 --flap-down 40 --target myapp.exe
Eén server onbereikbaar, al het andere in orde:
BeanNetworkTester.exe --block-ip 203.0.113.10
Blokkeren raakt alleen wat het noemt
Anders dan verlies of vertraging raakt het blokkeren van een poort of adres alleen het verkeer dat ermee overeenkomt. Dat maakt het de veiligste van deze opties om zonder procesdoel uit te voeren, en het is waarom “laat deze ene afhankelijkheid verdwijnen” een opdracht van één regel is.
De valstrik van de dode download
Er is ook een maximale pakketgrootte. Verlaag hem een beetje en grote overdrachten worden trager. Verlaag hem naar een waarde als 576 en downloads stoppen helemaal, voor altijd, zonder foutmelding, want dat is geen kleinere pakketgrootte meer, maar het klassieke zwarte gat waarin het netwerk weggooit wat te groot is en dat nooit meldt.
Dat is een echte faalmodus die het waard is om met opzet na te bootsen, en het is echt verwarrend om hem per ongeluk tegen te komen. Als een download stilletjes doodgaat vlak nadat je deze instelling hebt gewijzigd, is dat de reden.
Terug naar normaal
STOP herstelt alles. Het programma sluiten doet dat ook, en een tijdslimiet ook, als je er een hebt ingesteld. Als de tool zelf midden in een sessie zou sterven, stopt een watchdog erin het onderscheppen in plaats van je netwerk in een kapotte staat achter te laten.