场景

Linux开启了iptables!!!
开启本机TCP80端口服务。Linux本机IP地址是192.168.204.129。本机telnet连接本机的TCP80端口。

目的

telnet 192.168.204.129 80,能够连接通。

输入规则

1)需要配置一个让本机TCP80端口响应报文进来的规则,有两种配置方式

#目的IP是本机
iptables -I INPUT -p tcp -d 192.168.204.129 -j ACCEPT

或者配置源IP是本机的,配置这个的话,其它主机就无法访问本机的TCP80了

#源IP是本机
iptables -I INPUT -p tcp -s 192.168.204.129 -j ACCEPT

2)让要访问本机TCP80端口的报文进入,配置这个主要是为了让其它主机能够访问本机IP,针对现在的场景是可以不配置这个的,只配置1)的规则

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

输出规则

1)配置这个是为了让本机TCP输出报文能够发送到目标IP,这里目标IP配置本机IP地址192.168.204.129是为了保证本机telnet客户端连接本机tcp80端口请求报文和TCP80端口的响应报文能够出去

iptables -I OUTPUT -p tcp -d 192.168.204.129 -j ACCEPT

当然也可以配置源IP是本机的,如果是配置源IP是本机的这种,外部其它主机就无法访问了

iptables -I OUTPUT -p tcp -s 192.168.204.129 -j ACCEPT

2)配置这个是为了让本机Linux来自TCP80端口的报文出去,可以发给本机或者是其它主机。这个是可以不配置的。如果不配置这个,其它主机无法接收本机TCP80端口的响应报文

iptables -I OUTPUT -p tcp --sport 80 -j ACCEPT

分析

这里涉及四个核心报文:
1)telnet客户端连接tcp80端口的出站报文
2)tcp80端口响应给telnet客户端的出站报文
3)telnet客户端连接tcp80端口的入站报文
4)tcp80端口响应给telnet客户端的入站报文
这里的1)和3)往根儿上说是同一个报文,只不过它既要出站也要入站。
这里的2)和4)往根儿上说是同一个报文,只不过它既要出站也要入站。

备注

telnet去网上查了下它的端口是23,对该端口进行配置使用验证后发现不管用。telnet 192.168.204.129 80该命令中telnet连接TCP80端口使用的应该是随机端口。

简单展示


上面截图的规则是在这个场景下会生效的INPUT规则和OUTPUT规则。OUTPUT开放了tcp源端口是80的接收规则是为了让其它主机能够访问通本机的TCP80端口。

Linux上使用telnet连接本机IP地址端口相关推荐

  1. 在Linux上利用python获取本机ip

    下面介绍在Linux上利用python获取本机ip的方法. 经过网上调查, 发现大致有两种方法, 一种是调用shell脚本,另一种是利用python中的socket等模块来得到,下面是这两种方法的源码 ...

  2. 查看网卡ip linux,教你如何查看本机ip地址?

    说到查看电脑本机的IP,相信不少人都在需要更换网络或者网络出现故障时用到这门技术,而作为一个电脑"小白",怎么对自己的电脑ip进行查看,查看ip地址真如我们所想象的那样难吗,别着急 ...

  3. linux编程获取本机IP地址的三种方法

    这是一项不太清晰而且没有多大意义的工作.一个原因是网络地址的设置非常灵活而且都是允许用户进行个性化设置的,比如一台计算机上可以有多块物理网卡或者虚拟网卡,一个网卡上可以绑定多个IP地址,用户可以为网卡 ...

  4. centos7 shell 获取ip_Linux Shell脚本中获取本机ip地址方法

    方法一:ifconfig -a ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "a ...

  5. 在linux系统上查看本机ip地址

    在linux系统上查看本机ip地址 输入命令: curl ifconfig.me 或 wget -qO- ifconfig.me/ip

  6. linux上安装telnet服务器:linux vmvare虚拟机 安装telnet redhat9

    linux上安装telnet服务器:linux vmvare虚拟机 安装telnet redhat9 参考:http://blog.sina.com.cn/s/blog_5688414b0100bhr ...

  7. qt获取本机全部ipv4_QT5下获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址...

    获取主机名称 /* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */ QString CafesClient::get_ ...

  8. 配置haproxy支持使用多个lan内网ip做负载均衡以突破haproxy机只支持64k连接(突破单ip 65535端口限制)

    https://www.iamle.com/archives/1865.html 前言 haproxy配置文件重要参数,有端口数目限制:  global     maxconn 65535 #最大连接 ...

  9. 虚拟机 Linux 7 版本 用ifconfig ens33 查看本机IP地址 电脑DHCP服务开启

    在Linux 7 版本 用ifconfig ens33 查看本机IP地址 ifconfig 命令执行后,返回信息里找不到IP地址 解决方法: 1.用ifdown ens33 && if ...

最新文章

  1. TCP服务端程序开发
  2. c#.net URL参数传递及在js中引用
  3. 网络编程学习笔记(gethostbyaddr函数)
  4. 设计模式(3):抽象工厂模式(Abstract Factory Pattern)
  5. [css] CSS3中的transition是否可以过渡opacity和display?
  6. Go语言交叉编译工具gox
  7. 1-3:学习shell之Linux系统
  8. MongoDB学习笔记—02 MongoDB入门
  9. 【每日算法Day 68】脑筋急转弯:只要一行代码,但你会证吗?
  10. Asp.net对http request 处理的全过程!
  11. lisp pl线线段数_样条曲线转多段线lisp
  12. 勒索软件不可破解?谁在标题党
  13. Android CoordinatorLayout Behavior
  14. c语言结构体简单试题,C语言6结构体练习题6
  15. iOS蚂蚁森林的loading效果
  16. 手赚网试玩平台源码 可封装APP 带文章资讯功能 帝国cms7.5内核
  17. GetAsyncKeyState函数中按键的信息
  18. osi是什么?计算机有哪几层?每一层有什么作用?
  19. Mysql coalesce()函数认识和用法
  20. C语言stdlid是什么函数,为什么Curry的std lib中的非确定性选择函数没有直接定义,而是使用辅助2参数函数?...

热门文章

  1. opencv常见用法和opencv3->opencv4版本切换
  2. 提高 Activity 跳转速度
  3. 荣耀x10和荣耀30s哪个好?
  4. 高考满分作文生成器来了!分分钟批量完成「生活在XX上」,哲学文学物理各种领域任选......
  5. 爬虫日记之01编辑系统环境变量
  6. 使用谷歌地图api绘制路线
  7. C语言有小数乘法,十道小数乘小数的乘法竖式计算并有答案
  8. 想靠AI炒股致富,结果恐怕会让你怀疑人生
  9. 摩羯座男适合学计算机吗,摩羯男告诉你他的行踪说明什么
  10. Springboot毕设项目唐韵古都长安纪念品网站z037yjava+VUE+Mybatis+Maven+Mysql+sprnig)