Linux
疎通を確認する
ICMP(インターネットプロトコルと同じネットワーク層のプロトコル)で疎通を確認したい。
# ping www.mydomain.com
通信経路を確認したい。
UDP(デフォルト) # traceroute www.mydomain.com # traceroute --udp www.mydomain.com ICMP # traceroute --icmp www.mydomain.com TCP # traceroute --tcp www.mydomain.com
HTTP(アプリケーション層)で疎通を確認したい。
# curl http://www.mydomain.com
HTTPで疎通を確認したい。(代替サーバーの動作検証をする場合など)ホスト名を正引きして得られるサーバーとは違うサーバーに接続したいが、接続先では名前ベースバーチャルホストを使っている。
# curl --header "Host: www.mydomain.com" http://alternate.mydomain.com # curl -H "Host: www.mydomain.com" http://alternate.mydomain.com
ネットワークインターフェイスを操作する
ネットワークインターフェイスの状態を表示します。
# ifconfig
ネットワークインターフェイスを起動します。
# ifconfig eth0 up
ネットワークインターフェイスを停止します。
# ifconfig eth0 down
ネットワークインターフェイスの状態を確認します。仮想IPアドレスはifconfigでは表示されないため、こちらのコマンドで確認します。
# ip addr show eth0
通信内容を確認する
HTTPヘッダを表示したい。
# curl --head http://www.mydomain.com # curl -I http://www.mydomain.com HTTP/1.1 500 Internal Server Error Server: nginx/1.0.5 Date: Tue, 04 Oct 2011 04:36:03 GMT Content-Type: text/html; charset=utf-8 Connection: keep-alive Status: 500 Internal Server Error Content-Length: 948 Cache-Control: no-cache
HTTPヘッダをファイルに出力したい。
# curl --dump-header ~/header.dump http://www.mydomain.com # curl -D ~/header.dump http://www.mydomain.com
サーバーとのやり取りを確認したい。
# curl --verbose http://www.mydomain.com # curl -v http://www.mydomain.com
TCPのダンプを確認したい。
# tcpdump -i eth0 -n vrrp
FreeBSD
listenしているプロセスとポート番号の一覧を表示します。
# sockstat -4l USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS www httpd 91040 3 tcp4 *:80 *:* zabbix zabbix_age 90484 4 tcp4 192.168.10.19:10050 *:* zabbix zabbix_ser 80498 4 tcp4 192.168.10.19:10051 *:* nobody memcached 1032 17 tcp4 *:11211 *:* nobody memcached 1032 19 udp4 *:11211 *:* mysql mysqld 82881 10 tcp4 *:3306 *:*