ネットワークコマンド
ネットワーク接続 、データ転送 、リモート管理
curl
ネットワークリクエスト ツール
常用 パラメータ:
-O: ファイルをダウンロード-o: ダウンロードして名前 を変更-I: ヘッダーのみを表示-H: ヘッダーを設定-v: 詳細 情報 を表示-L: リダイレクトに従 う-X: リクエストメソッドを指定-d: POST データ
# 基本リクエスト
curl https://reqbin.com/echo/get/json -H "Accept: application/json" -H "Authorization: Bearer {token}"
# POST リクエスト
curl -X POST https://testapi.net/prod/user/remove -H "Accept: application/json" -H "Authorization: Bearer ..."
# Body 付きリクエスト
curl -X POST -d '{"sql": "SELECT * FROM customers","db": "demo_data"}' -H "Content-Type: application/json" http://localhost:3000/sql-query
# ファイルをダウンロード
curl -O http://www.some-site.com/some-file.txtdig
DNS 照会 ツール。nslookup より強力
# 基本照会
dig example.com
# 特定のレコードタイプを照会
dig example.com A
dig example.com MX
dig example.com TXT
dig example.com NS
# 簡潔な出力
dig +short example.com
# DNS 解決プロセスを追跡
dig +trace example.com
# DNS サーバーを指定
dig @8.8.8.8 example.com
# 逆引き照会
dig -x 8.8.8.8ip
ネットワーク設定 ツール
# ネットワークインターフェースを確認
ip link
# ゲートウェイを追加
ip route add 192.168.2.0/24 via 192.168.1.1
# IP アドレスを確認
ip addr
# IP アドレスを設定
ip addr add 192.168.1.10/24 dev eth0
# ルーティングテーブルを確認
ip route
# ルートを削除
sudo ip route del 192.168.0.0/24 via 192.168.1.1mosh
モバイルシェル。切断 自動 再接続 、低 レイテンシをサポート
# 基本接続
mosh user@host
# SSH ポートを指定
mosh --ssh="ssh -p 2222" user@host
# mosh サーバーポートを指定
mosh -p 60001 user@host
# tmux と組み合わせて使用
mosh user@host -- tmux attach特徴 :
- ネットワーク切替 (WiFi ↔ 4G)でも切断 しない
- 高 レイテンシ環境 でもリアルタイム応答
- 自動 再接続
mtr
ネットワーク診断 ツール。traceroute と ping を統合
# 基本診断
mtr example.com
# レポートモード(非インタラクティブ)
mtr -r example.com
# レポート回数を指定
mtr -r -c 10 example.com
# IP を表示(ホスト名を解決しない)
mtr -n example.com
# TCP モード
mtr --tcp example.com
# ポートを指定
mtr --tcp --port 443 example.comnetstat
ネットワーク接続 確認
# 使用中のすべてのポートを一覧表示
sudo netstat -tulpnnslookup
DNS 照会
nslookup [domain]openvpn
VPN クライアント。暗号化 された VPN 接続 を確立
# 設定ファイルで接続
sudo openvpn --config client.ovpn
# バックグラウンドで実行
sudo openvpn --config client.ovpn --daemon
# 認証ファイルを指定
sudo openvpn --config client.ovpn --auth-user-pass auth.txt
# 接続状態を確認
sudo systemctl status openvpn@client常用 設定 :
.ovpn: OpenVPN 設定 ファイルauth.txt: 認証 ファイル(1行目 ユーザー名 、2行目 パスワード)
ss
ソケット統計 ツール。netstat の現代 的 な代替
# すべての接続を一覧表示
ss
# リスニング中のポートを一覧表示
ss -l
# TCP 接続を表示
ss -t
# UDP 接続を表示
ss -u
# プログラム名を表示
ss -p
# 常用コンボ:すべてのリスニング TCP ポートとプログラムを一覧表示
ss -tlnp
# 特定のポートを表示
ss -tlnp | grep :80
# 接続統計を表示
ss -s
# ソケット詳細情報を表示
ss -essh
リモートログイン
ssh <username>@<server> -p <port># 鍵をテスト
ssh -T git@github.com
# 古いホスト鍵を削除
ssh-keygen -R bitbucket.org
# 鍵でログイン
ssh -i [key] -v [username]@[ip]
ssh -i [Key.pem] ec2-user@[IP]ssh-keygen
SSH 鍵 ペアを生成
ssh-keygen -t ed25519 -C "XXXXXXXXXXX@gmail.com"
ssh-keygen -t rsa -C "XXXXXXXXXXX@gmail.com"wget
ファイルをダウンロード
wget http://www.some-site.com/some-file.txt -O some-file.txt