はじめに
このプロジェクトでは、特定のポートのネットワーク通信状態を監視するZshスクリプトを作成する方法を学びます。このスクリプトは、3秒間の期間内に指定されたポートで送信および受信されたデータパケットの数をカウントします。
👀 プレビュー
## 例
$ sh /home/labex/project/netcheck.sh 22
パケット: 2
🎯 タスク
このプロジェクトでは、以下を学びます。
- 入力パラメータとしてポート番号を受け取るZshスクリプトを作成する方法
tcpdump
コマンドを使用して、指定されたポートのパケットをキャプチャしてカウントする方法timeout
コマンドを使用して、スクリプトの実行に3秒間のタイムアウトを設定する方法- ユーザーに親切な形式でパケットのカウントを出力する方法
🏆 成果
このプロジェクトを完了すると、以下のことができるようになります。
- 特定のポートのネットワーク通信状態を監視できるスクリプトを開発する
- Zshスクリプトで
tcpdump
やtimeout
のような一般的なLinuxコマンドをどのように使用するかを理解する - 実際の問題を解決するためのシェルスクリプトの作成とテストの経験を得る
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"])
linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"])
linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"])
linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"])
linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display")
linux/BasicFileOperationsGroup -.-> linux/wc("Text Counting")
linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing")
linux/RemoteAccessandNetworkingGroup -.-> linux/ssh("Secure Connecting")
linux/RemoteAccessandNetworkingGroup -.-> linux/netstat("Network Monitoring")
subgraph Lab Skills
linux/echo -.-> lab-301481{{"ネットワークデータパケット統計"}}
linux/wc -.-> lab-301481{{"ネットワークデータパケット統計"}}
linux/cd -.-> lab-301481{{"ネットワークデータパケット統計"}}
linux/ssh -.-> lab-301481{{"ネットワークデータパケット統計"}}
linux/netstat -.-> lab-301481{{"ネットワークデータパケット統計"}}
end