Linuxコマンド(ネットワーク)のチートシート
Home > Software > ソフトウエア開発・PC管理のメモ帳 > this page (このページ)
Linuxのネットワーク情報を得たり、設定を変更したりするコマンドを個人的にメモしたものです
- ネットワーク ハードウエア一覧
lshw -C network
- ネットワーク インターフェースの情報表示
ethtool [IF_NAME]
- 帯域の表示
bwm-ng
- ネットワーク転送速度計測
iperf [--server|-s] iperf [[--client|-c] [相手先IPアドレス]] [[--bandwidth|-b] 1G]] [--enhanced|-e]
- ローカルネットワーク内で稼働しているマシンのIPアドレス一覧
nmap -sP [192.168.1.0/24] arp-scan -I [adapter] -l [192.168.1.0/24] netdiscover -r [192.168.1.0/24] arp -a
arp-scanでは -I eth0
スイッチを指定してネットワークアダプタを限定することもできる。arp -a は到達済み(キャッシュされた)マシンのみ表示
- IPアドレス正引き(ドメイン名 -> IPアドレス)
dig www.example.com [@DNS] nslookup www.example.com
- digは、ANSWER SECTIONに結果が表示される。nslookup は将来的に非推奨。digで問い合わせるDNSを指定する例として、Google DNSを使う場合は
@8.8.8.8
を設定する
- IPアドレス逆引き(IPアドレス -> ドメイン名)
dig -x 123.456.789.012 nslookup 123.456.789.012
net-tools系は、ip系に置き換えられているので、最新のLinuxではip系のコマンドを使う
機能 | net-tools | ip |
---|---|---|
アドレス表示 | ifconfig -a | ip addr |
ポート一覧 | netstat | ss |
統計 | netstat -i | ip -s link |
- 開いているポート一覧
netstat
-
-t
: TCPを表示、-u
: UDPを表示 -
-l
: LISTENのみ表示、-a
: LISTENとnon-LISTENの双方を表示 -
-p
: プロセスを表示 -
-n
: ポート番号等を名称ではなく数値で表示
- IPアドレスよりMACアドレスを調べる
arp [-i IF_NAME] [対象マシンのIPアドレス]
- RX/TX統計を表示する
netstat -i
- アドレスを表示
ifconfig
- ルーティングを表示
netstat -r
手元に置く印刷用の「ip コマンド チートシート for Red Hat Enterprise Linux」が便利
- 開いているソケット一覧
ss [-t|-u] [-p] [-a|-l] [-o state established|connected]
-
-t
: TCPを表示、-u
: UDPを表示 -
-l
: LISTENのみ表示、-a
: LISTENとnon-LISTENの双方を表示 -
-p
: プロセスを表示 -
-n
: ポート番号等を名称ではなく数値で表示
- IPアドレスよりMACアドレスを調べる
arping [-I IF_NAME] [対象マシンのIPアドレス]
- 複数の機器に同一のIPアドレスが割り振られている場合、このコマンドで返ってくるMACアドレスが複数種類となる
- ネットワークインターフェースの情報表示
ip link [show dev IF_NAME]
- RX/TX統計を表示する
ip -s link [show dev IF_NAME]
- アドレスを表示
ip addr [show dev IF_NAME]
- ルーティングを表示
ip route [show dev IF_NAME]
- 対象マシンのOS判定
nmap -A [対象マシンのIPアドレス]
- 対象マシンで開いているポート一覧
nmap -sV -F [対象マシンのIPアドレス]
-sV スイッチで詳細表示, -F スイッチで代表的なポート限定
- ローカルマシンの状態表示
smbstatus
-d|--debuglevel=[LEVEL : 1〜10]
: 表示のデバッグレベル設定, -S|--shares
: 共有中ドライブ一覧, -L|--locks
: 共有中ファイル一覧, -p|--processes
: プロセス一覧, -v|--verbose
: 詳細表示
- SMBブラウザ
smbtree
-d|--debuglevel=[LEVEL : 1〜10]
: 表示のデバッグレベル設定, -D|--domains
: ドメインの一覧だけを表示, -S|--servers
: ドメインとサーバーの一覧だけを表示, -U|--user=USERNAME
: 検索時に利用するユーザ名を指定
- NetBIOS名の検索
nmblookup [NETBIOS_NAME|WORKGROUP|WORKGROUP#RESOURCE_TYPE]
-M|--master-browser [- --]
: マスターブラウザ(MSBROWSE)の検索, -f|--flags [NetBIOS名]
: 指定したSMBサーバのフラグを表示, -S|--status [NetBIOS名]
: 指定したSMBサーバのステータスを表示, -A|--lookup-by-ip [IP ADDR]
: NetBIOS名ではなくIPアドレスを指定する。
[NETBIOS_NAME|WORKGROUP#RESOURCE_TYPE]
: 検索対象はNetBIOS名またはワークグループ名とリソースタイプを指定。RESOURCE_TYPE : 00=Workstation 1b=master browser 20=file server。マスターブラウザの検索は nmblookup WORKGROUP#1b で可能。また、サーバ一覧は nmblookup WORKGROUP#00
次の例は、WORKGROUP内のすべてのSMBサーバのIPアドレスを検索し、その中で192.168.1.10の情報を表示する。表示されたリソースタイプで1bがあればマスターブラウザ、20があればファイルサーバの機能がある。
nmblookup WORKGROUP nmblookup -A 192.168.1.10
- 設定ファイル解析
testparm
- 公開鍵認証で接続
ssh -C -i /path/to/id_rsa user@example.com
id_rsaは秘密鍵ファイル。 -C
: 通信を圧縮処理する
- 指定したインターフェースをダンプする
tcpdump -i eth1
- sshでリモートコンピュータに接続しtcpdumを起動、ローカルのWiresharkで表示
ssh -x root@example.com tcpdump -i eth0 -s 0 -U -w - | wireshark -k -i -
- 証明書の確認(https=443,smtp ssl=465,imap ssl=993,pop ssl=995)
openssl s_client -connect example.com:[443|465|993|995] [-showcerts] [-CAfile /etc/ssl/certs/ca-certificates.crt] openssl s_client -connect example.com:443 [-showcerts] | openssl x509 -text
- ローカルの証明書ファイルの内容確認
openssl x509 -text -noout -in ~/path/to/localcert.pem
オプションスイッチの概要:
-a : -r (--recursive) -l (--links) -p (--perms) -t (--times) -g (--group) -o (--owner) -D の同時設定と同じ -v : 詳細表示(転送中のファイル名をリアルタイムに表示) -n : プレビューのみ (--dry-run) -z : 通信を圧縮する --delete : コピー元で削除済みのファイルは、コピー先でも削除する --existing : コピー先に存在しないファイルは対象外(新規にファイル作成しない) --link-dest=[dir] : dirに同一ファイルが存在すれば、コピーせずにハードリンクを作成 --exclude='[pattern]' : patternを除外(複数指定の例 --exclude='.Trash*/' --exclude='*.bak') --modify-window=[second] : second秒以内は同じタイムスタンプとする(FATの場合1とすれば1秒以内は同一時刻と強制認識させられる) --stats : 完了後に転送したファイル集計を表示する
コピー元のディレクトリ末端に / を付けないと、そのディレクトリ自身もコピーされる。
- プレビュー
rsync -avn /path/from/ /path/to/
- バックアップ実行
rsync -av /path/from/ /path/to/
- 内容を圧縮して転送(ネットワーク経由時に威力発揮する場合も)
rsync -avz /path/from/ /path/to/
- リモートサーバよりバックアップ
rsync -av user@example.com:/path/from/ /path/to/
- sshトンネルで接続(公開鍵認証)
rsync -av -e "ssh -i /path/to/id_rsa" user@example.com:/path/from/ /path/to/
- インクリメンタル バックアップ
rsync -av --link-dest=/path/to_previous/ /path/from/ /path/to/
詳細なコマンド利用例は「RedHat Enterprise Linux 7 : nmcli を使用する IP ネットワークの設定」などを参照。複雑な設定を行うときなどは、対話形UIのmntuiやnm-connection-editorを使ったほうが安全
- 表示形式の選択
nmcli [-t|-p|-f フィールド1,フィールド2,...]
- -t:スクリプトで使用するための短い形式(コロン区切り), -p:読みやすい形式, -f:表示フィールドをカスタマイズ
- 概要
device (wlp2s0, ...) +- radio (wifi) <- 機内モード、wifi有効/無効の切り替えはここで (nmcli radio wifi on|off) +- connection (AP_SSID) <- AP_SSIDへの接続切り替えはここで (nmcli connection up|down PROFILE_ID)
- ネットワークデバイスの状態表示
nmcli device status nmcli device
- デバイスとはwifi,ethernet,loなどのこと。かつてはeth0, wlan0などと名称固定に近かったが、最近はeno1, wlp2s0などと接続バスやスロット番号を組み合わせた名前になっている。詳細はUbuntu systemd.net-naming-scheme - Network device naming schemesなどを参照
- 指定したネットワークデバイスの詳細表示
nmcli device show IF_NAME
- IF_NAMEはstatus表示したときのDEVICEフィールド名を指定する。一例としてはeno1やwlp2s0などのデバイス名のこと
- 指定したネットワークデバイスのアクティブ化/非アクティブ化
nmcli device connect|disconnect IF_NAME nmcli device up|down IF_NAME
- up|downは最新のコマンドでは非推奨。connect|disconnectを利用する
- wifi, 携帯データ通信(wwan)の有効/無効
nmcli radio wifi|wwan on|off
- wifi APの一覧
nmcli device wifi list
- wifi APに接続する
nmcli device wifi connect SSID password PASSWORD [ifname IF_NAME]
- wifi APから切断する
nmcli device disconnect IF_NAME
- 接続中のwifi APのパスワードを表示する
nmcli device wifi show-password [ifname IF_NAME]
- 接続状態の表示
nmcli connection show [--active]
- プロファイルを新規作成
nmcli connection add con-name PROFILE_ID [ifname IF_NAME] type wifi SSID [AP_SSID]
/etc/NetworkManager/system-connections/ ディレクトリに[プロファイル名.nmconnection]というキーファイルが作成される
- 作成したプロファイルにWPA-PSKパスワードを追加する
nmcli connection modify PROFILE_ID wifi-sec.key-mgmt wpa-psk nmcli connection modify PROFILE_ID wifi-sec.psk MY_PASSWORD
- プロファイルの一覧表示
nmcli connection show
- 指定した接続プロファイルの詳細情報を表示
nmcli -p [--show-secrets] connection show PROFILE_ID
- PROFILE_IDはshowコマンドで一覧表示したときのNAMEフィールド名を指定する。デフォルト命名の場合は、NAMEフィールドはSSID名に一致している。--show-secretsスイッチをつけると、パスワードを表示する
- 指定した接続プロファイルをアクティブ化/非アクティブ化
nmcli connection up|down PROFILE_ID
- 非アクティブ化すると、(再度アクティブ化するまで)そのプロファイルでは自動接続できなくなる
- 指定した接続プロファイル削除
nmcli connection delete PROFILE_ID
- 利用可能なチャンネル・周波数の一覧
iwlist frequency|channel
- サポートしている認証方式 (WPA, WPA2, TKIP ...)
iwlist IF_NAME auth
- サポートしている機能
iwlist IF_NAME event
- APスキャン
iwlist IF_NAME scan
- wifi接続中は、当該APの情報のみ表示。全てのAPスキャン結果を得るには、APとの接続を切断(nmcli connection down PROFILE_ID)しておく必要がある
- 接続状態の表示
iwconfig [IF_NAME]
- NetworkManagerがネットワーク管理しているため、iw系のコマンドで個別に設定をすることはおそらく無い