鱒身(Masu_mi)のブログ

知った事をメモする場所。

最近使ったネットワークコマンド

最近、ATSを導入した。その際にネットワークコマンドを色々と触ったので忘れない様にメモをする。 やりたい事から対応するコマンド・オプションが判断できれば良い。

使ったコマンドは以下。ip コマンドが推奨されているので本当はそっちの方が良い場合もありそう。

TCP パケットを確認したい

-wpcap savefile として保存できる。

tcpdump -Z${USER} -i eth1 -A port 80 and host
tcpdump -Z${USER} -i eth1 -A port 80 and host -w apache.80.pcap

検証のためにSSH トンネルを掘ってアクセスする

sshでwell-known port のトンネルを掘る。 ssh-agent を使っているとsudoの際にSSH_AUTH_SOCK がなくなってしまうので以下みたいにした。

# こんなかんじでssh-agent 使っている
ssh-add $HOME/.ssh/id_rsa
sudo SSH_AUTH_SOCK=$SSH_AUTH_SOCK ssh -Lg 80:${target_host}:80 ${USER}@${step_host}

対象ドメインの証明書情報を確認する

以下みたいな感じでクライアント(s_client)として証明書を表示して確認する。

echo ''| openssl s_client -connect ${target_domain_name}:443 -showcerts | grep "/[C1]"

開いているポートの確認する

ポートの状態を確認する。

$ sudo lsof -Pi
...
$ # ポート番号を指定する
$ sudo lsof -Pi:80
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
apache2 1861     root    3u  IPv4   8384      0t0  TCP *:80 (LISTEN)
apache2 1864 www-data    3u  IPv4   8384      0t0  TCP *:80 (LISTEN)
apache2 1865 www-data    3u  IPv4   8384      0t0  TCP *:80 (LISTEN)

ネットワークのコネクション情報を確認する

TCP限定でネットワークコネクションを表示するには-t を用いる。(UDPは-u)

$ netstat -ntop
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name Timer
tcp        0      0 10.0.2.15:22            10.0.2.2:53046          ESTABLISHED 1172/sshd: vagrant  keepalive (2678.84/0/0)