零細システムエンジニアの備忘録

RPA、サーバ、ネットワークに関する設定メモ、導入相談もコメント欄やメールに頂ければお答えしますのでお気軽にご相談下さい(^^)

CISCOスイッチで各ポートのトラフィック量を確認するには

ciscoのカタリストスイッチの各ポートのパケット量を確認し、一日のトラフィックがどれくらいか調べたときのメモです。

基本的には調査した時のパケット量と次の日のパケット量を比較して計測することを想定しています。

コンソールケーブルにて接続し、パスワード入力

Switch>terminal length 0

Switch>show interfaces stats
下記出力結果

GigabitEthernet0/1
          Switching path    Pkts In   Chars In   Pkts Out  Chars Out
               Processor          0          0   13739647  973658748
             Route cache          0          0          0          0
                   Total          0          0   13739647  973658748
GigabitEthernet0/2 ・・・

以下ずらっと表示されます。

この「Pkts Out」が各ポートが受け取ったパケットの合計のバイト数になります。この数値から一日経過した時の数値を比較して計測します。

【Windows】Windows11登場 手持ちのPCだとCPUサポートされていない。。。

Windows11がついに登場したので、クライアント構築などの検証もしたく
用意しようと考えていましたが、古いPCだとCPUが対応していなくNGでした(;^_^A
BIOSの設定も必要とのことで大変そうです。。。

サポートされているCPU

docs.microsoft.com

一応対応しているか公式のチェックツールがあるとのことですが
不親切すぎるとのことで、なにやら有志の方がチェックツールを作ってくれているとのことです。

github.com

 

一台だけ対応PCをもっているけど、アップグレードで問題が起きそうで怖くて使えないw
VMWareの仮想環境であれば大丈夫そうなので、それで試すか。。。

【PHP】文字列を暗号化しGETで値を渡す方法

GETで送るとURLに色々と値が入りセキュリティ的によくないので
渡す値を暗号化して渡すようにしたときのメモです。

ネットで調べるとopenssl_encrypt、openssl_decryptで暗号化、複合化でやればいいようですが、
最初にやったところ暗号化の文字列に「?」が入り、URLとして送ることができない事象が起きました。
どうもURLの中に
そこで暗号文を16進数にして値を渡すことにしました。

色々なサイトを参考したのですが、そのままだとできなかったので
ちょっと簡略化していますが、とりあえずうまくいきました。

2つの変数を渡すことを想定しています。
そのまた[文字列,文字列]でカンマ区切りで渡すことにします。

$plain_text = "test,111111";  //暗号化したい文字列
$method_name = 'AES-256-CBC';  //暗号方式
$key_string = '1234567890';  //暗号キー 任意 長いほど良い

$encrypt_bin = openssl_encrypt($plain_text,$method_name,$key_string); //暗号化
$url = bin2hex($encrypt_bin); // 16進数に変換

これで下記のように次のページにPOSTします。
https://localhost/test.php?url=$url

遷移先のページのPHPにて下記のようにurlを取得して複合化します。

$url = $_GET["url"];

$text = hex2bin($text);
$method_name = 'AES-256-CBC';  //暗号方式
$key_string = '1234567890';  //暗号キー 上記と合わせる

$decrypt_string = openssl_decrypt($text,$method_name,$key_string); // 復号化

$data = explode(',', $decrypt_string);  //カンマ区切りで配列に挿入
$data0 = $data[0];
$data1 = $data[1];

【HTML/JavaScript】ラジオボタンで特定の項目を選択した場合にテキスト入力を必須にする方法

ちょうど仕事で入力必須にする必要があったのでそちらのメモになります。

◆やりたいこと
お休み連絡の理由をラジオボタンにして、理由が【その他】の場合は、テキスト入力させたい。
まずHTMLは下記のように記載。

◆HTML

お休みの理由
<label><input type="radio" name="cancel_reason" value="体調不良" required onclick="check(0)">体調不良</label><br/>
<label><input type="radio" name="cancel_reason" value="車両故障" onclick="check(1)">車両故障</label><br/>
<label><input type="radio" name="cancel_reason" value="天候不良" onclick="check(2)">天候不良</label><br/>
<label><input type="radio" name="cancel_reason" value="その他" onclick="check(3)">その他 </label>
<input type="text" name="remark" id="remark" class="form-control mar-btm" placeholder="" value="" required>
<div id="display" style="color:red;display:none;">理由を入力してください</div>

【remark】の部分を【required】を追記して、必須にしています。当然そのままだと、ほかの選択肢を選択しても、テキストが必須になってしまうため
他を選択した場合は、半角スペースを入れて回避します。

javascript

script type="text/javascript">
function check(num){
    var radio = document.getElementsByName("cancel_reason");
    var textValue = document.getElementById(remark);

    if(radio[3].checked){   //ここにHTMLで「その他」に書かれている番号を設定します。【onclick="check(3) →これ】
        remark.value = '';
        document.getElementById("display").style.display="block";
    } else {
        remark.value = ' ';
        document.getElementById("display").style.display="none";
    }
}
</script>


※HTML側で【onclick="check(0)】のようにすることで、javascriptを呼び出しています。
選択肢毎にnumを設定しておき、【その他】以外を選択した場合に半角スペースを入れています。

【Windows】タスクスケジューラー バッチファイルが起動しない

あるバッチ処理をタスクスケジューラーで行おうと設定したけど動作せず。。。(;^_^A
色々設定をあさってみると、【ユーザがログインしているかどうかにかかわらず実行する】にチェックしていると動作しないようでした。。。
バックグラウンドで動こうとしてバッチ処理が動かないということなのかもしれないです 。
とりあえず動くようになって一安心(^^)

f:id:acind:20210922154833j:plain