#author("2021-12-22T11:06:33+09:00","anz","anz")
#author("2022-02-01T16:12:36+09:00","anz","anz")
#norelated
----
*目次 [#q4566e10]
#contents
----
*dhcpdでのログローテートでの注意事項 [#b11ef2f0]
ISC製のdhcpd(多分ほぼ全部のLinuxに入っている?)でのログローテートの際、"kill -HUP"が効かないため、サービスでrestartする必要性がある。
**例 [#u87a040e]
-''NG例(/etc/logrotate.d/dhcpd)''
 postrotate
  /bin/kill -HUP `cat /var/run/dhcpd.pid 2> /dev/null` 2> /dev/null || true
-''OK例(/etc/logrotate.d/dhcpd)''
 postrotate
  /etc/init.d/dhcpd restart 2> /dev/null

*Linuxでのルータ設定 [#l0db26cf]
RedHat系では普通にセットアップ後、/etc/sysctl.conf にてnet.ipv4.ip_forward == 1 に変更する。~
~
 ※備考
 フォワーディングとは、
 他のネットワーク宛に届いたパケットを、
 もう1枚のネットワークカードを使って別のネットワークに転送することです。
 インターネットではデータ-をバケツリレー方式で転送しますが、
 このリレーを行うのがフォワーディング
~

*grep [#aa1ef636]
**grep -C -5 0857 [#p23ebd56]
0857を含む前後5行を表示
**grep -A -5 0857 [#sf95552e]
0857を含む後5行を表示
**grep -B -5 0857 [#s869d4e9]
0857を含む前5行を表示
**grep -o [#nd3a5e5a]
上記オプションはリファレンスにのってない。"-o"オプションはマッチした箇所だけ出力される。
*tar.gz,gz圧縮、解凍 [#k866455c]
**tar.gz解凍 [#qe55f94b]
 tar -xzvf package.tar.gz
**gz解凍方法 [#uff59ed0]
 gunzip filename
**tar圧縮方法(zをつけるとgzip) [#ha1e411d]
 tar czvf hogehoge-1.1.tar.gz hogehoge/
~
**tarで特定ディレクトリを除く圧縮 [#ce2744fd]
-exclude をつける
 tar zcvf /root/hogehoge-1.1.tar.gz /var/www/html/ --exclude /var/www/html/testtest
~

*chageコマンド [#f209e6cf]
 chage op date User
 chage -E 2008/04/17 i_kaori
**アカウント有効期間の表示(検索用:有効期間、有効期限) [#b3f89fad]
 chage -l アカウント

*crontabの書き方 [#s61572d6]
 crontab [ -u ユーザ名 ] { -l | -r | -e }
時間の設定は以下。
-記入例及び意味~
|記入例|分|時|日|月|曜日|コマンド|動作|
|0 3 * * 2-6 /work/bin/check.sh|||||||火曜~土曜の3時0分に「/work/bin/check.sh」が自動実行されるcronが登録されています。|
||0-59 or *||||||0~59で指定。*を使うと毎分|
|||0-23 or *|||||0~23で指定。*を使うと毎時|
||||1~31 or *||||1~31で指定。*を使うと毎日|
|||||1~12 or jan~dec or *|||1~12またはjan~dec指定。*を使うと毎月|
||||||0~7 or sun~sat or *||0~7(0,7は日曜日)またはjan~dec指定。*を使うと毎週?|
||0,15,30,45|1-5|||||リスト指定も可能|

*シェルの強制中断 ( Ctl + Z ) [#e9b5ee42]
シェルの強制中断を行ったとき、実行状態のままとまっている。~
それを確認するには、
 jobs
と打つ。~
~
 出力例
 [1]+ Stopped	aaa.sh
~

これをとめるには~
 ps aux | grep aaa
とかでプロセス番号を指定する。たくさんあってめんどくさいときは出力例の中にある「[*]」の*部を引数にして下記コマンドでとめることができる。~
~
 kill %*
~
これをしたあと、jobsで見ると、終了しましたと表示され、プロセスを正常に終わらせることができる。~
~

*splitコマンド(分割、cut) [#cc0bf476]
-testファイルを2行ごとに切り出し,"out."で始まるファイルに順次書き出す
 $ split -l 2 test out.
そのほかは以下参照
 http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230888/
~


*IPv6におけるPing連打 [#ge27161a]
ping6 IPv6Address -I eth1 -i 0.01 -c 1000 -s 480
 -Iでインターフェース指定
 -iで送信間隔指定
 -cで送信回数指定
 -sでサイズ指定
~
*grepを再帰的に行う [#s946c7ab]
 grep -r パターン パス
~


*sortコマンド [#x92fd5a6]
**sortの書式 [#jd1d9ea0]
 sort [オプション] ファイル名
-\-k n,n列目のソート
-\-n,数値のソート
~
例
 sort -k 3 aaa.txt
~

*ディレクトリ以下を検索 [#x3fe8b63]
**検索にヒットした行そのものや行数を知りたい [#ae31b816]
 find ディレクトリ名 -type f -exec grep -c 検索パターン {} /dev/null \; | grep -v ^/dev/null
**1行に複数マッチした場合もカウントしたい [#zaab47ff]
 find ディレクトリ名 -type f -exec awk '{count +== gsub(/検索パターン/, "")} END {print FILENAME " : " count}' {} \;
~

*bashrcを即反映== [#xfeddb20]
 source ~/.bashrc
~


*tcpdumpでssh以外のパケットキャプチャ [#s85fd11b]
 tcpdump -w test.pcap "not port(22)"
インタフェイスを指定するときは
 tcpdump -D
で確認後、
 tcpdump -i 1
等で指定。
~
*tcpdump使い方基本 [#v68ce7b8]
 tcpdump -s 1600 -w out.pcap
 -sはサイズ。16進の部分を多く表示させるため
~
**10メガごとに分割 [#f822bc04]
 tcpdump -C 10 -s 1600 -w out.pcap
 -Cで設定する。
~
**垂れ流し [#v22a71bc]
 echo 'Date Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg';while [ 0 ]; do echo -n `date +'%F %T'` ' ';netstat -i | grep eth0; sleep 1;done
~
*帯域制御(帯域制限)コマンド [#m9f739e7]
 tc
**全部1秒遅延させる (追加と削除) [#t5436d02]
 追加:tc qdisc add dev eth0 root netem delay 1000ms
 削除:tc qdisc delete dev eth0 root netem delay 1000ms
~
**その他 [#p8541a47]
 http://www.playing-engineer.com/?p==222
~
*PostfixにおけるIPv6設定 [#h414ed7f]
デフォルトではipv6に対応していないため、main.cfにipv6対応するよう追記する
**main.cf [#cc53781b]
mynetworksに追加したいipv6の範囲を追加する。今回はリンクローカルを追加する例。
 mynetworks == 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.0/24 [fe80::]/64
~
inet_protocolsにipv6の表記を記載(追記)する
 inet_protocols == ipv4, ipv6
~
最後にpostfixの再起動を行い完了。
~

*opensslによるCA構築 [#p5072ed0]
**★CA構築 [#hfc5f3fa]
 cd /etc/pki/tls/misc/
 ./CA ?newca
でCA構築完了。~
構築されたCAは/etc/pki/CAに作成される。~
構築したCAを削除するには、~
 rm -rf /etc/pki/CA
ディレクトリをそのまま削除でよい。~
**★秘密鍵(Key)の作成 [#x2bc69f7]
 openssl genrsa -out ./key.pem 2048 -> これで確認済み
 openssl genrsa -des3 -out ./key.pem 2048
 openssl genrsa -des3 -out ./key.pem 1024
**★csr作成 [#d4dbf9d7]
 openssl req -new -key ./key.pem -out ./csr.pem 
csrと秘密鍵はpostfixで参照するディレクトリで行う(どこでもいい)。~
今回の場合は、~
 /etc/pki/tls/certs
これはpostfixでパスを設定する。~
**★署名(サーバー証明書作成 -> メールサーバにおいとくやつ) [#s8c5f8da]
 cd /etc/pki/tls/misc 
 openssl ca -out /etc/pki/CA/certs/cert.pem -infiles /etc/pki/tls/certs/csr.pem 
~
これでサーバー証明書完成。~
作成される個所は、
 /etc/pki/CA/certs/cert.pem

**★メール用証明書作成(SMTPSでの動作確認した/starttlsも) [#n1243178]
 (cat IP.pem;cat IPkey.pem) > IPmail.pem
で作成する。作成された証明書と秘密鍵をつなげるイメージでおk~

**★STARTTLS対応 [#p2b0b330]
master.cfの下の行をコメントアウトする。
  -o smtpd_tls_wrappermode==yes

**★ルート証明書をcer形式出力(ルート証明書 -> iRエージェントやコンパクトサーバーにおいとくやつ) [#xaa536c2]
 cd /etc/pki/CA
 openssl x509 -inform pem -outform der -in cacert.pem -out ca.der
"l"で確認するとca.derが作成されていることを確認する。~
その後、winscpで落として拡張子をcerに変更。~
各種デバイスにインストールで完了。~

**★証明書失効 [#hd5d0c4c]
 openssl ca -gencrl -revoke ./certs/***.pem
crlnumberがないと言われたときは~
 echo "00" > crlnumber
で作成すればいい。~
/etc/pki/CAで行う。~
~
**★失効リスト作成 [#oabe8f5f]
 openssl ca -gencrl -out ***.crl
で作成。~
index.txtを利用して作成している様子。~


**◆index error が出たとき [#da4fc0f6]
index.txtを削除したあと、~
touchコマンドでindexファイルを作成しなおすとうまくいく。~
データベースエラー系?~

*OpenSSLで楕円曲線暗号方式の鍵を作成する方法 [#w4664d04]

**環境 [#i1679be3]
仮想環境上(VMPlayer)にインストール
 OS : CentOS 5.6
 OpenSSL : 1.0.0d
~
**openSSLのバージョン [#y2e9cae0]
今回の環境に利用したOS(CentOS5.6)にバンドルされているopensslのバージョンは"openssl-0.9.8e-12.el5_5.7"である。~
このバージョンの場合、ECDSAは対応していない。~
 ----------
 [root@localhost ssl_Create]# openssl ciphers -v ECDSA
 Error in cipher list
 18020:error:1410D0B9:SSL routines:SSL_CTX_set_cipher_list:no cipher match:ssl_lib.c:1188:
 [root@localhost ssl_Create]#
 ----------
 
 そこで現在(20110720)の最新バージョン、"openssl-1.0.0d"を利用するとECDSAが利用できることがわかる
 
 ----------
 [root@localhost ssl_Create]# /usr/local/ssl/bin/openssl ciphers -v ECDSA
 ECDHE-ECDSA-AES256-SHA  SSLv3 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA1
 ECDHE-ECDSA-DES-CBC3-SHA SSLv3 Kx=ECDH     Au=ECDSA Enc=3DES(168) Mac=SHA1
 ECDHE-ECDSA-AES128-SHA  SSLv3 Kx=ECDH     Au=ECDSA Enc=AES(128)  Mac=SHA1
 ECDHE-ECDSA-RC4-SHA     SSLv3 Kx=ECDH     Au=ECDSA Enc=RC4(128)  Mac=SHA1
 ECDHE-ECDSA-NULL-SHA    SSLv3 Kx=ECDH     Au=ECDSA Enc=None      Mac=SHA1
 [root@localhost ssl_Create]#
 ----------
 
 したがって新規に"openssl-1.0.0d"をインストールする必要があるため、次に手順を記載する
 
**openSSLインストール方法 [#ucd9885f]
openSSLのサイト ( http://www.openssl.org/ ) から openssl-1.0.0d.tar.gz をダウンロードする。~
ダウンロード後解凍してインストール、「 ./configure make make install 」でインストールできる。~
インストールのみではバンドルされたopensslを使用してしまう。~
 ---
 [root@localhost ssl_Create]# whereis openssl
 openssl: /usr/bin/openssl /usr/lib/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz
 ---
今回は環境変数に登録せず、1.0.0dを利用するときは、フルパスで入力することにした。~
したがって、0.9.8eを利用するときは"openssl command"、1.0.0dを利用するときは"/usr/local/ssl/bin/openssl command"で行う。~
 
**認証局構築及び認証局の自己証明作成 [#sa3e2201]
***コマンド [#x18fce51]
+/usr/local/ssl/bin/openssl ecparam -genkey -name prime256v1 -out cakey.pem
+/usr/local/ssl/bin/openssl req -new -x509 -days 3650 -sha256 -key cakey.pem -out cacert.cer
+/usr/local/ssl/bin/openssl req -new -key cakey.pem -out careq.csr
+/usr/local/ssl/bin/openssl x509 -req -in careq.csr -signkey cakey.pem -out cacert.cer -days 3650
+echo "newreq.pem"| /usr/local/ssl/misc/CA.pl -newca > /dev/null

***コマンド説明 [#g4149399]
-コマンド1について
 キーペアのみを生成(CAの鍵対)を作成する。
 上記は楕円曲線を使用&prime256v1bitでCAの秘密鍵を生成する(多分)。
 prime256v1はRSAで言うところの3072bitと同等(http://www.atmarkit.co.jp/fsecurity/rensai/crypt05/crypt03.html)。
 ここで利用するパラメータは"/usr/local/ssl/bin/openssl ecparam -list_curves"で表示できる。
 この中から選択すればいいが、windowsでは、「prime256v1」、「secp384r1」、「secp521r1」の対応しか出来ていないみたい(未確認)。
 windows未対応の証明書を利用すると、OIDの判断が出来なくなると予想(未確認)。
-コマンド2について
 自己署名証明書を作成する
 パラメータは適宜変更可能
 1.0.0dでは署名する際のbit数が256も可能なため、sha256
-コマンド3について
 CSR作成方法
 今回に関してはこのコマンドはなくても問題はない
 #一応すべて通しても通るようにはしてある
-コマンド4について
 CSRから署名を通すときに使用
 今回はコマンド3で生成したCSRに対してサインした
 別のデバイスなどでCSRを作成する際はopenssl.cnfのpolicy設定を緩くする必要がある
-コマンド5について
 正直おまじない
 "newreq.pem"でも動くが作成したcakey.pemをコピーするほうがいい気がする…/dev/nullだから平気?
 まとめると、CA.plスクリプトを使って認証機関を構築出来る
 
**サーバ証明書作成方法] [#n15fcb3f]
 一応、openssl.cnfをnsCertType = server
 としておく
 ネットスケープ対応だが、証明書を確認したときにサーバ証明書とわかりやすい
 これで動作がおかしい場合は、extensionsでサーバ証明書だと明示する必要があるかもしれない(未確認)
 (802.1Xで認証サーバが使用する証明書は明示しないとwindowsXPの場合は認証できないため)

***コマンド [#y6a55ec9]
+/usr/local/ssl/bin/openssl ecparam -genkey -name prime256v1 -out server.pem
+/usr/local/ssl/bin/openssl ec -in server.pem -out server.des.pem -des
+/usr/local/ssl/bin/openssl req -new -key server.des.pem -out server.req.csr
+/usr/local/ssl/bin/openssl ca -policy policy_anything -keyfile cakey.pem -cert cacert.cer -md sha256 -out newcert.pem -infiles server.req.csr
+/usr/local/ssl/bin/openssl pkcs12 -export -in newcert.pem -inkey server.des.pem -out server.p12
+/usr/local/ssl/bin/openssl pkcs12 -in server.p12 -out server.pem -passin pass:PASSWORD -passout pass:PASSWORD
+/usr/local/ssl/bin/openssl x509 -inform PEM -outform DER -in server.pem -out server.der
+rm -rf newcert.pem
  
***コマンド説明 [#m70e8e8f]
-コマンド1について
 サーバの秘密鍵生成
-コマンド2について
 秘密鍵なので一応暗号化
-コマンド3について
 CSR作成
-コマンド4について
 CAに発行(署名)してもらう
 この際の引数"-md"がないと、なぜかsha1になってしまう模様
-コマンド5~コマンド7について
 pkcs12に準拠した方式でp12/der/pemの作成
 これら(特にp12)を作成しておくと、融通が利くため便利(∵必要な情報がすべて入っているため)
-コマンド8について
 tmpファイルを消すイメージ
~
~
**クライアント証明書作成方法 [#jfc2a371]
 一応、openssl.cnfをnsCertType = client, email
 としておく
 ネットスケープ対応だが、証明書を確認したときにサーバ証明書とわかりやすい
 これで動作がおかしい場合は、extensionsでクライアント証明書だと明示する必要があるかもしれない(未確認)
 (802.1Xでサプリカントが使用する証明書は明示しないとwindowsXPの場合は認証できないため)

***コマンド [#gbe44f0a]
+/usr/local/ssl/bin/openssl ecparam -genkey -name prime256v1 -out client.pem
+/usr/local/ssl/bin/openssl ec -in client.pem -out client.des.pem -des
+/usr/local/ssl/bin/openssl req -new -key client.des.pem -out client.req.csr
+/usr/local/ssl/bin/openssl ca -policy policy_anything -keyfile cakey.pem -cert cacert.cer -md sha256 -out newcert.pem -infiles client.req.csr
+/usr/local/ssl/bin/openssl pkcs12 -export -in newcert.pem -inkey client.des.pem -out client.p12
+/usr/local/ssl/bin/openssl pkcs12 -in client.p12 -out client.pem -passin pass:PASSWORD -passout pass:PASSWORD
+/usr/local/ssl/bin/openssl x509 -inform PEM -outform DER -in client.pem -out client.der
+rm -rf newcert.pem
 
***コマンド説明 [#jc64f466]
-コマンド1について
 クライアント証明書秘密鍵
-コマンド2について
 秘密鍵なので一応暗号化
-コマンド3について
 CSR作成
-コマンド4について
 CAに発行(署名)してもらう
 この際の引数"-md"がないと、なぜかsha1になってしまう模様
-コマンド5~コマンド7について
 pkcs12に準拠した方式でp12/der/pemの作成
 これら(特にp12)を作成しておくと、融通が利くため便利(∵必要な情報がすべて入っているため)
-コマンド8について
 tmpファイルを消すイメージ
**その他 [#ad31089e]
 [root@localhost ~]# /usr/local/ssl/bin/openssl  ecparam -list_curves
  secp112r1 : SECG/WTLS curve over a 112 bit prime field
  secp112r2 : SECG curve over a 112 bit prime field
  secp128r1 : SECG curve over a 128 bit prime field
  secp128r2 : SECG curve over a 128 bit prime field
  secp160k1 : SECG curve over a 160 bit prime field
  secp160r1 : SECG curve over a 160 bit prime field
  secp160r2 : SECG/WTLS curve over a 160 bit prime field
  secp192k1 : SECG curve over a 192 bit prime field
  secp224k1 : SECG curve over a 224 bit prime field
  secp224r1 : NIST/SECG curve over a 224 bit prime field
  secp256k1 : SECG curve over a 256 bit prime field
  secp384r1 : NIST/SECG curve over a 384 bit prime field
  secp521r1 : NIST/SECG curve over a 521 bit prime field
  prime192v1: NIST/X9.62/SECG curve over a 192 bit prime field
  prime192v2: X9.62 curve over a 192 bit prime field
  prime192v3: X9.62 curve over a 192 bit prime field
  prime239v1: X9.62 curve over a 239 bit prime field
  prime239v2: X9.62 curve over a 239 bit prime field
  prime239v3: X9.62 curve over a 239 bit prime field
  prime256v1: X9.62/SECG curve over a 256 bit prime field
  sect113r1 : SECG curve over a 113 bit binary field
  sect113r2 : SECG curve over a 113 bit binary field
  sect131r1 : SECG/WTLS curve over a 131 bit binary field
  sect131r2 : SECG curve over a 131 bit binary field
  sect163k1 : NIST/SECG/WTLS curve over a 163 bit binary field
  sect163r1 : SECG curve over a 163 bit binary field
  sect163r2 : NIST/SECG curve over a 163 bit binary field
  sect193r1 : SECG curve over a 193 bit binary field
  sect193r2 : SECG curve over a 193 bit binary field
  sect233k1 : NIST/SECG/WTLS curve over a 233 bit binary field
  sect233r1 : NIST/SECG/WTLS curve over a 233 bit binary field
  sect239k1 : SECG curve over a 239 bit binary field
  sect283k1 : NIST/SECG curve over a 283 bit binary field
  sect283r1 : NIST/SECG curve over a 283 bit binary field
  sect409k1 : NIST/SECG curve over a 409 bit binary field
  sect409r1 : NIST/SECG curve over a 409 bit binary field
  sect571k1 : NIST/SECG curve over a 571 bit binary field
  sect571r1 : NIST/SECG curve over a 571 bit binary field
  c2pnb163v1: X9.62 curve over a 163 bit binary field
  c2pnb163v2: X9.62 curve over a 163 bit binary field
  c2pnb163v3: X9.62 curve over a 163 bit binary field
  c2pnb176v1: X9.62 curve over a 176 bit binary field
  c2tnb191v1: X9.62 curve over a 191 bit binary field
  c2tnb191v2: X9.62 curve over a 191 bit binary field
  c2tnb191v3: X9.62 curve over a 191 bit binary field
  c2pnb208w1: X9.62 curve over a 208 bit binary field
  c2tnb239v1: X9.62 curve over a 239 bit binary field
  c2tnb239v2: X9.62 curve over a 239 bit binary field
  c2tnb239v3: X9.62 curve over a 239 bit binary field
  c2pnb272w1: X9.62 curve over a 272 bit binary field
  c2pnb304w1: X9.62 curve over a 304 bit binary field
  c2tnb359v1: X9.62 curve over a 359 bit binary field
  c2pnb368w1: X9.62 curve over a 368 bit binary field
  c2tnb431r1: X9.62 curve over a 431 bit binary field
  wap-wsg-idm-ecid-wtls1: WTLS curve over a 113 bit binary field
  wap-wsg-idm-ecid-wtls3: NIST/SECG/WTLS curve over a 163 bit binary field
  wap-wsg-idm-ecid-wtls4: SECG curve over a 113 bit binary field
  wap-wsg-idm-ecid-wtls5: X9.62 curve over a 163 bit binary field
  wap-wsg-idm-ecid-wtls6: SECG/WTLS curve over a 112 bit prime field
  wap-wsg-idm-ecid-wtls7: SECG/WTLS curve over a 160 bit prime field
  wap-wsg-idm-ecid-wtls8: WTLS curve over a 112 bit prime field
  wap-wsg-idm-ecid-wtls9: WTLS curve over a 160 bit prime field
  wap-wsg-idm-ecid-wtls10: NIST/SECG/WTLS curve over a 233 bit binary field
  wap-wsg-idm-ecid-wtls11: NIST/SECG/WTLS curve over a 233 bit binary field
  wap-wsg-idm-ecid-wtls12: WTLS curvs over a 224 bit prime field
  Oakley-EC2N-3:
        IPSec/IKE/Oakley curve #3 over a 155 bit binary field.
        Not suitable for ECDSA.
        Questionable extension field!
  Oakley-EC2N-4:
        IPSec/IKE/Oakley curve #4 over a 185 bit binary field.
        Not suitable for ECDSA.
        Questionable extension field!
 [root@localhost ~]#

apache2.2*は楕円曲線の証明書に対応しておらず2.3から対応予定とのこと(未リリース)~
nginx0.8も対応せず~
lighttpdは対応しているみたいだが、ssl自体の設定がうまくいかない(yumで入るものは未対応の様子、tarからインストール)~
*yum/wgetのプロキシ設定 [#q304e3d9]
yum/wget使用時にプロキシが必要な場合に設定
**yum [#i468329c]
/etc/yum.confに以下を記載~
proxy=http://''IP'':''PORT''~
proxy_username=''username''~
proxy_password=''password''~
**wget [#bc280633]
~/.wgetrcに以下を記載~
http_proxy=http://''IP'':''PORT''~
proxy_user=''username''~
proxy_password=''password''~
*Teratermでのssh接続自動化 [#za360fae]
複数のサーバーに対してsshするとき、各サーバーのIP、ユーザー名、パスワードの入力が億劫なため、~
クリックするだけで自動で接続してくれるようにしてみた。~
プラスα、root権限も取得する感じ。~
ざっくりとやりかたは、teraterm用マクロを準備してそれを実行する方法。~
**準備するマクロ [#l0063e5d]
以下を適当な名前付けて''*.ttl''という名前で保存する
 ;;;;192.168.1.1 //コメントで接続先IPを記載しておくといいかも
 ;各種値設定
 ;接続先ホスト
 Host2 = '192.168.1.1'
 ;ログインするユーザー
 User1 = 'user'
 
 ;ユーザーパスワードとルートパスワードのファイル指定。初回接続時に作成される。2回目からは自動。
 getpassword 'C:\uerpass.dat' 'usrpass' inputstr
 getpassword 'C:\pass.dat' 'rootpass' inputstr2
 
 ;各種定義
 Prompt1 = '$'
 PromptPW = 'Password:'
 Ini = 'TERATERM_org.INI'
 Df = 'df'
 
 ;いろんなおまじない
 Cmd = ''
 strconcat Cmd Host2
 strconcat Cmd ' /ssh /1 /auth=password'
 strconcat Cmd ' /user='
 strconcat Cmd User1
 strconcat Cmd ' /passwd='
 strconcat Cmd inputstr
 strconcat Cmd ' /f='
 strconcat Cmd Ini
 
 ;接続
 connect Cmd
 ;対話的処理スタート(dfコマンド発行)
 wait Prompt1
 sendln 'df -h'
 wait '$'
 sendln 'su -'
 wait ':'
 sendln inputstr2
バージョン違いのエラーが出たら
 strconcat Cmd ' /ssh /1 /auth=password'
の1を
 strconcat Cmd ' /ssh /2 /auth=password'
などに変更し、バージョンを合わせる
*John The Ripper でのpdf解析方法 [#na733b5e]
pdfに書けたパスワードを解くときに使う。開いた瞬間にパスワードを求められるファイルに対して有効だが、パスワードの文字数によって、解析時間がかなり掛かる。
**準備 [#x79b783a]
簡単に行う為に、VirtualBoxを準備して、そこにKaliLinuxをインストールする。~
KaliLinuxには解析ソフトが最初からインストールされているため、構築後にすぐに使用出来る。
**手順 [#o296f163]
+pdfファイルをハッシュ化するスクリプトを持ってくる
 https://github.com/magnumripper/JohnTheRipper/archive/bleeding-jumbo.zip 
+解凍し任意のディレクトリに置く
+コマンド
 pdf2john.py 解析対象の.pdf > Hash.txt
+上記でハッシュファイルが作成される
+一応バックアップをとっておくと確実
 cp hash.txt hash.txt.back
+作成されたハッシュファイルを編集する※重要
++viなどで開き、":"を取り除く
++":"前、":"後を削除する
++保存する
 $pdf$4*4*128...(略)...a35eff
と言った形式にする。前と後ろの":"とファイル名を取り除くイメージ。
+この変更を加えたファイルに対して解析をかける
 john hash.txt
+KaliLinuxはjohnnyというGUIツールもあり、これを使ってもOK
*Ubuntuでのdockerでpull時のプロキシ設定 [#r0c14eb2]
調べてよくでてくるプロキシ設定では通らなかった時の設定方法。~
su前提で行う
**一般的な方法 [#sad5307c]
+/etc/default/dockerの編集
 vi /etc/default/docker
+追加
 export http_proxy=http://IP:PORT/
 export https_proxy=http://IP:PORT/
+再起動
----
NGだった

**自分の環境での方法 [#of45a71d]
+ディレクトリ作成
 mkdir /etc/systemd/system/docker.service.d
+ファイル作成
 vi /etc/systemd/system/docker.service.d/http-proxy.conf
+中身
 [Service]
 Environment="HTTP_PROXY=http://IP:PORT"
 Environment="HTTPS_PROXY=http://IP:PORT"
+再起動
 systemctl daemon-reload
 systemctl restart docker
+確認
 docker search linux

*リアルタイムでネットワーク監視 [#pbfd42f7]
現状の通信状態を確認したい時に使用
 yum -y install iftop
 iftop
で行ける。どれくらい速度が出ているか知りたい時に便利。

* lessコマンド行表示と行番号ジャンプ [#k1d4fe64]
lessコマンドにて、開く時に ''-N''を指定すると、行番号が表示される。~
開いた後でも '':-N''後、Enterを押すと表示、'':-n''後、Enterを押すと、非表示になる。~
~
特定行へ飛ぶときは、'':300g''後、Enterで飛ぶことができる。

* 各OS(ディストリビューションごと)のアプリ管理コマンド一覧表 [#c64a5e6f]
|CENTER:''FreeBSD(pkgコマンド)''|CENTER:''(Redhat系)yum''|CENTER:''(Ubuntu系)apt''|CENTER:''処理内容''|
|pkg update|–|apt update|パッケージリポジトリを更新する|
|pkg upgrade|yum update|apt upgrade|パッケージを更新する|
|pkg search|yum search|apt search|パッケージを検索する|
|pkg install|yum install|apt install|パッケージをインストールする|
|pkg delete|yum remove|apt remove|パッケージをアンインストールする|
|pkg autoremove|yum autoremove|apt autoremove|不要なパッケージを削除する|
|pkg info -a|yum list installed|apt list –-installed|インストールされているパッケージを一覧表示する|
|pkg show|yum show|apt show|パッケージの情報を表示する|
|pkg clean|yum clean|apt clean|ダウンロードしたパッケージを削除する|
|pkg which|yum provides|apt-file search|特定のファイルがどのパッケージに含まれているのかを調べる|
|pkg info -e|rpm -q|–|パッケージがインストールされているかどうかを調べる|
|-|yum upgrade|–|不要になったパッケージを考慮しながらパッケージを更新する|
 ※参考サイト:https://freebsd.seirios.org/doku.php?id=ports:pkg_yum_apt

* imapのMaildirの日本語文字化けをターミナル上で確認する [#d4e0fd20]
日本語フォルダ名を作成して、imapサーバを使っている場合、ターミナル上からはUTF-7-IMAPで変換された状態で表示される。~
ターミナル上で正しい日本語を確認したいときは以下コマンドを実行。
 ls -asl | inkf --ic=UTF-7-IMAP -w



トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS