hana_shinのLinux技術ブログ

Linuxの技術情報を掲載しています。特にネットワークをメインに掲載していきます。

AlmaLinux 8

ipsetコマンドの使い方

1 ipsetコマンドとは? 2 検証環境 3 オプション一覧 4 セットの作成、削除方法 4.1 セットを作成する方法(nまたはcreate) 4.2 セットを削除する方法(xまたはdel) 4.3 セットを一括削除する方法(xまたはdel) 5 セットの名前を変更する方法(eまたはrename) 6 …

rpmコマンドの使い方(query-options編)

1 はじめに 2 検証環境 3 オプション一覧 4 変更履歴を表示する方法(--changelog) 5 パッケージに含まれる設定ファイルを表示する方法(-c) 6 パッケージに含まれるドキュメントファイルを表示する方法(--docfiles ) 7 パッケージの情報を表示する方法(-i) 8 …

tcpdumpのフックポイント、Netfilterのチェイン、Qdiscのカーネル内の場所

1 はじめに 2 検証環境 3 鳥瞰図 4 関数の概要 4.1 受信処理 4.2 送信処理 4.3 転送処理 Z 参考情報 1 はじめに tcpdumpのフックポイント、Netfilterのチェイン、Qdiscの場所についてまとめました。これらの位置を理解しておくと、ネットワークのトラブルシ…

Linux Malware Detectの使い方

1 LMD(Linux Malware Detect)とは 2 検証環境 3 インストール方法 4 オプション一覧 5 設定ファイルの編集 6 LMDのバージョンをアップデートする方法(-d) 7 署名をアップデートする方法(-u) 8 指定したパスをスキャンする方法(-a) 9 ログを確認する方法(-l) …

bashスクリプトのデバッグ方法

1 はじめに 2 検証環境 3 スクリプトにデバッグオプションを設定する方法 3.1 スクリプトが実行する処理を表示する方法(-x) 3.2 エラーが発生したらスクリプトを終了する方法(set -e/set +e) 3.2.1 スクリプト全体に適用する方法(set -e) 3.2.2 スクリプトの…

bashdbの使い方

1 bashdbとは? 2 検証環境 3 インストール方法 4 事前準備 5 bashdbのコマンド一覧 6 ソースコードを表示する方法(list) 7 スクリプトをステップ実行する方法(step) 8 スクリプトをステップ実行する方法(next) 9 スクリプトを最初から実行する方法(run) 10 …

Tclの使い方

1 Tcl(Tool Command Language)とは? 2 検証環境 3 インストール方法 4 putsコマンドの使い方 5 getsコマンドの使い方 6 setコマンドの使い方 7 制御コマンドの使い方 7.1 if,else,elseifの使い方 7.1.1 ifコマンドの使い方 7.1.2 elseコマンドの使い方 7.1.3…

mergecapコマンドの使い方

