日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android机顶盒网络地址端口连通性测试

發布時間:2023/12/31 Android 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android机顶盒网络地址端口连通性测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android機頂盒網絡地址端口連通性測試

文章目錄

    • Android機頂盒網絡地址端口連通性測試
      • 1、直接telnet
      • 2、busybox telnet
      • 3、測試工具

一般我們使用如下三種方式進行測試,前一種不滿足則執行下一種:

  • 1、外網可以訪問時可以使用telnet直接進行ip及端口測試;
  • 2、外網無法訪問只有機頂盒可以訪問時可以使用busybox telnet進行測試;
  • 3、當外網無法訪問且機頂盒不具備busybox telnet時可以使用我們開發的C工具進行測試,目前已經交叉編譯適配機頂盒;

1、直接telnet

telnet host port

如圖所示:

2、busybox telnet

busybox telnet ip port


似乎是不支持域名的:

3、測試工具

在網上找了一個,簡單的C寫的socket通信,使用select進行監聽:
https://blog.csdn.net/pipalcn/article/details/83940054

#include <stdio.h> #include <strings.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> #include <sys/time.h> #include <sys/types.h> #include <sys/socket.h> //#include <arpa/inet.h> #include <netinet/in.h> #include <errno.h> #include <netdb.h>#define TIMEOUT 5/* FileName:testConn.c functions:test host:port which specified whether is alive. call:testConn hostname port return values: 0 :connected. 1:arguments err. 2:port number illegal. 3:gethostname err. 4:network setup err. 5:Connect server timeout. */int main(int argc, char **argv) {if (argc != 3){printf("error:Usage: %s host port.\nExample: %s 192.168.0.1 21\n", argv[0], argv[0]);exit(1);}int portnumber = 0;if ((portnumber = atoi(argv[2])) < 0){fprintf(stderr, "error:port number[%s] is illegal.\n", argv[0]);exit(2);}struct hostent *host;if ((host = gethostbyname(argv[1])) == NULL){fprintf(stderr, "error:Gethostname error\n");exit(3);}int sockfd, flags, res;struct sockaddr_in servaddr;fd_set fdr, fdw;struct timeval timeout;sockfd = socket(AF_INET, SOCK_STREAM, 0);if (sockfd < 0){perror("error:Netwrok error...\n");return 4;}/* set socket fd noblock */if ((flags = fcntl(sockfd, F_GETFL, 0)) < 0){perror("error:Netwrok error...\n");close(sockfd);return 4;}if (fcntl(sockfd, F_SETFL, flags | O_NONBLOCK) < 0){perror("error:Network error...\n");close(sockfd);return 4;}bzero(&servaddr, sizeof(servaddr));servaddr.sin_family = AF_INET;//inet_pton(AF_INET, argv[1], &servaddr.sin_addr);servaddr.sin_addr = *((struct in_addr *)host->h_addr);servaddr.sin_port = htons(portnumber);if (connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) != 0){if (errno != EINPROGRESS){ // EINPROGRESSperror("error:Network err....\n");close(sockfd);return 4;}}else{printf("Connected\n");return 0;}FD_ZERO(&fdr);FD_ZERO(&fdw);FD_SET(sockfd, &fdr);FD_SET(sockfd, &fdw);timeout.tv_sec = TIMEOUT;timeout.tv_usec = 0;res = select(sockfd + 1, &fdr, &fdw, NULL, &timeout);if (res < 0){perror("error:Network error...\n");close(sockfd);return 4;}if (res == 0){printf("error:Connect server timeout\n");close(sockfd);return 5;}if (res == 1){if (FD_ISSET(sockfd, &fdw)){printf("Connected\n");close(sockfd);return 0;}}/* Not necessary */if (res == 2){printf("error:Connect server timeout\n");close(sockfd);return 5;}printf("error:Connect server timeout\n");close(sockfd);return 5; }

之后我們將其交叉編譯后放到Android機頂盒中運行即可:

總結

以上是生活随笔為你收集整理的Android机顶盒网络地址端口连通性测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。