如何详细显示一个 Java 程序的所有进程以及由这个进程带起来的其他进程?以及,如何让它们全部走代理? (排除 Vbox、VM 这些虚拟机选项)

2017-12-06 07:09:33 +08:00
 qceytzn

系统是 debian 8,现在安装了一个 java 程序,桌面上的快捷方式指向 /home/xxxx/aaaa 这个文件夹里的一个 x-shellscript 文件,由这个文件带动了文件夹里的 N 个脚本文件和 jar 文件才能成功运行程序

现在我想让这个程序完全走 socks 代理,用 proxychains 能实现吗?不但要成功的跑起来,也要让程序不能检测出是通过代理联网的(就是本地 IP 不泄露),因为整个程序是 N 个 jar 一起作用的,我担心 IP 还是可能泄露,毕竟 proxychains google-chrome 运行起来的 chrome 还是会泄露我的 IPv6 地址( WebRTC detection )

请大佬们指点一下,如何在 linux 系统上成功的(整个程序正常运行)、安全的(本地 IP 不泄露)运行 java 程序?谢谢

2437 次点击
所在节点    Linux
9 条回复
albertofwb
2017-12-06 07:50:17 +08:00
polipo 或者 privoxy
结合 ss
命令行下 export http_proxy=http://127.0.0.1:8080
然后启动你的程序
misaka19000
2017-12-06 07:51:49 +08:00
通过进程号来判断,如果某个进程是由 java 进程拉起来的,那么它的父进程号一定是 java 进程
thinkeryu
2017-12-06 09:01:32 +08:00
1. ip netns exec xxx
2. docker
3. 或者特地建个用户运行程序,用 iptables mark+ip rules 指定路由表
melvinno
2017-12-06 09:15:19 +08:00
java 直接设置 socks 代理:java -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=8080 org.example.Main
qceytzn
2017-12-06 18:47:35 +08:00
@melvinno 您好,您给的这个命令里面的“ org.example.Main ”是什么意思?换成某个程序的名字的时候应该怎么写这个名字?
qceytzn
2017-12-06 18:49:53 +08:00
@albertofwb 这样的操作可以保证 IP 不泄露吗?而且我一直以为“ export http_proxy=http://127.0.0.1:8080 “只是在命令行下才起到代理的作用,单独的程序好像不受影响?
qceytzn
2017-12-06 18:55:27 +08:00
@thinkeryu 那个程序是图形界面的,用 docker 太麻烦。iptables 我也是根本不会。” ip netns exec xxx “我过会查一下,这个命令是设置走代理的吗?在哪儿定义代理的数值?就是 127.0.0.1:8080 这样的数值?
thinkeryu
2017-12-06 22:41:07 +08:00
我说的都是 vpn 的方法,你可以用 tun2socks 建一个虚拟网卡,然后除了通向代理主机的 ip 外全走这张网卡,那就没有泄露的风险,当然你的网络层以上的信息里要是包含 ip 信息,那代理也藏不住
qceytzn
2017-12-06 23:31:58 +08:00
@thinkeryu ”除了通向代理主机的 ip 外全走这张网卡“,这种操作都是依靠 iptables 实现的?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/412343

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX