fcn——free connect your private network from anywhere

来源:互联网 发布:厨师机 知乎 编辑:程序博客网 时间:2024/05/21 09:41

今天在微博上看到@网络冷眼推荐的fcn,
原理如下(还没看懂):
这里写图片描述
于是准备下载来用一下,结果碰到这个问题。

cqq@snort-ids:/home/cqq  $ file fcn-arm                                                                                            [0:58:00]fcn-arm: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=aa877e054106aade4fbe655aed3a8e184270fc6c, strippedcqq@snort-ids:/home/cqq  $ sudo ./fcn-arm                                                                                          [1:06:14]sudo: unable to execute ./fcn-arm: No such file or directory

原因

可执行文件是3位的,而你的机器是64位的,而且你的机器还没有允许32位的可执行文件在你机器上运行的库。
参考:
https://askubuntu.com/a/133460
https://unix.stackexchange.com/questions/13391/getting-not-found-message-when-running-a-32-bit-binary-on-a-64-bit-system/13409#13409

解决方法

sudo dpkg --add-architecture i386sudo apt update && sudo apt install libc6:i386 zlib1g:i386

或者安装更多的库。

sudo apt install libc6:i386 libncurses5:i386 libstdc++6:i386

参考:
https://askubuntu.com/a/454452

——————-更新—————–
然而安装了上面提到的库之后依然不能执行,于是找啊找,发现原来这个文件的解释器是

interpreter /lib/ld-linux.so.3

于是我

root@snort-ids:/home/cqq# mlocate ld-linux.so.3/lib/arm-linux-gnueabihf/ld-linux.so.3

可能我的这个ld-linux.so.3不是它需要的标准路径。后来发现这是个软链接,于是找到这个软链接指向的源文件,将其移动到它能找到的/lib/ld-linux.so.3路径,

root@snort-ids:/lib# cp /lib/arm-linux-gnueabihf/ld-2.24.so /lib/ld-linux.so.3

再去执行它,boom!

[cqq@snort-ids ~ ]$ sudo ./fcn-arm                                                                                                 [2:07:01][sudo] password for cqq:PSK:XXXXXXXXNAT:eth0FCN SERVER:s1.xxxxxxx.comFCN UDP LINKfcn ip [10.10.0.0/24] nat -> eth0

先用同一个局域网的Windows(192.168.10.105)客户端连接成功之后,

kali_arm服务器端

[cqq@snort-ids ~ ]$ udp                                                                                                            [2:23:28]COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAMEdhclient   293 root    6u  IPv4   5610      0t0  UDP *:68fcn-arm  12827 root    5u  IPv4 195963      0t0  UDP 192.168.10.141:42716->xxx.xxx.xxx.xxx:5000fcn-arm  12827 root    6u  IPv4 195340      0t0  UDP 192.168.10.141:1516->192.168.10.105:10127[cqq@snort-ids ~ ]$ which udp                                                                                                      [2:23:30]udp: aliased to sudo lsof -i UDP -nP

Windows客户端

这里写图片描述
这里写图片描述

kali_amd64服务器端

➜  ~ w                                                                                                              [3:23:15] 03:29:15 up 1 day,  1:37,  2 users,  load average: 0.00, 0.02, 0.00USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHATroot     tty2     :0               02May17 10days  5:39   0.09s /usr/lib/gnome-settings-daemon/gsd-printerroot     pts/4    10.10.0.2        03:28   11.00s  0.41s  0.19s nmap 192.168.170.0/24➜  ~ udp|grep fcn                                                                                                   [3:29:15]fcn      55621     root    5u  IPv4 207353      0t0  UDP 192.168.170.135:40143->122.114.91.3:5000 fcn      55621     root    6u  IPv4 210103      0t0  UDP 192.168.170.135:30771->192.168.10.105:28553 

Windows客户端——之二

使用putty通过ssh到10.10.0.1
登录成功之后查看ifconfig
这里写图片描述
然后用nmap扫描一波内网
这里写图片描述
而不管是否连接上该fcn服务器,ping这个服务器的内网IP(192.168.170.135)都是ping不通的。因为该机器是通过NAT方式通过192.168.170.2这个网关访问外网的。
这里写图片描述
虽然可以tracert到192.168.170.1(通过10.10.0.1,即192.168.170.135。但是这里只是逻辑链路,对用户是透明的,其实数据包还是要经过路由器192.168.10.1?)
这里写图片描述
断开之后就不行了。
这里写图片描述

0 0