端口转发

Tcp网络通讯详解

白昼怎懂夜的黑 提交于 2020-02-23 03:35:03
Tcp通讯 一款网络游戏分为客户端和服务端两个部分, 客户端程序运行在用户的电脑或手机上,服务端程序运行在游戏运营商的服务器上。多个客户端通过网络与服务端通信。TCP 连接指的是一种游戏中常用的网络通信协议, 与之对应的还有UDP 协议、KCP 协议、HTTP 协议等。本片文章只讨论Tcp通讯。 先来认识Socket 网络上的两个程序通过一个双向的通信连接实现数据交换, 这个连接的一端称为一个Socket。一个Socket包含了进行网络通信必需的五种信息:连接使用的协议、本地主机的IP地址、本地的协议端口、远程主机的IP地址和远程协议端口,如果把Socket理解成一台手机, 那么本地主机IP地址和端口相当于自己的手机号码, 远程主机IP地址和端门相当于对方的号码。至少需要两台手机才能打电话, 同样地, 至少需要两个Socket 才能进行网络通信。 理解IP地址和端口 IP地址 网络上的计算机都是通过IP地址识别的, 应用程序通过通信端口彼此通信。通俗地讲, 可以理解为每一个IP地址对应于一台计算机(实际上一台计算机可以有多个IP地址,此处仅作方便理解的解释)。 在Wmdows命令提示符中输入ipconfig, 便能够查看本机的IP地址,本地机进程间通信时Ip可使用:127.0.0.1。至于ipconfig查询出的ip与127.0.0.1之间的区别,可以自己百度 端口 “端口”

Windows端口转发

梦想的初衷 提交于 2020-02-16 00:11:45
转发: https://blog.csdn.net/u014199860/article/details/80415519 Windows下端口转发,以实现远程端口3389为例 场景如下 先说明一下场景,服务器A处于局域网环境内,IP为192.168.1.200(同时作为虚拟机B的网关192.168.137.1),服务器A中安装有不同网段的虚拟机B,IP为192.168.137.2。A可实现对B的远程,但A同网段的其他机器无法ping通B 开始实现 方式一:CMD Windows端口转发 在服务器A执行如下CMD命令,建立端口转发规则192.168.1.200:13389 ==> 192.168.137.2:3389 netsh interface portproxy add v4tov4 listenaddress=192.168.1.200 listenport=13389 connectaddress=192.168.137.2 connectport=3389 执行完毕,可通过远程访问192.168.1.200:13389实现对192.168.137.2的远程访问。 与此同时 查看本机添加的所有规则 netsh interface portproxy show all 删除指定规则 netsh interface portproxy delete v4tov4

转:SSH通信【Blog ^A Jianing YANG's】

╄→尐↘猪︶ㄣ 提交于 2020-02-15 15:25:17
如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写程序,查数据,下电影)。 公司为了防止我们用XX软件封锁了它的端口或者服务器地址。 公司不让我们上XX网站,限制了网址甚至IP。 公司不让我们看关于XX的信息,甚至花血本买了XX设备,能够对内容进行过滤。一看XX内容,链接就中断了。 我爸是搞电脑的,他在家里的路由器上动了手脚,我不能看XXX了。 带着这些问题,我们先从什么是ssh隧道开始。 什么是SSH隧道 首先看下面这张图,我们所面临的大部分情况都和它类似。我们的电脑在右上角,通过公司带有防火墙功能的路由器接入互联网(当然可能还有交换机什么的在中间 连接着你和路由器,但是在我们的问题中交换机并不起到什么关键性的作用)。右下脚的部分是一个网站的服务器,它是我们公司防火墙策略的一部分,也就是说公 司不希望我们访问这个服务器。在右上角还有一台机器,它也是属于我们的。但是这台机器并不在我们公司里面,换句话说他不受到公司防火墙的限制。最后也是最 重要的一点是,我们能够在公司通过互联网直接访问这台机器。或者说这台位于公司防火墙外面的机器需要拥有一个独立的互联网IP,同时公司的防火墙规则不会 屏蔽这台机器,并且这台机器运行着一个OpenSSH服务器。 现在,我们清楚地知道了自己所处的网络环境

SSH隧道技术简介

