linux – TCP / IP基础:目标端口相关性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – TCP / IP基础:目标端口相关性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1440字,纯文字阅读大概需要3分钟。
内容图文
![linux – TCP / IP基础:目标端口相关性](/upload/InfoBanner/zyjiaocheng/955/2683b68ce6774cf2b5d5daebda978c60.jpg)
好吧这有点令人尴尬,但我只是有一个相当“noob”的问题.
在客户端服务器TCP通信中,我的系统是访问远程服务器的客户端,例如端口XX,客户端是否在其系统中打开随机端口YY以与远程端口XX通信?
所以当我们编码时,我们确实指定了目标端口XX吗?
对于客户端,在创建套接字时选择端口YY本身,不是吗?
无论如何我可以监控/限制/控制任何客户端与特定服务器通信吗?(比如说客户在特定服务端口与服务器通信?)
是否存在任何IPTABLE规则或某些限制客户端的防火墙规则?
可以这样做吗?
目标端口是否保存在套接字结构中?如果是这样的话?
谢谢!
解决方法:
首先,服务器端创建一个侦听套接字,其链接为socket(2),bind(2)和listen(2),然后通过accept(2)调用等待传入的客户端连接请求.一旦客户端连接(客户端上的socket(2)和connect(2))并且客户端和服务器机器的TCP / IP堆栈完成three way handshake,accept(2)将返回新的套接字描述符 – 这是服务器连接套接字的结尾.服务器端的bind(2)和客户端的connect(2)都使用服务器的地址和端口.
现在,完整的TCP连接由四个数字描述 – 服务器地址,服务器端口,客户端地址和客户端端口.在连接尝试之前,客户端显然必须知道前两个(否则,我们去哪里?).客户端地址和端口虽然可以使用bind(2)明确指定,但通常是动态分配的 – 地址是传出网络接口的IP地址(由routing table确定),端口选择超出范围ephemeral ports.
netstat(8)命令显示已建立的连接.添加-a标志可以让您看到侦听套接字,-n标志禁用DNS和服务分辨率,因此您只需看到数字地址和端口.
Linux iptables(8)允许您限制允许客户端连接的位置.您可以根据源和目标端口,地址等进行限制.
您可以使用getsockname(2)调用获取套接字本地绑定,远程绑定由getpeername(2)给出.
希望这会让它更加清晰.
内容总结
以上是互联网集市为您收集整理的linux – TCP / IP基础:目标端口相关性全部内容,希望文章能够帮你解决linux – TCP / IP基础:目标端口相关性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。