Recentemente, una delle mie applicazioni client-server ha iniziato a disturbarmi con alcune "notifiche" molto fastidiose. In sostanza, ciò che accade è che il server remoto invia alcuni pacchetti al mio client, che li traduce in un messaggio che viene visualizzato nella sua interfaccia. Il fatto è che queste notifiche veramente mi infastidiscono.
Poiché queste notifiche non sono di vitale importanza per il client, ho iniziato ad analizzare i miei flussi TCP provenienti dal server remoto. Ho notato uno schema evidente: ogni volta che vengono visualizzate le notifiche, vengono inviati 4 pacchetti specifici. Ad esempio:
Flags [P.], seq 60:297, ack 1, win 257, options [nop, nop, TS val 108022880 ecr 914609], length 237
Flags [.], ack 6, win 257, options [nop, nop, TS val 108022891 ecr 915061], length 0
Flags [P.], seq 297:534, ack 6, win 257, options [nop, nop, TS val 108022891 ecr 915061], length 237
Flags [.], ack 11, win 257, options [nop, nop, TS val 108022904 ecr 915090], length 0
Ho osservato la comunicazione TCP per un po 'e lasciato apparire diverse notifiche. Ecco cosa ho notato:
- Il server invia sempre pacchetti 4 quando richiede al client di "notificarmi".
- Questi pacchetti sono sempre organizzati nello stesso ordine: 237 byte, 0 byte, 237 byte, 0 byte.
- Il resto della comunicazione tra il server e il client non segue alcun modello (tranne quando faccio ripetutamente le stesse richieste al client, ovviamente).
Da quando sono riuscito a identificare un pattern, ora mi piacerebbe che il mio computer lo rilevasse quando si verifica, e blocca i pacchetti prima che raggiungono il client.
Ho provato a usare la dimensione come parametro di blocco usando:
iptables -I INPUT -p tcp -s [server-IP] -m length --length 237 -j DROP
Sfortunatamente, posso vedere i pacchetti lunghi 237 byte che raggiungono il client ... C'è un modo in cui potrei essere abbastanza specifico con iptables
, al fine di bloccare questa particolare sequenza, senza interrompere l'intera comunicazione stream?
Modifica: l'opzione Non mostrare notifiche disturbanti non esiste nel client, sarebbe troppo facile, no? Queste notifiche sono molto simili agli annunci.