99封情书 提交于 2020-02-15 05:44:23
本文的受众 如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写程序,查数据,下电影)。 公司为了防止我们用XX软件封锁了它的端口或者服务器地址。 公司不让我们上XX网站,限制了网址甚至IP。 公司不让我们看关于XX的信息,甚至花血本买了XX设备,能够对内容进行过滤。一看XX内容,链接就中断了。 我爸是搞电脑的,他在家里的路由器上动了手脚,我不能看XXX了。 带着这些问题,我们先从什么是ssh隧道开始。 什么是SSH隧道 首 先看下面这张图,我们所面临的大部分情况都和它类似。我们的电脑在右上角,通过公司带有防火墙功能的路由器接入互联网(当然可能还有交换机什么的在中间连 接着你和路由器,但是在我们的问题中交换机并不起到什么关键性的作用)。左下脚的部分是一个网站的服务器,它是我们公司防火墙策略的一部分,也就是说公司 不希望我们访问这个服务器。在左上角还有一台机器,它也是属于我们的。但是这台机器并不在我们公司里面,换句话说他不受到公司防火墙的限制。最后也是最重 要的一点是,我们能够在公司通过互联网直接访问这台机器。或者说这台位于公司防火墙外面的机器需要拥有一个独立的互联网IP,同时公司的防火墙规则不会屏 蔽这台机器,并且这台机器运行着一个OpenSSH服务器。 现 在,我们清楚地知道了自己所处的网络环境

DPDK l2fwd源码学习

