Linuxのネットワーク

2024-01-19 (金) 13:26:52

Linuxのネットワーク

Telnet

telnet

  • telnet -l <user-name> <host-name>
  • HTTP接続
    • GETメソッド
      telnet <host-name> 80
      GET / HTTP/1.1
      User-Agent: Telnet
      Host: <host-name>
      <CRLF>
  • POSTメソッド
    telnet <host-name> 80
    POST /<path> HTTP/1.1
    User-Agent: Telnet
    Host: <host-name>
    Content-Type: application/x-www-form-urlencoded
    Content-Length: <length-of-content>
    <CRLF>
    <field1>=<value1>&<field2>=<value2>
  • FTP接続
    telnet <host-name> 21
    USER <username>
    PASS <password>
    PASV ※パッシブモード
    XPWD ※現在のディレクトリを表示
    QUIT ※終了

SSH

ssh

  • SSH」参照

ssh-keygen

  • SSH認証鍵の生成・管理 ※「OpenSSH」参照

ssh-copy-id

  • SSH認証鍵のサーバへのコピー ※「SSH」参照

ファイル操作

ftp

  • ftp <host-name>

sftp

scp

  • SCP」参照

wget

  • ファイルをダウンロード
  • wget <url-file-path>
  • wget -O <save-to-path> <url-file-path>

状態確認

ip

  • デバイスの設定(IPアドレス含む)を表示
    ip a
    ip addr
    ip addr show
    ip address
    ip address show
  • デバイスのリンク状態を表示
    ip l
    ip link
    ip link show
  • ルーティングテープルの登録情報を表示
    ip route show
  • Network Namespaceの操作
    ip netns add <namespace-name> ※作成
    ip netns list ※一覧表示
    ip netns exec <sub-command> ※コマンド実行

hostname

  • ホスト名を表示
    hostname
  • IPアドレスを表示
    hostname -I
    hostname -i

domainname

  • DNSのドメイン名を表示
    domainname -d
  • FQDNを表示
    domainname -f
  • IPアドレスを表示
    domainname -i

dnsdomainname

  • DNSのドメイン名を表示
    dnsdomainname

hostnamectl

  • ホスト名と関連するOS情報を表示
    hostnamectl
    hostnamectl status
  • ホスト名を変更する
    hostnamectl set-hostname <host-name>

接続確認

ping

  • ping <host-name>
  • ping -i <interval-second> <host-name>
  • ping -c <count> <host-name>

arp

  • ARPテーブル(IPアドレスとMACアドレスの対応表)の内容を操作する
  • net-tools(RHEL7以降非推奨)
    arp -a ※表示(ドメイン名を表示)
    arp -an ※表示(名前解決しない)
    arp -d <ip-address> ※削除

netstat

  • net-tools(RHEL7以降非推奨)
    netstat -rn ※ルーティングテーブルを表示
    netstat -aL ※リッスンポートを表示

ss

  • ソケットの状態を表示
    ss -lnt ※TCP
    ss -lnu ※UDP

tracepath

  • tracepath <host-name> ※パケット経路を表示

traceroute

  • traceroute <host-name> ※ネットワーク経路を表示
    traceroute -n <host-name> ※IPアドレスのみ表示する(逆引きしたホスト名を表示ない)
    traceroute -I -n <host-name> ※UDPではなくICMP Echo Requestを使う。これにより*にならなくなることがある

curl

パケットキャプチャ

tcpdump

  • tcpdump i <network-if> -n port <port-no>
    tcpdump i <network-if> -n port <port-no> -A ※ペイロードをASCIIで表示
    tcpdump i <network-if> -n port <port-no> -w <file-name> ※ファイルに出力

nmap

ドメイン

dig

  • dig」参照

whois

nslookup

  • ホスト名からIPアドレスを求める
    • nslookup <hostname>

host

  • host <host-name> ※IPアドレスを表示
  • host -a <host-name> ※DNSの登録情報を表示

その他

nmtui

  • CentOS7以降

nmcli

nmcli connection show
nmcli c
nmcli c s

nmcli device show
nmcli d
nmcli d s

nc ※netcat

  • nc(netcat
    • nc <hostname> <port-no> ※HTTPリクエスト
  • リッスンモード
    • nc -l <hostname> <port-no> ※サーバ起動
    • nc <hostname> <port-no> ※クライアント接続
  • リバースシェル
    • nc -lvp <port-no> ※サーバ起動
    • cat file.txt | nc <server-ip-address> <port-no>

NICの無効化/有効化

ifup

  • NICの有効化

ifdown

  • NICの無効化

ツール

net-tools ※廃止予定(CentOS6迄)

  • ifconfig
  • iwconfig
    iwconfig <インターフェイス名> ※無線LANインタフェースの参照
  • route
    • ルーティングテーブルを確認する
  • arp
  • netstat

iproute2

  • ip
  • ss

パッケージ

  • iproute2
  • iputils-ping
  • bind9-dnsutils
  • netcat-openbsd

関連用語