花生壳内网穿透
硬件準(zhǔn)備: 樹莓派3b
軟件準(zhǔn)備:crt,花生殼
一、到花生殼官網(wǎng)下載樹莓派版本到電腦,得到phddns_5.1.0_rapi_aarch64.deb文件,再通過FileZilla上傳到樹莓派
二、當(dāng)然可以直接在樹莓派中下載通過命令(因?yàn)槲覙漭捎玫氖?b,所以直接用dpkg -i phddns_3.0.4_systemd.deb),命令:wget http://download.oray.com/peanuthull/embed/phddns_3.0.4_systemd.deb
?三、下載或上傳完便可以安裝
?1.直接到用.deb文件的目錄下,輸入指令:sudo dpkg -i phddns_3.0.4_systemd.deb (注意要 sudo)
?2.如上圖,1為SN碼(我這里沒顯示,繼續(xù)看下操作),2為默認(rèn)密碼,以及下方的遠(yuǎn)程管理地址http://b.oray.com。
?3.SN碼沒顯示的,可以直接輸入??sudo phddns status
?四、點(diǎn)擊遠(yuǎn)程管理地址 http://b.oray.com,下方選擇SN登錄。
?1.輸入剛剛樹莓派上獲取的SN碼與密碼登錄,首次登錄,需先激活。提供掃碼激活和密碼激活兩種方式,可靈活選擇。?①掃碼激活:需使用花生殼管理APP或微信進(jìn)行掃碼激活; ②密碼激活:輸入已注冊(cè)的貝銳帳號(hào)密碼激活。
?
?
?2.激活成功后,進(jìn)入花生殼管理平臺(tái)。若綁定SN碼的帳號(hào)只有動(dòng)態(tài)域名解析功能,需使用內(nèi)網(wǎng)穿透功能時(shí),可點(diǎn)擊“免費(fèi)開通”,或直接將帳號(hào)升級(jí)到帶內(nèi)網(wǎng)穿透功能的服務(wù)版本。
五、添加內(nèi)網(wǎng)穿透映射時(shí),點(diǎn)擊頁面上的“增加映射”按鈕。
?注意:
內(nèi)網(wǎng)主機(jī)填寫我們樹莓派的ip地址(可以在樹莓派內(nèi)通過ifconfig命令查看自己的樹莓派ip)
內(nèi)網(wǎng)端口號(hào)和上面訪問地址的端口號(hào)寫一樣!!
下圖顯示,便完成樹莓派的內(nèi)網(wǎng)穿透(點(diǎn)擊左下方診斷便可以看到域名ip地址的指向)
?六、樹莓派的服務(wù)器代碼
#include<stdio.h> #include <unistd.h> #include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#include<stdlib.h>#include<string.h>int main() {int s_fd;int n_read;char readBuf[128];struct sockaddr_in s_addr;struct sockaddr_in c_addr;char *msg = "I get your connect";memset(&s_addr,0,sizeof(struct sockaddr_in));memset(&c_addr,0,sizeof(struct sockaddr_in));//1.sockets_fd=socket(AF_INET,SOCK_STREAM,0);if(s_fd == -1){perror("socket");exit(-1);}s_addr.sin_family= AF_INET;s_addr.sin_port = htons(8989); //端口號(hào)要和在花生殼內(nèi)網(wǎng)主機(jī)設(shè)置的端口一致inet_aton("192.168****",&s_addr.sin_addr);//填寫的是內(nèi)網(wǎng)主機(jī)的ip//2.bindbind(s_fd,(struct sockaddr *)&s_addr,sizeof(struct sockaddr_in));//3.listenlisten(s_fd,10);int clen =sizeof(struct sockaddr_in);int c_fd = accept(s_fd,(struct sockaddr *)&c_addr,&clen);//4.accepetif(c_fd == -1){perror("accept");}printf("get connect: %s \n",inet_ntoa(c_addr.sin_addr));//要把網(wǎng)絡(luò)格式的IP地址轉(zhuǎn)化為字符串形式//readn_read = read(c_fd,readBuf,128);if(n_read != -1){perror("read");}else{printf("get message:%d,%s\n",n_read,readBuf);}//writedwrite(c_fd,msg,strlen(msg));printf("connect\n");return 0;}可以先通過電腦網(wǎng)絡(luò)助手調(diào)試一下(網(wǎng)絡(luò)助手的客戶端ip要填寫域名IP地址指向ip)
七、結(jié)果:
?成功連上,樹莓派內(nèi)網(wǎng)穿透到此完成
總結(jié)
 
                            
                        - 上一篇: Mybatis openSessi
- 下一篇: mybatis使用statement.g
