端口禁用的原理

猿来读书 2016-01-15 05:42:41
]在windows上我们可以通过防火墙和IPsec安全策略来筛选某些端口,让外部网络无法访问本机的这些筛选端口
但是,这些手段的原理是什么?
即一个计算机端口被禁用的原理是什么?

有人形容:计算机想你的家, 端口像门, 你出去怕贼惦记 ,把门关了。
但是这个关门的动作,在软件逻辑上 和物理 上是如何实现的。
如果物理上是通过01开关把某条路给封了,那么软件上的设置就是对这条路的控制。

那么,主要纠结的就是,我们几乎无法对端口进行编程,只能通过微软的工具去设置端口?
linux上又是什么样的情形,能否通过代码对端口进行编程?


哪个大叔帮我解答下。
...全文
447 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-02-02
  • 打赏
  • 举报
回复
引用 5 楼 winrunning 的回复:
[quote=引用 2 楼 zhao4zhong1 的回复:] Linux不是开源的吗?
没学过linux[/quote] 能现在就开始学吗?
猿来读书 2016-02-01
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
Linux不是开源的吗?
没学过linux
猿来读书 2016-02-01
  • 打赏
  • 举报
回复
引用 3 楼 mzz_810 的回复:
在linux内核协议栈里,以TCP为例,在接收处理例程tcp_v4_rcv里,通过内部接口__inet_lookup_skb来查询关联的套接字; __inet_lookup_skb会先从已经建立连接的套接字表中查找(__inet_lookup_established); 如果未找到则再从正在侦听的套接字表中查找(__inet_lookup_listener); 如果还未找到则丢弃该报文,表现为“端口不可达”。
我老师告诉我说是 数据包丢失,跟你说的有点相似。具体如何丢失数据包我也不是很清楚。可能跟你说的,让他永远找不到套接字。
mzz_810 2016-01-18
  • 打赏
  • 举报
回复
在linux内核协议栈里,以TCP为例,在接收处理例程tcp_v4_rcv里,通过内部接口__inet_lookup_skb来查询关联的套接字; __inet_lookup_skb会先从已经建立连接的套接字表中查找(__inet_lookup_established); 如果未找到则再从正在侦听的套接字表中查找(__inet_lookup_listener); 如果还未找到则丢弃该报文,表现为“端口不可达”。
赵4老师 2016-01-18
  • 打赏
  • 举报
回复
Linux不是开源的吗?
「已注销」 2016-01-15
  • 打赏
  • 举报
回复
可以简单的认为是操作系统提供的功能。端口在tcp/ip协议的tcp和udp层。内核在处理这些网络协议的时候自然有机制可以实现相应的管理功能。探究原理应该是建立在协议栈开发的领域吧。应用层只需要使用操作系统提供的调用接口就好了。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