linux共通ネットワークコマンド

4122 ワード

1.tcpリンクステータスの表示(機能類似)
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'  
netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}'
netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}'
netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c  
netstat -nat | grep "172.16.32.165:22"|awk '{print $5}'|awk -F: '{print $1}'|sort |uniq -c| sort -nr
ss state all| awk '{++S[$1]} END {for (a in S) {printf "%11-s %s
", a,S[a]}}'

2.検索要求数上位20個のIP
netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A[i],i}' |sort -rn|head -n20

3.tcpdumpで80ポートのアクセス量が最も高い人を嗅ぐ
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20

4.80ポート接続数の表示
netstat -nat|grep -i "80"|wc -l

5.接続されたIPを接続数順に並べ替える
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

6.より多くのtime_wait接続を検索
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

7.SYN接続の検索
netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

8.ポート列プロセスによる
netstat -ntlp | grep 80 | awk '{print $7}' | cut -d/ -f1

9.php-cgiプロセスアクティビティの数を表示
netstat -anp | grep php-cgi | grep ^tcp | wc -l

10.php-cgiの総消費メモリ数の表示
total=0; for i in `ps -C php-cgi -o rss=`; do total=$(($total+$i)); done; echo "PHP-CGI Memory usage: $total kb"

11.最も一般的な10個のコマンドを取得する
history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n10

12.一般的なネットワークコマンドの説明
  • ping:ICMP応答/返信メッセージにより、リモートホストのエンドツーエンド接続性(RTT遅延、ジッタ、パケット損失)を確認します.システムの状態と接続性を確認するのに役立ちます.
  • hping:ネットワークスキャンと検出ツールは、ICMP/TCP/UDP pingパケットを生成することができる.高度なポートスキャン、ファイアウォールテスト、手動MTUパス検出、フラグメントテストによく使用されます.
  • traceroute:TTLによって定義されたICMP/UDP/TCP検出パケットによって、ローカルホストからリモートターゲットホストへの第3層転送経路が発見される.ネットワーク接続性とルーティングの問題をデバッグするために使用します.
  • mtr:tracerouteの変種で、実行時の統計データに基づいて各ホップのパケット損失/ジッタを整理することができます.ルーティングパスの遅延を評価するのに役立ちます.
  • netcat/socat:TCP/UDPプロトコルバイトストリームを読み書きできます.
  • dig:DNSデバッグツールは、順方向クエリー、逆方向クエリー、ドメイン名サーバの検索、CNAME、MX、その他のDNSレコードのチェックを生成します.エラー検出時に特定のDNSサーバを問い合わせることができます.
  • nslookup:別のDNSチェック/デバッグツール.すべてのDNSクエリーとレコードをサポートします.特定のDNSサーバに問い合わせることができます.
  • dnsyo:DNSテストツールで、世界1500の異なるネットワーク内の多数のオープンプロセッサに対してDNSクエリーを実行することによってDNS伝送をテストします.
  • lsof:プロセスが開いているファイル情報(通常のファイル、パイプ、ソケットなど)が表示されます.
  • iftop:ncursesベースのコマンドラインインタフェースアプリケーションで、各ネットワーク物理インタフェース上のネットワーク接続と帯域幅占有をリアルタイムで監視できます.占有帯域幅を記録するためのアプリケーション、ユーザー、目的地、ポートなどがいいです.
  • netstat:ステータスおよび統計情報を表示できるネットワーク統計ツールです.現在のネットワーク接続(TCP/UDPポート、IPアドレス)、ルーティングテーブル、TX/RX traffic、およびネットワークプロトコルです.ネットワーク関連の診断およびパフォーマンスデバッグに使用するのは良いです.
  • ip:iproute 2パッケージの一部である多機能コマンドラインネットワークツール.ルーティングテーブル、ネットワークデバイスのステータス、およびIPトンネルの設定を確認および変更できます.ルーティングテーブルの表示、静的ルーティングの追加/削除、ネットワークインタフェースの構成、ルーティングの問題のデバッグに役立ちます.
  • ifup/ifdown:特定のネットワークインタフェースをアクティブ化およびオフにします.ネットワークサービス全体を再起動するためによく使用されます.
  • autossh:SSH接続を確立し、断線後に自動的に再接続できるプログラム.長時間保持する厳しいエンタープライズネットワークを通り抜けるSSHトンネルを作成するのに役立ちます.
  • iperf:カスタムTCP/UDPデータストリームを送信することによって、ホスト間の双方向最大スループットを測定するネットワークテストツール.
  • elinks/lynx:コマンドラインベースのサーバ環境で使用されるテキストベースのWebブラウザです.