我写了一个简单的tcp服务器程序,让它在端口80上侦听
然后我注意到了netstat -tulpn|grep "tcp"
tcp服务器侦听端口更改为随机端口,但不是80
我尝试了其他端口,如2000
,tcp服务器程序运行正常并可以侦听该端口
但是80
是不可能的
我检查了是否有其他进程正在侦听端口80,
最初有一个httpd
,但我杀了它
并且我的tcp服务器仍然无法侦听端口80
答案 0 :(得分:3)
1024以下的端口受到限制。如果你只是在玩它很容易以root身份运行你的程序但是如果你想编写一个你不想以root身份运行的应用程序出于安全原因但仍然能够绑定到受限制的端口你可能想要查看Linux capabilities system。
以下是有关如何使用setcap
utility on Linux.的答案的链接。
答案 1 :(得分:0)
你需要root才能收听1024以下的端口。