- [情報技術] netcat (nc) とechoでローカル通信
- Linuxでは `/dev/tcp/{IP}/{PORT}` で特定のIPアドレスの特定のポートにアクセスすることができます。
- それとnetcat(nc)を用いれば、簡便なローカル通信を行えます。
- まずは端末1で受信側を用意します。例として、localhostの8080ポートで待機します。
$ nc -lk localhost 8080
-
- -l: Listen mode
- -k: 通信用ソケットを維持
- 次に、端末2から受信側に「r u ok?」と送信してみます。
$ echo "r u ok?" > /dev/tcp/localhost/8080
- 端末1に「r u ok?」と表示されれば成功です。受信を終了させるときは、キーボードで「CTRL+c」を押してSIGINTを送ってください。
- 2025-03-04 (Tue) by Canaid SK
- [情報技術] Linuxのファイルやディレクトリの初期パーミッション
- Linuxでファイルやディレクトリを作成する際のパーミッションの設定値を知るには、下記のコマンドを入力します。
$ umask
- 表示されるのはマスク値です。「0002」であれば、ファイルの権限は「664」、ディレクトリの権限は「775」で作成されます。最大値からマスク値を引いた値であることが、ひと目でわかります。
- 一時的に設定を変えるには、
$ umask 022
- でできます。022は任意の値です。
- オプションを知りたければ、
$ help umask
- と入力してください。
- マスク値を常に変えたければ、ユーザディレクトリにあるファイル「.profile」の末尾に
umask 022
- を書き足してください。
- 2025-03-20 (Thu) by Canaid SK
- [情報技術] 実行ファイルを逆アセンブル(deassemble)
- セキュリティコンテストでflagを見つけるときに、逆アセンブルをします。Linuxであれば下記のコマンドで簡単です。
$ objdump -d EXECFILE
- 以下は、"test" という実行ファイルをRust言語で作って、それを逆アセンブルした例です。
$ objdump -d test
test: ファイル形式 elf64-x86-64
セクション .init の逆アセンブル:
0000000000006000 <_init>:
6000: f3 0f 1e fa endbr64
6004: 48 83 ec 08 sub $0x8,%rsp
6008: 48 8b 05 e9 1b 05 00 mov 0x51be9(%rip),%rax # 57bf8 <__gmon_start__@Base>
- 2025-03-25 (Tue) by Canaid SK
- [情報技術] 16進表記をアスキー文字に変換する
- Linuxで16進表記(Hex)をアスキー文字(ASCII Charactors)に変換するには、次のコマンドを使います。
$ echo -n {16進表記} | xxd -p -r
- 例えば、"0x61" や "0a61" に見られる16進表記をアスキー文字に変えてみます。
$ echo -n 61 | xxd -p -r
a
- 2025-03-25 (Tue) by Canaid SK