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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

马上:网络故障排查的思路和方法

發(fā)布時(shí)間:2023/12/16 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 马上:网络故障排查的思路和方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

馬上:網(wǎng)絡(luò)故障排查的思路和方法

安卓日常開發(fā)工作中,總會遇上些網(wǎng)絡(luò)問題需要排查清楚。比如我遇上了,線上app網(wǎng)絡(luò)狀態(tài)是良好的,但是上傳日志失敗、接口404但公司網(wǎng)絡(luò)能請求成功200、直播推流失敗、耗流量大、MQTT連接異常…

基本網(wǎng)絡(luò)知識

  • 了解網(wǎng)絡(luò)通信的基礎(chǔ)設(shè)備和其對應(yīng)的OSI層次

    • 最基本的網(wǎng)絡(luò)設(shè)備交換機(jī)、三層交換機(jī)、路由器、防火墻。
    • OSI七層模型中的數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層等
    • TCP/IP五層和四層網(wǎng)絡(luò)模型
  • 網(wǎng)絡(luò)的基本架構(gòu)

    • 網(wǎng)絡(luò)組網(wǎng)的經(jīng)典模型,接入層-匯聚層-核心層-出口層 (中小型企業(yè)網(wǎng)絡(luò))
    • 如我了解的學(xué)校接入網(wǎng)一般為大二層和三層組網(wǎng)兩種模式

網(wǎng)絡(luò)排錯(cuò)基本思路

  • 檢查物理鏈路是否有問題 (就是網(wǎng)線,網(wǎng)口,網(wǎng)卡,WIFI,路由器,這個(gè)很好排查,對比一下正常的)
  • 檢查本機(jī)IP地址、路由、DNS、網(wǎng)關(guān)、子網(wǎng)掩碼、DHCP或靜態(tài)IP設(shè)置是否有問題
  • 檢查ping公網(wǎng)ip的通暢情況 如(114.114.114.114)
  • 檢查DNS的通暢情況,可以直接ping網(wǎng)站,但是有些網(wǎng)站限制ping

需要注意:關(guān)注數(shù)據(jù)走向,必須先檢測網(wǎng)絡(luò)物理鏈路,設(shè)備的網(wǎng)卡,網(wǎng)線(檢查水晶頭、網(wǎng)線的連接、網(wǎng)線的質(zhì)量),設(shè)備連接的交換機(jī)和路由器

基本網(wǎng)絡(luò)命令

網(wǎng)絡(luò)命令有很多,這里只是提及Android7.12下的常用命令,如跟蹤路由命令window的tracert和mac的traceroute,arp等命令不細(xì)說

ping 命令,太常見了!top1

ping 網(wǎng)關(guān)地址或局域網(wǎng)已知IP,是否有響應(yīng)判斷設(shè)備是否聯(lián)通,否可以使用arp命令 ping 公網(wǎng)IP 如114.114.114.114,能通,能基本說明網(wǎng)絡(luò)是沒有問題的(考慮防火墻)

ifconfig命令用于顯示或設(shè)置網(wǎng)絡(luò)設(shè)備。windows的是ipconfig

arp 命令 是Address Resolution Protocol,地址解析協(xié)議,是通過解析網(wǎng)絡(luò)層地址來找尋數(shù)據(jù)鏈路層地址的一個(gè)網(wǎng)絡(luò)協(xié)議包中極其重要的網(wǎng)絡(luò)傳輸協(xié)議。

busybox arp -a //android 需要安裝busybox或使用termux,windows,mac,linux都自帶

nslookup 查詢DNS的記錄,查看域名解析是否正常. 如果ping網(wǎng)站地址不通的話,就需要進(jìn)行dns檢查。

#安卓上沒有 nslookup baidu.com 或nslookup交互方式 nslookup baidu.com 114.114.114.114 指定DNS服務(wù)器

關(guān)于DNS記錄的type,A 地址記錄(直接查詢默認(rèn)類型IPV4),AAAA 地址記錄(IPV6),CNAME等

dig 也是查詢DNS的流行神器

#安卓需要使用termux dig @8.8.8.8 baidu.com

netstat命令用于顯示各種網(wǎng)絡(luò)相關(guān)信息

