なぜすべての開発者は、基本的なネットワークのトラブルシューティングを実行する方法を学ぶ必要があります


フロントエンドまたはバックエンドで動作するかどうかに関係なく、すべての開発者はネットワークのトラブルシューティングでいくつかの能力を得るべきだと思います.あなたが低レベルシステムプログラミングに向かって重力を見つけるならば、これは特に本当です.
ネットワークとシステムを処理する能力は、偉大な開発者から良い開発者を切り離します.大きな開発者は、コード抽象化だけでなく、TCP/IPモデルを理解しています.

ソースhttps://www.guru99.com/tcp-ip-model.html

いくつかの基本的なネットワークのトラブルシューティングのスキル
ネットワーキングに入っているなら、ツールベルトに加えるべきいくつかの基本的なツールがあります.
  • DNSクエリを実行します.dig or nslookup コマンド)
  • ICMPエコーリクエストを送信し、エンドツーエンドのIP接続をテストします.ping コマンド)
  • 様々なネットワークホップを解析します.traceroute X.X.X.X )
  • TCPソケット接続を確立するかどうかを確認します.telnet X.X.X.X [port] )
  • テストアプリケーション層(curl https://somedomain )
  • パケットキャプチャを実行します.tcpdump -i any ) そして、どんなビットがワイヤーに送られますか

  • どのIPアドレスが接続されているブラウザですか?
    % dig dev.to
    
    ; <<>> DiG 9.10.6 <<>> dev.to
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39029
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 512
    ;; QUESTION SECTION:
    ;dev.to.                IN  A
    
    ;; ANSWER SECTION:
    dev.to.         268 IN  A   151.101.2.217
    dev.to.         268 IN  A   151.101.66.217
    dev.to.         268 IN  A   151.101.130.217
    dev.to.         268 IN  A   151.101.194.217
    

    ウェブサーバはHTTPポートを聞きますか?
    % telnet 151.101.2.217 443
    Trying 151.101.2.217...
    Connected to 151.101.2.217.
    Escape character is '^]'.
    
    上記の各ツールは、接続の問題を分離するのに役立ちます.たとえば、クライアントがHTTP 5 xxエラーを受信した場合、すぐに任意のTCPレベルの問題を除外できます.つまり、使用する必要はありませんtelnet ファイアウォールの問題があるかどうかを確認するには、サーバーは、右側のソケット上で聞いているかどうか:サーバーは、アプリケーションレベルの応答を送信しました.

    概要
    ネットワークスタックの詳細については、すぐに問題点を特定し、分離するのに役立ちます.
  • それは私のクライアント側のアプリケーションですか?
  • 特定のポートをブロックするファイアウォールですか?
  • ネットワークに過渡的な問題はありますか?
  • サーバは稼働していますか.

  • ネットワークエンジニアリングとソフトウェア開発についてもっと話しましょう
    あなたがフロントエンドからバックエンドの開発、またはバックエンド開発から低レベルシステムプログラミングに移行する方法を学ぶことに興味があるならば、さえずりの上で私を殴ってください