草庐IT

端口号

全部标签

c++ - tcp 客户端可以使用相同的端口连接到不同的服务器吗?

我想编写一个tcp服务器和客户端应用程序,它有几个彼此不同的连接,其中客户端使用相同的端口号。到目前为止我明白了,服务器有一个监听器端口,当客户端调用它时,我会在服务器端为这个新连接获得一个新套接字,当我调用accept();对吧?所以在服务器端,我可以识别我与这个新套接字的连接并通过它发送数据。现在我对客户端的理解有问题。当我打电话时我得到了我的套接字socket(AF_INET,SOCK_STREAM,0)所以我只有一个socket。在connect()我可以指定远程地址等等。因此,当我正确理解它时,我可以使用一个套接字建立多个连接到不同的地址/端口对以创建不同的连接。对吧?但是我

tcp - RTP over TCP 单端口

我正在使用WebRTC创建用于视频session的媒体服务器。您可能知道,当用户连接到服务器时,服务器端将打开两个端口。TCP上的RTP和RTCP端口。因此,媒体服务器将需要广泛的可用端口。这里的案例不是关于多路复用RTP和RTCP端口。假设媒体服务器位于防火墙后面并且端口被阻止,因此无法打开大范围的端口。例如,媒体服务器将使用8080发送信号,使用443发送RTP/RTCP。所有的视频流量都会在服务器端流入443。这可能吗? 最佳答案 这是可能的,许多媒体服务器都提供该功能。Wowza为WebRTCoverTCP启用单一端口;Un

tcp - 端口号

这是一个小小的疑惑,不该放在心上的,所以请原谅我为了在局域网上的两台主机之间传输消息,发送和接收数据的端口号是否必须相同? 最佳答案 没有。您将发送到一个已知的端口号,但您的客户端端口号基本上是随机的。这意味着多个客户端可以使用不同的客户端端口号向一台服务器发送数据,但只能使用一个已知的服务器端端口号。例如如果一台机器上有多个客户端与远程网络服务器通信,它看起来像:localhost:31000->webserver:80localhost:31001->webserver:80localhost:31002->webserver:

security - 允许端口 80/TCP 上的传出流量的服务器防火墙是否也允许端口 80/UDP 上的流量?

当我们使用UDP协议(protocol)时,在端口80/TCP上接受传出流量的Windows防火墙是否也允许传出流量。防火墙在大多数情况下是只控制端口号还是也控制使用的协议(protocol)? 最佳答案 TCP和UDP端口完全不同。所以,TCP/80和UDP/80没有任何关系,除了数量。从防火墙的角度来看,它们是完全独立的事物,具有不同的规则。 关于security-允许端口80/TCP上的传出流量的服务器防火墙是否也允许端口80/UDP上的流量?,我们在StackOverflow上找

windows - 枚举同一进程中的开放端口

在Windows中有什么方法可以让进程枚举它正在使用的所有开放端口/套接字?我试图在我的应用程序中追踪一些高端口使用率,但我的应用程序使用的端口很少,所以一定是其他一些DLL被加载到进程中。 最佳答案 Windows自己的命令行netstat实用程序,以及SysInternals的TCPViewapp,可以显示拥有每个开放端口的进程的名称。如果您想以编程方式枚举此信息,则必须手动枚举Windows的端口路由表并将它们映射到您的进程。在XP上,您可以使用AllocateAndGetTcpExTableFromStack()和Alloc

c - 确定您连接到的交换机端口的 mac 地址

是否可以找出您所连接的交换机端口的mac地址是什么?我正在查看tcpdump,但似乎在每个以太网数据包中都有发件人和目的地的MAC,但没有通过的那些MAC。但我正在寻找方法来找出您直接连接到的交换机的MAC。我应该是一个通用的解决方案。例如,托管的CISCO交换机(目前)还不是解决方案。我可以使用C/C++或任何其他语言。 最佳答案 读这个:http://en.wikipedia.org/wiki/Network_switch#Layer_1_.28Hubs_versus_higher-layer_switches.29在普通交换机

networking - tcp程序无法监听80端口

我写了一个简单的tcp服务器程序,让它监听80端口然后我注意到netstat-tulpn|grep"tcp"tcp服务器监听端口改为随机端口,不是80我尝试了其他端口,比如2000,tcp服务器程序运行良好,可以监听该端口但是80是不可能的我检查了是否有其他进程在监听80端口,本来有一个httpd,但我杀了它而且我的tcp服务器仍然无法在端口80上监听我试了几台机器,现象都一样这有什么原因吗?以及如何让我的程序监听80端口? 最佳答案 低于1024的端口被限制。如果您只是玩玩,以root身份运行程序很容易,但是如果您出于安全原因想要

perl - 如何检查哪种检查端口状态的方法更有效?

我正在编写一个脚本来安排我的一些服务器上的端口检查,并报告状态。我打算选择以下两个选项之一:将netcat(nc)的输出通过管道传输到一个perl变量中,并检查返回状态my$rcode=`nc-z6.6.6.680;echo$?`使用perl模块IO::Socket::PortState做同样的事情。useIO::Socket::PortStateqw(check_ports);my%porthash=(...);check_ports($host,$timeout,\%porthash);print"$proto$_isnotopen($porthash{$proto}->{$_}-

tcp - 如何控制TCP数据包的源端口?

为了测试我的NAT实现,我想将TCP数据包从一个内部主机发送到两个不同的外部主机,并确保离开NAT的两个数据包流的源端口具有相同的源端口。如何控制源端口?wget为单独的TCP连接使用不同的源端口。 最佳答案 如果你不想自己编写代码,也许你想尝试带-p选项的netcat,例如:$nc-p31337www.google.com80这是手册页中对“-p”选项的解释:指定nc应使用的源端口,受权限限制和可用性限制。将此选项与-l选项一起使用是错误的。请注意,使用1024以下的任何端口都需要root权限。

c - 在Linux内核中设置socket输出端口号

我正在尝试将多路径tcp(https://www.multipath-tcp.org/)集成到一个项目中,我想修改源代码以便为新的mptcp子流手动选择传出套接字端口,以便我可以识别正在发送的数据包在我的应用程序中进出。地址是用:inet_create(sock_net(meta_sk),&sock,IPPROTO_TCP,1);和绑定(bind):sock.ops->bind(&sock,(structsockaddr*)&loc_in,sizeof(structsockaddr_in));然后连接:sock.ops->connect(&sock,(structsockaddr*)&