コンテンツにスキップ

Scheck Funcs サポート一覧

  • バージョン:1.0.7-7-g251eead
  • リリース日:2023-04-06 11:17:57
  • 対応OS:windows/amd64,windows/386,linux/arm,linux/arm64,linux/386,linux/amd64

紹介

以前の形式では、Lua 仮想マシンの初期化時にすべての関数を登録していましたが、Lua スクリプトでこれらのメソッドが使用されないため、仮想マシンに冗長性が生じていました。

関数が増えるにつれて、このような冗長性の問題はますます深刻化するため、サブパッケージ化とモジュール化処理が行われました。

これらのモジュールの使用方法

Go の関数はパッケージ形式で複数のモジュールに分割されています。Lua スクリプトでモジュールを使用する場合、事前にパッケージをインポートする必要があります(trigger を除く)。

Lua コード:

    -- fileモジュールを使用
    local file = require("file")
    local info = file.file_info("./example.exe")
    print(info['size'])
    -- do something ...

    -- cacheモジュールを使用
    local cache = require("cache")
    cache.set_cache({"123","abc"})
    print(cache.get_cache("123")) -- "abc"

    -- trigger は参照宣言が不要
    local current = "123"
    trigger({Content=current})

モジュールと関数一覧

注意:OS が異なるとメソッドセットも異なります。異なるシステム間での呼び出しはできません。all_os はすべての OS に共通するメソッドです。

file

file_all_os

ls

ls(dir[, rescue])

指定されたディレクトリ内のファイルを一覧表示します。

パラメータ:

名前 説明 必須
dir string ディレクトリのパス はい
rescue boolean 再帰的にディレクトリを走査するかどうか、デフォルトは false いいえ

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目の説明は次のとおりです
名前 説明
path string ファイルのフルパス
filename string ファイル名
size number ファイルサイズ(バイト)
block_size number ファイルシステムのブロックサイズ
mode string パーミッションビット
uid number 所有ユーザー ID
gid number 所有グループ ID
device number デバイス ID(オプション)
inode number ファイルシステムの inode 番号
hard_links number ハードリンク数
ctime number 最終ステータス変更時刻
mtime number 最終更新時刻
atime number 最終アクセス時刻

file_exist

file_exist(filepath)

ファイルが存在するか確認します。

パラメータ:

名前 説明 必須
filepath string 絶対ファイルパス はい

戻り値:

説明
boolean 存在する場合は true、それ以外の場合は false

例:

file = '/your/file/path'
exists = file_exist(file)
print(exists)

file_info

file_info(filepath)

ファイルの属性とメタデータを読み取ります。

パラメータ:

名前 説明 必須
filepath string 絶対ファイルパス はい

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table ファイルの詳細情報を含む。以下のとおりです
名前 説明
size number ファイルサイズ(バイト)
block_size number ファイルシステムのブロックサイズ
mode string パーミッション文字列
perm string パーミッションビット
uid number 所有ユーザー ID
gid number 所有グループ ID
device number デバイス ID(オプション)
inode number ファイルシステムの inode 番号
hard_links number ハードリンク数
ctime number 最終ステータス変更時刻
mtime number 最終更新時刻
atime number 最終アクセス時刻

例:

file = '/your/file/path'
info = file_info(file)

read_file

read_file(filepath)

ファイルの内容を読み取ります。

パラメータ:

名前 説明 必須
filepath string 絶対ファイルパス はい

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
string ファイルの内容

例:

file='/your/file/path'
content = read_file(file)

file_hash

file_hash(filepath)

ファイル内容の MD5 チェックサムを計算します。

パラメータ:

名前 説明 必須
filepath string 絶対ファイルパス はい

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
string ファイル内容の MD5

例:

file='/your/file/path'
content = file_hash(file)

sc_path_watch

sc_path_watch(dir,chan)

ファイルまたはディレクトリが変更されたかどうかを監視します。

パラメータ:

名前 説明 必須
dir string ディレクトリまたはファイル名 はい
chan lua.LChannel Lua チャネル はい

戻り値:

戻り値はなく、決して停止しません。 ディレクトリまたはファイルが変更されると、lua.LChannel を通じて通知されます。

lua.LChannel:

説明
table(配列) 各項目の説明は次のとおりです
名前 説明
path string ファイルのフルパス
status int ファイルのステータス

ファイルステータス:

ステータス 名前 説明
1 CREATE ディレクトリ内にファイルが作成された
2 WRITE ファイルが書き込まれた
4 REMOVE ファイルが削除された
8 RENAME ファイル名が変更された
16 CHMOD chmod が変更された

grep

grep(option, pattern, file)

grep コマンドを実行します。

パラメータ:

名前 説明 必須
option string grep のオプション いいえ
pattern string grep のパターン はい
file string grep で検索するファイル はい