netstatDisplay networking information. -r Display routing table. -a Display all sockets (Default: Connected). -l Display listening server sockets. -t Display TCP sockets. -u Display UDP sockets. -w Display Raw sockets. -x Display Unix sockets. -e Display other/more information. -n Don't resolve names. -W Wide Display. -p Display PID/Program name for sockets.

iftop — 網(wǎng)絡(luò)帶寬監(jiān)控

iftopDisplayRx Tx name MTU bytes packets errs drpd bytes packets errs drpd lo 65536 131644 249 0 0 131644 249 0 0 eth0 1500 8016 107 0 0 124234 136 0 0

線上案例分析

某地區(qū)的安卓發(fā)起直播失敗

Android7.12系統(tǒng), app 通過推流sdk發(fā)起直播,觀看識別==推流失敗,回?fù)迫罩緎dk確實(shí)是推流時(shí)鏈接失敗。

由于sdk只能提示鏈接失敗,需要進(jìn)一步排查

  • 先排查設(shè)備的網(wǎng)絡(luò)是否聯(lián)通公網(wǎng),是否能ping通推流地址,這里使用的是阿里云rtmp,默認(rèn)端口1935,windows telnet命令.或者在線網(wǎng)站檢測端口是否開放。防火墻沒問題!進(jìn)行下一步

  • 同一網(wǎng)絡(luò)下直播推流工具對比:

    安卓:sdk推流失敗

    安卓:FFmpeg推流失敗,有具體的錯(cuò)誤信息:RTMP handshake response 失敗

    PC:FFmpeg 推流直播成功;

    PC:sdk 推流直播成功;

  • 工具問題不大,同一網(wǎng)絡(luò)下直播推流運(yùn)營商對比:

    安卓:sdk&FFmpeg推流阿里云失敗

    安卓:sdk&FFmpeg推流騰訊云成功

    PC:sdk&FFmpeg推流阿里云成功;

    PC:sdk&FFmpeg推流騰訊云成功

  • 結(jié)論:TMD太奇怪了,讓平臺同事配置騰訊云的流地址來用

    某地方訪問業(yè)務(wù)接口404, 公司網(wǎng)絡(luò)能訪問

    由于公司服務(wù)器禁止ping, 所以排查方式,先直接喊用戶打開瀏覽器,輸入域名官網(wǎng)web地址,結(jié)果也是404 , 排查了DNS設(shè)置無問題。找運(yùn)維看,結(jié)果說服務(wù)器已經(jīng)返回200,TMD。

    由于沒電腦,app運(yùn)行智能終端上,那定位一下問題所在,解決問題吧。前面確定了設(shè)備的DNS,8.8.8.8,常用DNS服務(wù)器,訪問其它網(wǎng)站是歐凱的。這里我猜測是DNS解析出了問題。我通過 IP/IPv6查詢,服務(wù)器地址查詢 得到IP地址,通過IP地址打開網(wǎng)站,發(fā)現(xiàn)是歐凱的,那就是域名DNS問題交給運(yùn)維去解決。在解決問題的過程中我去了解JAVA、安卓的DNS底層實(shí)現(xiàn)。這里不具體展開,查看我的另一博文記錄。Android DNS解析過程

    耗流量大

    要用抓包工具來分析,Wireshark工具,charles 工具,安卓上的抓包精靈,VNET 等工具。

    結(jié)果分析, 平臺業(yè)務(wù)數(shù)據(jù)有缺陷,img地址的文件是視頻文件,導(dǎo)致圖片框架加載失敗,不斷重試。

    MQTT異常

    Wireshark工具,抓包發(fā)現(xiàn), 握手(CONNACK) ,服務(wù)器并沒有返回CONNACK消息作為響應(yīng),導(dǎo)致超時(shí)斷連。

    參考網(wǎng)站

    ipv6test

    test-ipv6

    一文看懂網(wǎng)絡(luò)七層協(xié)議/OSI七層模型

    cloudflare&DNS

    diggui

    windows & linux dig download

    ping & net

    MQTT心跳

    mqtt

    總結(jié)

    以上是生活随笔為你收集整理的马上:网络故障排查的思路和方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。