六月ゝ 毕业季﹏ 提交于 2020-02-14 18:35:41
1. 主函数分析 1 /* 命令行解析 2 * 参数输入 ./l2fwd -c 0x3 -n 4 -- -p 3 -q 1 3 * -c 为十六进制的分配的逻辑内核数量 4 * -n 为十进制的内存通道数量,EAL参数和程序参数用--分开 5 * -q 为分配给每个核心的收发队列数量(端口数量) 6 * -p为十六进制的分配的端口数 7 * -t 为可选默认10s打印时间间隔参数 8 */ 9 int main(int argc, char **argv) 10 { 11 struct lcore_queue_conf *qconf; 12 int ret; 13 uint16_t nb_ports; 14 uint16_t nb_ports_available = 0; 15 uint16_t portid, last_port; 16 unsigned lcore_id, rx_lcore_id; 17 unsigned nb_ports_in_mask = 0; 18 unsigned int nb_lcores = 0; 19 unsigned int nb_mbufs; 20 21 /* init EAL */ 22 /* 初始化EAL参数,并解析参数,系统函数getopt以及getopt_long, 23 * 这些处理命令行参数的函数,处理到“--”时就会停止,分割参

ssh端口映射

给你一囗甜甜゛ 提交于 2020-02-13 17:18:23
ssh端口映射 可以将远端服务器一个端口remote_port绑定到本地端口port,其中-C是进行数据压缩,-f是后台操作,只有当提示用户名密码的时候才转向前台。-N是不执行远端命令,在只是端口转发时这条命令很有用处。-g 是允许远端主机连接本地转发端口。-R表明是将远端主机端口映射到本地端口。如果是-L,则是将本地端口映射到远端主机端口。 ssh的三个强大的端口转发命令: 转发到远端:ssh -C -f -N -g -L 本地端口:目标IP:目标端口 用户名@目标IP 转发到本地:ssh -C -f -N -g –R 本地端口:目标IP:目标端口 用户名@目标IP ssh -C -f -N -g -D listen_port user@Tunnel_Host -C:压缩数据传输。 -f :后台认证用户/密码,通常和-N连用,不用登录到远程主机。 -N :不执行脚本或命令,通常与-f连用。 -g :在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。 -L 本地端口:目标IP:目标端口 将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport

了解Cisco CGMP协议和RGMP协议-IELAB

泪湿孤枕 提交于 2020-02-13 17:16:19
CGMP协议,思科组管理协议: CGMP用来在二层网络限制多播流量。因为交换机不能查看三层数据包,也不能区分出IGMP包。使用了CGMP,路由器告诉交换机多播组用户的接口,只有路由器能够产生CGMP数据包,交换机只是监听CGMP数据包。 主要提供一下服务: 1、允许 IP 组播数据包被交换到具有 IP 组播客户机的那些端口。 2、将网络带宽保存在用户字段,不致于转播不必要的IP组播流量。 3、在为交换网络中的每个组播组创建独立 VLAN 时不会产生额外开销。 CGMP有两种数据包: Join 路由器向交换机通告向多播组中加入一个组员 Leave 路由器向交换机通告从多播组中删除一个组员 一旦 CGMP 被激活使用,它能自动识别与 CGMP-Capable 路由器连接的端口。CGMP 通过缺省方式被激活,它支持最大为64的IP 组播组注册。支持 CGMP 的组播路由器周期性地相发送 CGMP 加入信息(JoinMessages),用来通告自己执行网络交换行为。接收交换机保存信息,并设置一个类似于路由器保持时间(Holdtime)的定时器(Timer)。交换机每接收一个 CGMP 加入信息,定时器也随其不断更新。当路由器保持时间终止时,交换机负责将所有知道的组播组移出 CGMP。 RGMP协议,思科路由器端口组管理协议 思科路由器端口组管理协议(RGMP)弥补了 Internet

STP生成树原理

我的未来我决定 提交于 2020-02-13 11:52:19
为了防止单点故障启用链路冗余而产生的广播风暴、mad地址飘逸、帧的重复传输而设计的协议有以下几种类型 STP–生成树802.1D RSTP–快速生成树802.1W MSTP–多实例生成树 PVST+和R-PVST思科设备使用滴 目前市面上多使用的是MSTP生成树,锐捷设备需手动开启 ROOT根桥一个广播域内选举一个,由root下发配置信息的bpdu,交换机通过BPDU先来选举谁说root通过bridge-id的对比来选举,bridge-id里面包含设备本身的mac地址和优先级,默认优先级32768可手动配置到要是4096的倍数,越小越优相关的端口角色如下 RP根端口:根据交换机接口到root的距离开销来选举一样的话就根据上游的bridge-id选择还是一样就根据上面的端口来选越小越优先,端口默认优先级是100 DP指定端口:root下的路由器接口都是指定端口,选举的条件同上 AP备份端口:也叫NDP非指定端口,堵塞状态 STP的拓扑变更: 四种bpdu 普通BPDU–由root下发进行协议的运行和信息的配置 TCNBPDU–通过发送了拓扑变更的信息跟root,需对方回应TCA才停止发送 TCABPDU–回应产生TCNBPDU的设备我知道了 TCBPDU–通告整个网络mac地址表的老化时间为15s,重新收敛 端口的转态: disable相对于down

Ssh代理详解 【转载】

…衆ロ難τιáo~ 提交于 2020-02-13 07:43:22
原文: http://www.cnblogs.com/wangkangluo1/archive/2011/06/29/2093727.html ssh 代理详细解释 ssh -qTfnN -D 7070 ape@192.168.1.35 ssh -CfNg -R 1521:127.0.0.1:80 ape@192.168.1.35 参考地址: http://hi.baidu.com/step_1/blog/item/271f831bfbc198f1ae5133b7.html http://hi.baidu.com/deyu260/blog/item/3be433093e5779a12eddd418.html http://hi.baidu.com/laowuuser/blog/item/317647c7992a65de38db4946.html 参考文档: 1. SSH: Port Forwarding 1 .正向隧道 - 隧道监听本地port,为普通活动提供安全连接 ssh - qTfnN - L port:host:hostport - l user remote_ip 2 .反向隧道 ---- 隧道监听远程port,突破防火墙提供服务 ssh - qTfnN - R port:host:hostport - l user remote_ip 3 .socks代理 SSH -

5.twisted 端口转发服务器

泄露秘密 提交于 2020-02-12 09:28:41
一个简单的端口转发服务器: #coding:utf8 __author__ = 'python' from twisted.application.service import Application,Service from twisted.internet import reactor,protocol class Server(protocol.Protocol): def dataReceived(self, data): self.client.transport.write(data) def connectionMade(self): "暂停从transport读取任何数据,因为我们不知道收到数据后发给谁!" self.transport.pauseProducing() client=protocol.ClientCreator(reactor,Client) client.connectTCP(host="172.17.20.101",port=8500).addCallback(self.set_protocol) def connectionLost(self, reason): self.client.transport.loseConnection() def set_protocol(self,client): self.client=client