戻り値:

説明
string grep の結果。見つからない場合は空
string 失敗した場合のエラー情報

system

system_all_os

hostname

hostname()

現在のホスト名を取得します。

戻り値:

取得に失敗した場合はエラーが発生します。

説明
string ホスト名

uptime

uptime()

最後の起動からの経過時間。

戻り値:

説明
number 合計稼働時間(秒)

time_zone

time_zone()

システムの現在のタイムゾーン。

戻り値:

説明
string システムの現在のタイムゾーン

mounts

mounts()

システムにマウントされているデバイスとファイルシステム(プロセス固有ではありません)。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目はマウントされたデバイスに対応し、説明は次のとおりです
名前 説明
device string マウントされたデバイス
path string マウントされたデバイスのパス
type string マウントされたデバイスのタイプ
flags string マウントされたデバイスのフラグ

uname

uname()

オペレーティングシステムの名前とバージョン。

戻り値:

失敗した場合はエラーが発生します。

説明
table 以下のとおりです
名前 説明
platform string OS プラットフォームまたは ID(例:centos)
platform_version string OS プラットフォームのバージョン(例:7.7.1908)
family string OS プラットフォームファミリー(例:rhel)
os string OS 名(例:Linux)
arch string OS アーキテクチャ(例:x86_64)
kernel_version string OS カーネルバージョン

sc_sleep

sc_sleep(time)

スレッドを指定された秒数だけスリープさせます。

パラメータ:

名前 説明 必須
time int スリープ時間(秒) はい

戻り値:

失敗した場合はエラーが発生します。

sc_ticker

sc_ticker(channel,time)

定期的に Lua.LChannel にシグナルを送信します。

パラメータ:

名前 説明 必須
chan lua.LChannel Lua チャネル はい
time int 時間(秒) はい

戻り値:

戻り値はありません。 Lua.LString を Lua.LChannel に送信します。

system_linux

kernel_info

kernel_info()

ロードされた Linux カーネルモジュールとロード検索パス内のモジュール。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table 以下の詳細情報
名前 説明
version string カーネルバージョン
arguments string カーネル引数
path string カーネルパス
device string カーネルデバイス識別子

kernel_modules

kernel_modules()

ロードされた Linux カーネルモジュールとロード検索パス内のモジュール。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目はモジュールに対応し、説明は次のとおりです
名前 説明
name string モジュール名
size string モジュールコンテンツのサイズ
used_by string モジュールの逆依存関係
status string カーネルモジュールのステータス
address string カーネルモジュールのアドレス

ulimit_info

ulimit_info()

システムリソース使用量の制限。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table 以下のとおりです
名前 説明
type string 制限されるシステムリソース
soft_limit string 現在の制限値
hard_limit string 最大制限値

processes

processes()

ホストシステム上で実行中のすべてのプロセス。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目はプロセスに対応し、説明は次のとおりです
名前 説明
pid number プロセス(またはスレッド)ID
name string プロセスパスまたは省略形の argv[0]
path string 実行バイナリへのパス
cmdline string 完全な argv
state string プロセス状態
cwd string プロセスのカレントワーキングディレクトリ
root string プロセスの仮想ルートディレクトリ
uid number 符号なしユーザー ID
gid number 符号なしグループ ID
euid number 符号なし実効ユーザー ID
egid number 符号なし実効グループ ID
suid number 符号なし保存ユーザー ID
sgid number 符号なし保存グループ ID
on_disk number プロセスパスが存在する場合 yes=1、no=0、unknown=-1
resident_size number プロセスが使用するプライベートメモリのバイト数
total_size number 合計仮想メモリサイズ
system_time number カーネル空間で費やされた CPU 時間(ミリ秒)
user_time number ユーザー空間で費やされた CPU 時間(ミリ秒)
disk_bytes_read number ディスクから読み取られたバイト数
disk_bytes_written number ディスクに書き込まれたバイト数
start_time number プロセス開始時刻(エポックからの秒数、エラーの場合は -1)
parent number プロセス親 PID
pgroup number プロセスグループ
threads number プロセスが使用するスレッド数
nice number プロセスの nice 値(-20 から 20、デフォルトは 0)

process_open_files

process_open_files()

各プロセスのファイル記述子。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目はオープンファイルを持つプロセスに対応し、説明は次のとおりです
名前 説明
pid number プロセス(またはスレッド)ID
fd number プロセス固有のファイル記述子番号
path string 記述子のファイルシステムパス

users

users()

ローカルユーザーアカウント(Windows にローカルでログオンしたドメインアカウントを含む)。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目の説明は次のとおりです
名前 説明
username string ユーザー名
uid number ユーザー ID
gid number グループ ID(符号なし)
directory string ユーザーのホームディレクトリ
shell string ユーザーに設定されたデフォルトシェル

