详解为何iptables规则中端口和网络协议类型必须同时出现
2015-10-11 17:00
399 查看
一般在增加一条iptables规则的时候我们都会使用如下的形式:
更多Linux方面的资料请访问:http://www.aminglinux.com/bbs/?fromuid=4297
iptables -A INPUT -s 10.72.11.12 -p tcp --sport 1234 -d 10.72.137.159 --dport 80 -j DROP而-p和-sport/dport必须同时使用,这是为什么呢? 查询相关资料后,我总结如下: 根据网络OSI参考模型,协议类型和端口号同属于传输层。而传输层的下层是网络层,使用IP进行通讯。 可以说端口是传输层的地址,IP是网络层的地址 我们平时在使用网络的时候都会同时使用多个应用,这时IP所属的网络层再将收到的数据包向上层(传输层)提交的时候,就需要根据IP数据包头部的协议类型字段决定应该将包交给哪个协议处理;而接收到数据包的协议又会根据数据包中的端口决定将数据提交给端口所属的应该程序来处理数据。 我们使用TCP/IP协议来进行数据传输的过程中,需要根据以下五项来决定是否是同一个应用程序的数据包: 来源IP,目的IP,协议类型,来源端口,目的端口 如果这五项内容一致,就说明IP收致分组数据是同一个应用请求的数据。否则数据就是其他应用请求的。 所以,我们在添加iptables规则的时候,才会同时使用协议类型(-p)和端口号(-dport/sport)。只有这样添加的规则,iptables才会知道,我们要对哪个应用程序的通讯进行放行或者禁行的操作。
更多Linux方面的资料请访问:http://www.aminglinux.com/bbs/?fromuid=4297
相关文章推荐
- android访问网络图片
- poj1273网络流入门题
- 覆盖你 80 % 网络生活的,竟是这样一家神秘实验室
- tcp 客户、服务器程序示例
- 无线网络破解,破解wap密码
- 异常处理 续之(堆栈解退、auto_ptr)http://blog.csdn.net/feitianxuxue/article/details/7314079
- http中get、post、head对比
- iOS9下修改回HTTP模式进行网络请求
- 静态 http://www.cnblogs.com/lzjsky/archive/2011/01/24/1943199.html
- java中的main函数为什么是静态的 http://zhidao.baidu.com/link?url=k4HpxWZy71GfFpKCNXSvU-Ji9hqbWGWtNryPolNi3ziBPQ
- 静态成员 http://www.verydemo.com/demo_c92_i221125.html
- C++ 类的静态成员详细讲解 http://www.cnblogs.com/morewindows/archive/2011/08/26/2154198.html
- http请求状态
- Angularjs $http 请求数据(get.post)
- 开发与测试分析工具集锦(网络摘要)不断更新
- python 网络编程(二):IO 多路复用
- TCP调优
- 黑马程序员——网络编程
- OKHttp的简单使用
- OKHttp的简单使用