1 mergcapコマンドとは? 2 検証環境 3 インストール方法 4 オプション一覧 5 事前準備 5.1 ICMPパケットの採取 5.2 DNSパケットの採取 5.3 ARPパケットの採取 5.4 pcapファイルの中身確認 6 pcapファイルの結合順序の確認 6.1 時刻の新しい順序(3.cap,2cap,1…

xzコマンドの使い方

1 xzコマンドとは? 2 検証環境 3 インストール方法 4 オプション一覧 5 ファイルの圧縮、解凍をする方法 5.1 圧縮、解凍する方法 5.2 複数のファイルを一度で圧縮する方法 5.3 複数ファイルを1つのファイルに圧縮する方法 6 圧縮前/解凍前のファイルを残す…

ディスククォータの使い方

1 ディスククォータとは? 2 検証環境 3 インストール方法 4 コマンド概要 5 事前準備 5.1 ファイルシステムの作成 5.2 クォータファイルの作成 5.3 クォータの設定 5.4 ユーザの作成 6 クォータの動作確認 6.1 user1の場合 6.2 user2の場合 7 その他 Z 参考…

bash変数展開の使い方

1 bashの変数展開とは? 2 検証環境 3 変数の長さを求める方法 4 オフセットを指定して変数から文字列を取り出す方法 5 文字列を削除する方法 5.1 変数の先頭から文字列を削除する方法 5.2 変数の末尾から文字列を削除する方法 6 文字列を置換する方法 Z 参考…

IPsec環境構築手順

1 はじめに 2 検証環境 2.1 クライアント、サーバの版数 2.2 ルータの版数 3 事前準備 3.1 ルーティング機能の有効化 3.2 ルーティングテーブルの設定 3.2.1 クライアント 3.2.2 ルータ1 3.2.3 ルータ2 3.2.4 サーバ 3.3 firewalldの停止(暫定対処) 3.4 疎…

Xサーバの動かし方

1 はじめに 2 検証環境 3 インストール方法 3.1 Xサーバのインストール方法 3.2 Xクライアンのインストール方法 4 McAfee(ウィルス対策ソフト)の設定変更 5 Xサーバの起動方法 6 Xクライアントの起動方法 7 実行結果 Z 参考情報 1 はじめに xeyesを実行して…

crashコマンドの使い方

1 crashコマンドとは? 2 検証環境 3 インストール方法 4 crashコマンド起動方法 5 コマンド一覧、ヘルプを表示する方法(help) 5.1 コマンド一覧を表示する方法 5.2 コマンドのヘルプを表示する方法 6 logコマンドの使い方 6.1 引数無しで実行する方法 6.2 時…

virshコマンドの使い方(snapshot編)

1 virsh snapshotコマンドとは? 2 検証環境 3 オプション一覧 4 スナップショットを作成する方法(snapshot-create-as) 5 スナップショットを削除する方法(snapshot-delete) 6 スナップショットを切り替える方法(snapshot-revert) 6.1 事前準備 6.2 スナップ…

grubbyコマンドの使い方

1 grubbyコマンドとは? 2 検証環境 3 オプション一覧 4 事前準備 5 エントリを表示する方法 5.1 全エントリを表示する方法(--info=ALL) 5.2 特定のエントリを表示する方法(--info=パス名) 6 デフォルトカーネルの情報を表示する方法 6.1 インデックス番号を…

SystemTapの使い方(User-Space Probing)

1 User-Space Probingとは? 2 検証環境 3 debuginfoパッケージのインストール 4 ユーザプログラムにプローブを設定する方法 4.1 テストプログラムの作成 4.2 関数の入り口にプローブを設定する方法 4.3 関数から復帰する場所にプローブを設定する方法 4.4 フ…

SystemTapの使い方

1 SystemTapとは? 2 検証環境 3 事前準備 4 プローブの設定方法 4.1 カーネルにプローブを設定する方法 4.1.1 カーネル関数の入り口にプローブを設定する方法 4.1.2 カーネル関数から復帰する場所にプローブを設定する方法 4.1.3 ファイルの指定した場所にプ…

ltraceコマンドの使い方

1 ltraceコマンドとは? 2 検証環境 3 インストール方法 4 オプション一覧 5 テストプログラム(以降TP)の作成 6 ライブラリ関数の実行順序を表示する方法 7 時刻情報を表示する方法 7.1 関数の実行時刻(秒単位)の表示方法(-t) 7.2 関数の実行時刻(マイク…

ソケットオプションの使い方(SO_REUSEPORT)

1 はじめに 1.1 ncコマンドの場合(SO_REUSEPORTを使用する) 1.2 iperf3コマンドの場合(SO_REUSEPORTを使用しない) 1.3 その他 2 検証環境 2.1 ネットワーク構成 2.2 版数 3 事前準備 4 動作確認 Z 参考情報 1 はじめに SO_REUSEPORTは、同じ名前(ローカ…

ssコマンドのRecv-Q,Send-Qの意味について(LISTEN状態のとき)

1 はじめに 2 検証環境 2.1 ネットワーク構成 2.2 版数 3 事前準備 4 テストプログラム(以降TP)の作成 4.1 サーバ側 4.2 クライアント側 5 Send-Qの確認 5.1 TPの引数に1を指定した場合 5.2 TPの引数に2を指定した場合 5.3 TPの引数に256を指定した場合 6 …

ソケットオプションの使い方(SO_REUSEADDR編)

1 SO_REUSEADDRソケットオプションとは? 2 検証環境 2.1 ネットワーク構成 2.2 版数 3 事前準備 4 テストプログラム(以降TP)の作成 4.1 サーバ側 4.2 クライアント側 4.3 シーケンス 5 検証結果 5.1 SO_REUSEADDRを指定しない場合 5.2 SO_REUSEADDRを指定…

ソケットオプションの使い方(SO_SNDBUF編)

1 はじめに 2 ソースコードの説明 3 検証環境 3.1 ネットワーク構成 3.2 版数 3.3 カーネルパラメータのデフォルト値 4 事前準備 5 テストプログラム(以降TP)の作成 6 検証結果 Z 参考情報 1 はじめに SO_SNDBUF,SO_RCVBUFは、ソケットの送受信バッファの…

ソケットオプションの使い方(SO_SNDTIMEO編)

1 SO_SNDTIMEOとは? 2 検証環境 2.1 ネットワーク構成 2.2 版数 3 テストプログラム(以降TP)の作成 4 検証結果 4.1 TPの引数に1を指定した場合 4.2 TPの引数に2を指定した場合 4.3 TPの引数に0を指定した場合 Z 参考情報 1 SO_SNDTIMEOとは? SO_SNDTIMEOは…

ソケットオプションの使い方(SO_RCVTIMEO編)

1 SO_RCVTIMEOとは? 2 検証環境 2.1 ネットワーク構成 2.2 版数 3 テストプログラム(以降TP)の作成 4 動作確認 4.1 TPの引数に1を指定した場合 4.2 TPの引数に2を指定した場合 4.3 TPの引数に0を指定した場合 Z 参考情報 1 SO_RCVTIMEOとは? SO_RCVTIMEOは…

ssコマンドのRecv-Q,Send-Qの意味について(ESTABLISHED状態のとき)

1 はじめに 2 検証環境 2.1 ネットワーク構成 2.2 版数 3 事前準備 4 Recv-Qの確認 5 Send-Qの確認 Z 参考情報 1 はじめに ssコマンドを実行すると、Recv-QとSend-Q という項目が表示されます。本記事では、Recv-QとSend-Qの意味について説明します。なお、s…

カーネルパラメータの使い方(tcp_tw_reuse編)

1 tcp_tw_reuseとは? 2 検証環境 2.1 ネットワーク構成 2.2 版数 3 事前準備 4 tcp_tw_reuseが2の場合(デフォルト時)の動作確認 5 tcp_tw_reuseが1の場合の動作確認 Z 参考情報 1 tcp_tw_reuseとは? tcp_tw_reuseは、TCPコネクション確立時に使用していた…

ソケットオプションの使い方(SO_KEEPALIVE編)

1 TCP Keep-Aliveとは? 1.1 概要 1.2 ソケットオプション 1.3 シーケンス 2 検証環境 2.1 ネットワーク構成 2.2 版数 3 テストプログラム 3.1 サーバ側TP 3.2 クライアント側TP 3.3 コンパイル 4 動作確認 4.1 相手から応答がない場合 4.2 相手から応答があ…

httpstatコマンドの使い方

1 httpstatコマンドとは? 2 検証環境 3 インストール方法 4 オプション一覧 5 基本的な使い方 6 転送スピードを表示する方法(HTTPSTAT_SHOW_SPEED=true) Z 参考情報 1 httpstatコマンドとは? Webサイトに接続するとき、そのWebサイトを表示するまでの時間を…

カーネルパラメータの使い方(tcp_fin_timeout編)

1 tcp_fin_timeoutとは? 1.1 正常シーケンス(パッシブクローズ側がclose()を実行する場合) 1.2 異常シーケンス(パッシブクローズ側がclose()を実行できない場合) 2 検証環境 2.1 ネットワーク構成 2.2 版数 3 デフォルトの動作確認 4 カーネルパラメータ…