家里用的是广电的网络,接了无线路由,在192.168.1.1里面配置了端口转发,将9001转发到192.168.1.101 ,然后在php.ini中相应的配置了xdebug, phpstorm 启动监听,结果失望了,我设置的断点没有任何反应,没有得到一丁点的调试信息,在看网络链接,phpstorm确实是在9001监听着,来到服务器tail -f /root/xdebug.log  收到了来自本机的请求,但是返回的信息无法到达,于是断定是我的网络地址有问题,打电话问广电客服,果然是,我们的拨号确实分配了一个独立IP但是,这个IP是在一张局域网中的,因为广电是租用的电信的线路,怎么办?自己写转发吧,听说nodejs做这些工作挺傻瓜化的,不用劳烦 win socket或者linux socket了,当然前提是都装好了nodejs

linux:

var net = require('net');
var util=require('util');
var sock1;
var sock2;
var server = net.createServer(function(c) { //'connection' listener
sock1=c;
console.log('client connected');
console.log('RemoteAddr='+c.remoteAddress);
console.log('RemotePort='+c.remotePort);
console.log('------------------------------');
c.on('end', function() {
console.log('client disconnected');
});
c.on('data',function(data){
console.log('data received');
console.log(data);
console.log('------------------------');
sock2.write(data);
});
});
server.listen(8124, function() { //'listening' listener
console.log('server start');
}); var server9001 = net.createServer(function(c){
sock2=c;
c.on('data',function(data){
console.log('data from '+c.remoteAddress+":"+c.remotePort);
console.log(data);
console.log("--------------------------------");
sock1.write(data);
});
});
server9001.listen(9001,function(){
console.log('server9001 start');
});

win7

var net = require('net');

var HOST = '115.28.200.122';
var PORT = 8124;
var phpstorm = new net.Socket();
var proxyClient = new net.Socket();
phpstorm.connect(9001,'localhost',function(){
console.log("phpstorm connected");
console.log('--------------------------');
});
proxyClient.connect(PORT, HOST, function() {
console.log('proxyClient CONNECTED TO: ' + HOST + ':' + PORT);
console.log('--------------------------');
}); proxyClient.on('data', function(data) {
console.log("proxyClient data received");
console.log(data);
console.log("----------------------------------");
phpstorm.write(data);
}); proxyClient.on('close', function() {
console.log('Connection closed');
}); phpstorm.on('data',function(data){
console.log('phpstorm data received');
console.log(data);
console.log("------------------------------");
proxyClient.write(data);
});

phpstorm内网远程debug的更多相关文章

  1. Zerotier在windows下实现内网远程桌面

    Zerotier实现内网远程桌面 使用背景 实验室设备条件过于恶劣 向日葵在有些场景下会莫名崩溃,或者画面不动. Teamviewer免费版在之前用的时候出现过疑似商业行为被断连,github上寻解决 ...

  2. 非节点主机通过内网远程管理docker swarm集群

    这是今天使用 docker swarm 遇到的一个问题,终于在睡觉前解决了,在这篇随笔中记录一下. 在 docker swarm 集群的 manager 节点上用 docker cli 命令可以正常管 ...

  3. frp 用于内网穿透的基本配置和使用

    frp 用于内网穿透的基本配置和使用 今天是端午节,先祝端午安康! frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便 ...

  4. 傻瓜式教学--win10 + frp + rdpwrap + 阿里云服务器 --实现win10 多用户同时远程登录内网机

    概述: 使用win10 专业版 + frp + RDPwrap + 阿里云服务器 的组合实现win10 多用户同时远程登录内网机.使用frp 做内网穿透,将内网机的指定端口暴露在外网,通过ip+por ...

  5. 测试龙芯 LoongArch .NET之 使用 FastTunnel 做内网穿透远程计算机

    龙芯3A5000 已经上市,与龙芯3A5000配套的三大编译器GCC.LLVM.GoLang和三大虚拟机Java.JavaScript..NET均已完成开发,从老伙计哪里搞来一台3A5000 机器,安 ...

  6. linux下内网端口转发工具:linux版lcx [实现远程内网维护]

    这个工具以前使用的初衷是内网渗透,需要将内网ssh端口转发到外网服务器上.但这个工具同样适用于运维工程师进行远程内网维护. 当然这一切的前提是内网可以访问外网,检测方法当然就是直接ping 一个外网I ...

  7. tigerVNC远程桌面,跨内网

    tigerVNC的简单使用教程(CentOS的远程桌面连接) 1.环境和软件准备 (1) CentOS 6.5下 [root@localhost ~]$ yum install tigervnc (2 ...

  8. 通过云主机(网关机)远程登录内网mysql

    国内的一些云主机平台(UCloud,阿里云,腾讯云等)走的都是网关机+内网机(即局域网)模式,网关机代理外网访问,不能直接连接内网机器.本文介绍通过远程登录云主机,并设置本地代理的方式,通过sqlyo ...

  9. 利用阿里云搭建frp实现外网远程桌面链接内网电脑

    主要应用场景:针对学生放假回家使用外网无法远程操作学校的服务器或者电脑,这里通过阿里云的云服务器搭建一个frp服务,实现内网穿透,从而可以直接通过远程桌面或者其他工具实现对校园网内的服务器或者电脑进行 ...

随机推荐

  1. python 线程学习

    彩照 一.学习[1] # -*- coding: utf-8 -*- import time import thread def timer(no, interval): cnt = 0 while ...

  2. D3.js 用层画条形图

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. DELETE与TRUNCATE的区别

    当执行 DELETE FROM TABLE后,会发现针对一个DELETE语句,该表中有多少行内容,数据库日志文件中,相对应的记录是就是多少条,每一条记录,对应的是行级别的删除.而且对应的LSN编号也是 ...

  4. redis 配置应用(摘)

    Redis可以在没有配置文件的情况下通过内置的配置来启动,但是这种启动方式只适用于开发和测试. 合理的配置Redis的方式是提供一个Redis配置文件,这个文件通常叫做redis.conf. redi ...

  5. abstract class和interface有什么区别?

    1. 接口  只可以定义static  final成员变量. 即使不显性写出来 也还是会是static final 2. 接口的 方法不能有方法体,并且只能是public的. 1.抽象类:如果类中有一 ...

  6. 【转】 TCP协议中的三次握手和四次挥手(图解)

    建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看看如何建立连接的. 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资 ...

  7. [转]我为什么要学习python

    我为什么要学习python   引言:学习python近两年,谈谈我对于python的一点小理解,也从一些方面谈谈自己微薄的想法,也就是我为什么学习python 这里我不讨论python的一些有用的库 ...

  8. 【python】selenium+python自动化测试环境搭建

    参考资料: http://www.cnblogs.com/fnng/archive/2013/05/29/3106515.html http://www.easonhan.info/python/20 ...

  9. shopex最新版前台一处想不到的SQL注入漏洞

    shopex代码核心的地方都做了加密处理,找漏洞就需要一点想象空间了,比如这个SQL注入… 存在于用户注册(想不到的位置吧?)   /core/shop/controller/ctl.passport ...

  10. hibernate基于注解的维护权反转:@OneToMany(mappedBy=)

    背景说明:首先是SSH环境下,对象基于注解的方式映射到数据库: 昨天遇到一个比较纠结的问题,@OneToMany(mappedBy="xxx"), mappedBy属性有什么用,然 ...