tcp程序无法侦听端口80

时间:2013-04-24 15:08:07

标签: networking tcp network-programming

我写了一个简单的tcp服务器程序,让它在端口80上侦听

然后我注意到了
netstat -tulpn|grep "tcp"

tcp服务器侦听端口更改为随机端口,但不是80

我尝试了其他端口,如2000,tcp服务器程序运行正常并可以侦听该端口 但是80是不可能的

我检查了是否有其他进程正在侦听端口80, 最初有一个httpd,但我杀了它 并且我的tcp服务器仍然无法侦听端口80

我尝试了几台机器,现象是一样的 这有什么原因吗?以及如何让我的程序在80端口监听?

2 个答案:

答案 0 :(得分:3)

1024以下的端口受到限制。如果你只是在玩它很容易以root身份运行你的程序但是如果你想编写一个你不想以root身份运行的应用程序出于安全原因但仍然能够绑定到受限制的端口你可能想要查看Linux capabilities system

以下是有关如何使用setcap utility on Linux.的答案的链接。

答案 1 :(得分:0)

你需要root才能收听1024以下的端口。