如果我执行:
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
。
其理念是,任何试图访问互联网的其他应用程序都会被立即识别,并发出警报。
谢谢。