是否可以强制应用程序通过特定允许的 UDP 端口连接到互联网?

是否可以强制应用程序通过特定允许的 UDP 端口连接到互联网?

如果我执行:

netstat -tulpn

在 cachy(Arch 衍生)发行版中,我发现:

Not all processes could be identified, non-owned process 

info will not be shown, you would have to be root to see  it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.54:53           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:27500           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::27500                :::*                    LISTEN      -                   
tcp6       0      0 :::5355                 :::*                    LISTEN      -                   
tcp6       0      0 :::80                   :::*                    LISTEN      -                   
tcp6       0      0 :::22                   :::*                    LISTEN      -                   
tcp6       0      0 :::3306                 :::*                    LISTEN      -                   
udp        0      0 0.0.0.0:47435           0.0.0.0:*                           -                   
udp        0      0 127.0.0.54:53           0.0.0.0:*                           -                   
udp        0      0 127.0.0.53:53           0.0.0.0:*                           -                   
udp        0      0 224.0.0.251:5353        0.0.0.0:*                           94940/vivaldi-bin   
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           -                   
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           -                   
udp        0      0 0.0.0.0:5355            0.0.0.0:*                           -                   
udp6       0      0 :::44439                :::*                                402026/firefox      
udp6       0      0 :::45040                :::*                                -                   
udp6       0      0 :::49550                :::*                                402026/firefox      
udp6       0      0 :::50429                :::*                                402026/firefox      
udp6       0      0 :::53286                :::*                                402026/firefox      
udp6       0      0 :::5353                 :::*                                -                   
udp6       0      0 :::5353                 :::*                                -                   
udp6       0      0 :::5355                 :::*                                -                   
udp6       0      0 :::55966                :::*                                402026/firefox      
udp6       0      0 :::56350      

因此 Firefox 正在监听随机 UDP 端口。我了解到 Firefox 会自行选择端口来连接互联网。

在 Linux 上,是否有一种简单的方法可以强制选定的应用程序列表使用选定的端口列表[可能使用小型树莓派上的本地代理服务器或其他方式]?

更具体地说,我想要一个文本文件port.txt中列出某些端口,例如 1234、5678、0987、6543......或者像 1234 - 5678 这样的范围

在另一个文件中app.txt,我想要一个应用程序列表,例如 firefox、vivaldi、evilCorporation.secretStuff、seattleStarBucks_worlDomination ... 但是这些应用程序在向操作系统请求端口时,只允许通过中提到的端口与互联网通信port.txt

其理念是,任何试图访问互联网的其他应用程序都会被立即识别,并发出警报。

谢谢。

相关内容