logged_in_users

logged_in_users()

システムでアクティブなシェルを持つユーザー。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目の説明は次のとおりです
名前 説明
pid number プロセス(またはスレッド)ID
username string ユーザー名
type number ログインタイプ。utmp.h を参照
tty number デバイス名
host string リモートホスト名
time string エントリが作成された時刻(Unix タイムスタンプ、秒)

last

last()

システムのログインとログアウト。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目の説明は次のとおりです
名前 説明
pid number プロセス(またはスレッド)ID
username string ユーザー名
type number ログインタイプ。utmp.h を参照
tty number デバイス名
host string リモートホスト名
time string エントリが作成された時刻(Unix タイムスタンプ、秒)

lastb

lastb()

失敗したログイン。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目の説明は次のとおりです
名前 説明
pid number プロセス(またはスレッド)ID
username string ユーザー名
type number ログインタイプ。utmp.h を参照
tty number デバイス名
host string リモートホスト名
time string エントリが作成された時刻(Unix タイムスタンプ、秒)

shadow

shadow()

ローカルシステムユーザーの暗号化パスワードと関連情報。注意:通常、/etc/shadow にアクセスするにはスーパーユーザー権限が必要です。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目の説明は次のとおりです
名前 説明
username string ユーザー名
password_status string パスワードステータス
last_change number 最後のパスワード変更日(UNIX エポックからの日数)
expire number アカウントが無効になるまでの UNIX エポックからの日数

shell_history

shell_history()

ユーザーごとの .*_history データの改行区切り(コマンド)テーブル。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目の説明は次のとおりです
名前 説明
uid number シェル履歴の所有者
history_file string このユーザーの .*_history へのパス
command string 未解析の日付/行/コマンド履歴行
time number エントリのタイムスタンプ。存在しない場合があり、デフォルト値は 0 です。

crontab

crontab()

システムおよびユーザーの cron/tab から行解析された値。

戻り値:

失敗した場合はエラーが発生します。

説明
table(配列) 各項目の説明は次のとおりです
名前 説明
minute string ジョブの正確な分
hour string ジョブの時間
day_of_month string ジョブの日
month string ジョブの月
day_of_week string ジョブの曜日
command string 生のコマンド文字列
path string 解析されたファイル

sysctl

sysctl([key])

オペレーティングシステムの sysctl 情報。

パラメータ:

名前 説明 必須
key string 取得するキーを指定します。指定しない場合はすべてのキーと値を返します。 いいえ

戻り値:

失敗した場合はエラーが発生します。

説明
table Linux コマンド 'sysctl -a' の実行結果と同じ

rpm_list

rpm_list()

現在のすべての RPM パッケージを一覧表示します。

戻り値:

失敗した場合はエラーが発生します。

説明
string Linux コマンド 'rpm -qa' の実行結果と同じ

rpm_query

rpm_query(pkg)

パッケージがインストールされているか確認します。

パラメータ:

名前 説明 必須
package string パッケージ名(例:yum) いいえ

戻り値:

説明
string パッケージの完全名。見つからない場合は空

system_windows

net

net_all_os

interface_addresses

interface_addresses()

ネットワークインターフェースと関連するメタデータ。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目はネットワークインターフェースに対応し、説明は次のとおりです
名前 説明
interface string インターフェース名
ip4 string IPv4 アドレス
ip6 string IPv6 アドレス
mtu number MTU
mac string MAC アドレス

net_linux

iptables

iptables()

Linux IP パケットフィルタリングおよび NAT ツール。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目はフィルタリングルールに対応し、説明は次のとおりです
名前 説明
filter_name string パケットマッチングフィルタテーブル名

process_open_sockets

process_open_sockets()

システム上でネットワークソケットを開いているプロセス。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目はオープンネットワークを持つプロセスに対応し、説明は次のとおりです
名前 説明
pid number プロセス(またはスレッド)ID
process_name string プロセス名
cmdline string 完全な argv
fd number ソケットファイル記述子番号
socket number ソケットハンドルまたは inode 番号
family string ネットワークプロトコル(AF_INET、AF_INET6、AF_UNIX)
protocol string トランスポートプロトコル(tcp、udp...)
local_address string ソケットのローカルアドレス
remote_address string ソケットのリモートアドレス
local_port number ソケットのローカルポート
remote_port number ソケットのリモートポート
path string UNIX ソケット(family=AF_UNIX)の場合、ドメインパス
net_namespace number ネットワーク名前空間の inode 番号
state string TCP ソケット状態

listening_ports

listening_ports()

