最近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)
|