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

最近ATSを導入した。 その際にネットワークコマンドを色々と触ったので忘れない様にメモをする。 やりたい事から対応するコマンド・オプションが判断するメモを残しておく。 ipコマンドが推奨されているので内容によってはipコマンドで実現した方がいい。

TCP パケットを確認したい

-w でpcap savefile として保存できる。

1
2
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がなくなってしまうので以下みたいにした。

1
2
3
# こんなかんじで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)として証明書を表示して確認する。

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

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

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

1
2
3
4
5
6
7
8
$ 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)

1
2
3
4
$ 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)
comments powered by Disqus