リッスン(バインド)しているネットワークソケット/ポートを持つプロセス。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table(配列) 各項目の説明は次のとおりです
名前 説明
pid number プロセス(またはスレッド)ID
process_name string プロセス名
cmdline string 完全な argv
socket number ソケットハンドルまたは inode 番号
fd number ソケットファイル記述子番号
address string バインド用の特定のアドレス
port number トランスポート層ポート
family string ネットワークプロトコル(AF_INET、AF_INET6、AF_UNIX)
protocol string トランスポートプロトコル(tcp、udp...)
path string UNIX ソケット(family=AF_UNIX)の場合、ドメインパス

net_windows

cache

cache_all_os

get_cache

get_cache(key)

キャッシュキーの値を取得します。

パラメータ:

名前 説明 必須
key string キャッシュキーの名前 はい

戻り値:

説明
string/boolean/number キャッシュ値

set_cache

set_cache(key, value)

キャッシュのキーと値のペアを設定します。

パラメータ:

名前 説明 必須
key string キャッシュキーの名前 はい
value string/boolean/number キーによるキャッシュ値 はい

戻り値:

説明
string 失敗した場合のエラー詳細

clean_cache

clean_cache()

このルールのキャッシュをクリアします。

パラメータ:

戻り値:


del_cache

del_cache(key)

キーを指定してキャッシュを削除します。

パラメータ:

名前 説明 必須
key string キャッシュキーの名前 はい

戻り値: 戻り値なし


del_cache_all

del_cache()

すべてのキャッシュを削除します。

パラメータ:

戻り値:


get_global_cache

get_global_cache(key)

グローバルキャッシュキーの値を取得します。

パラメータ:

名前 説明 必須
key string キャッシュキーの名前 はい

戻り値:

説明
string/boolean/number キャッシュ値

set_global_cache

set_global_cache(key, value)

グローバルキャッシュにキーと値を設定します。

パラメータ:

名前 説明 必須
key string キャッシュキーの名前 はい
value string/boolean/number キーによるキャッシュ値 はい

戻り値:

説明
string 失敗した場合のエラー詳細

json

json_all_os

json_encode

json_encode(object)

Lua テーブルを JSON 文字列にエンコードします。

パラメータ:

名前 説明 必須
object table Lua テーブル はい

戻り値:

エンコードに失敗した場合はエラーが発生します。

説明
string JSON 文字列

json_decode

json_decode(str)

JSON 文字列を Lua テーブルにデコードします。

パラメータ:

名前 説明 必須
str string JSON 文字列 はい

戻り値:

デコードに失敗した場合はエラーが発生します。

説明
table Lua テーブル

mysql

mysql_all_os

mysql_weak_psw

mysql_weak_psw(host, port [,username])

MySQL の脆弱なパスワードを確認します。

パラメータ:

名前 説明 必須
host string MySQL の URL はい
port string MySQL ポート はい
username string MySQL ユーザー名、デフォルトは 'root' いいえ

戻り値:

失敗した場合はエラーが発生します。

説明
boolean true は脆弱なパスワードが見つかったことを意味します
string 見つかった脆弱なパスワード

mysql_ports_list

mysql_ports_list()

ホストの MySQL ポートを一覧表示します。

戻り値:

読み取りに失敗した場合はエラーが発生します。

説明
table() 各項目の説明は次のとおりです
名前 説明
pid number プロセス(またはスレッド)ID
cmdline string 完全な argv
port number トランスポート層ポート
protocolversion string MySQL プロトコルバージョン
statusflags string ソケットファイル記述子番号
authpluginname string 認証プラグイン名
serverversion string MySQL サーバーバージョン
state string プロセス状態

出力例:

port    3307
protocolversion 10
statusflags 2
authpluginname  mysql_native_password
serverversion   5.7.34
state   LISTEN
cmdline /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 3307 -container-ip 172.18.0.4 -container-port 3306
pid 7062

コンテナ関連(container)

sc_docker_exist

sc_docker_exist()

ホスト上で Docker が実行されているか確認します。

戻り値:

失敗した場合はエラーが発生します。

説明
boolean true はホスト上に Docker サービスが存在することを意味します

sc_docker_containers

sc_docker_containers()

MySQL の脆弱なパスワードを確認します。

他の Docker 関数の前に、最初に sc_docker_exist を実行する必要があります。

戻り値:

失敗した場合はエラーが発生します。

説明
[]string コンテナ名のリスト

sc_docker_runlike

sc_docker_runlike(containerName)

MySQL の脆弱なパスワードを確認します。

パラメータ:

名前 説明 必須
containerName string イメージ ID はい

戻り値:

失敗した場合はエラーが発生します。

説明
string コンテナの実行コマンド

その他

trigger

trigger([template_vals])

イベントをトリガーし、line protocol でターゲットに送信します。

パラメータ:

名前 説明 必須
template_vals table マニフェストでテンプレートを使用している場合、このテーブルの値がテンプレート変数を置き換えます いいえ

戻り値:

失敗した場合はエラーが発生します。


フィードバック

このページは役に立ちましたか?