Классика жанра:
В идеале есть восьмиуровневая OSI, нижестоящие уровни ничего не знают о вышестоящих, как и вышестоящие могут ничего не знать о нижестоящих. Приложения работают(внезапно) на 8м уровне(уровне приложений). Роутер имеет дело с 1-4м уровнем, при этом рулить вы можете 2-4м.
Операционная система знает всё о своих уровнях, поэтому там можно рулить доступом наиболее гибко. Но приложение, "опуская" свои данные вниз по уровням, оставляет метки, чтобы принимающая сторона могла распознать данные для себя и поднять их на тот уровень, на котором эти данные будут расшифрованы. Этим можно воспользоваться при блокировании трафика.
В общем случае, для винды, нужно запустить монитор ресурсов и отследить, на какие порты и какие айпи и домены приложение отправляет трафик. Либо узнать эти порты и домены из описания приложения.
На роутере включить фаервол(не прокси, ктрорый проксирует порты, это немного не о том) и разрешить или запретить доступ на эти порты и/или домены. Наиболее параноидальным подходом является "белый список", когда запрещается выход в сеть всем, кроме программ работающих на явно прописанных портах