備忘録

備忘録

Linux

Linuxに最新版のGoをインストールする方法

Ⅰ. はじめに Ⅱ. やり方(Ubuntu) 1. 以下のコマンドを実行する 2. 環境変数を設定する 3. Go を実行する Ⅲ. やり方(CentOS) 1. 以下のコマンドを実行する 2. 環境変数を設定する 3. Go を実行する 参考 Ⅰ. はじめに タイトルの通り「Ubuntuに最新版のGoを…

Linuxでプロセスがロード済みの動的ライブラリ一覧を表示する方法

Ⅰ. はじめに タイトルの通り「Linuxでプロセスがロード済みの動的ライブラリ一覧を表示する方法」です。 Ⅱ. やり方 1. プロセスIDを取得する ps -ef | grep target_app_name 2. 一覧を表示する cat /proc/[pid]/maps 実行結果 12c00000-12d80000 rw-p 000000…

ネットワーク接続のコネクションを表示する方法

Ⅰ. はじめに タイトルの通り「ネットワーク接続のコネクションを表示する方法」です。 Ⅱ. やり方 一覧表示 netstat -nat ソートして表示 netstat -nat | awk {'print $5'} | cut -d ":" -f1 | sort | uniq -c | sort -n 参考 https://ja.wikipedia.org/wiki/…

TermuxにSSH接続する方法

Ⅰ. はじめに Ⅱ. やり方(自動) 1. cURL をインストールする 2. 以下のコマンドを実行する 3. 秘密鍵を取り出す 4. SSHサーバの起動 接続結果 Ⅱ. やり方(手動) 1. OpenSSHをインストールする 2. 鍵を作成する 3. 秘密鍵を /sdcard/id_rsa にコピーする 4. …

.soファイルのシンボルテーブルを出力する方法

Ⅰ. はじめに タイトルの通り「.soファイルのシンボルテーブルを出力する方法」です。 Ⅱ. やり方 以下のコマンドを実行する nm -D libhoge.so 実行結果 U abort U accept U access U acos (以下省略) 参考 https://stackoverflow.com/a/4514781

MariaDB(MySQL)を自動的にGoogleDriveにバックアップする方法

Ⅰ. はじめに タイトルの通り「MariaDB(MySQL)を自動的にGoogleDriveにバックアップする方法」です。 Ⅱ. やり方 1. git cloneする $ git clone https://github.com/kagasu/DBAutoBackup 2. gdriveを初期化する // gdrive を以下からダウンロードして /usr/bin…

Linuxでディスク読書速度を測定(ベンチマーク)する方法

Ⅰ. はじめに Ⅱ. やり方(簡易版) 書き込み速度 読み込み速度 Ⅲ. やり方(fioを使用する方法) インストール 書き込み速度(random read) 読み込み速度(random write) Ⅰ. はじめに タイトルの通り「Linuxでディスク読書速度を測定する方法」です。 Ⅱ. やり方…

Linuxでディスク容量を確認する(ncduコマンド)

Ⅰ. はじめに ディスク容量や使用率等だけであれば「dfコマンド」、どのディレクトリがどれだけというのは「duコマンド」で見ることが出来ます。 しかし「duコマンド」は毎回ディレクトリを指定する必要がある為面倒です。 そこで ncdu を使います。 Ⅱ. ncdu…

Python3でMariaDB(MySQL)に接続する方法

Ⅰ. はじめに タイトルの通り「Python3でMySQLに接続する方法」です。 Ⅱ. やり方 1. 必要なものをインストールする CentOS 7.4の場合 yum -y install gcc mariadb-devel MariaDB-shared zlib-devel openssl-develUbuntu 16.04の場合 apt -y install libmysqlc…

Linuxで他プロセスのメモリを読み書きする方法

Ⅰ. はじめに タイトルの通り「Linuxで他プロセスのメモリを読み書きする方法」です。 Windowsの場合はOpenProcessしてプロセスのハンドルを取得した後にReadProcessMemory, WriteProcessMemoryすればOKです。 Ⅱ. サンプルプログラム メモリを読み書き「され…

mitmproxyとarpspoofを利用してスマートフォン(Android/iOS)のHTTP(s)通信を見る方法

Ⅰ. はじめに タイトルの通り「mitmproxyとarpspoofを利用してスマートフォン(Android/iOS)のHTTP(s)通信を見る方法」です。 Ⅱ. 環境 Kali Linux 4.13.0http://kagasu.hatenablog.com/entry/2018/01/20/090654 Ⅲ. やり方 1. IPフォワードを有効にする echo 1 …

WindowsでHyper-V用Kali Linuxをインストールする方法

Ⅰ. はじめに 今回はKali Linux公式HPで公開されているHyper-V用のイメージを利用します。 予めHyper-Vを有効にする必要があります。 http://kagasu.hatenablog.com/entry/2016/09/24/192659 Ⅱ. やり方 1. Hyper-V用Kali Linuxのイメージをダウンロードする h…

bashで文字列を数値に変換して数値計算する方法

Ⅰ. はじめに bashの変数は全てを文字列として扱う為、そのままでは数値計算ができません。 数値計算を行う方法として以下の2通りあります。 # 概要 1 $(())を使う方法 2 exprを使う方法 Ⅱ. 文字列→数値($(())を使う方法) $ echo $((10+10)) 20 Ⅲ. 文字列→数…

CentOSでSOCKSサーバ(Dante)を構築する

Ⅰ. はじめに Inferno Nettverk A/S によって開発されているSOCKS4,5サーバ Dante の構築方法です。 Ⅱ. 環境 $ cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) $ uname -a Linux xxx 3.10.0-514.6.2.el7.x86_64 #1 SMP Thu Feb 23 03:04:39 U…

一時的なメールサービスのAPIサーバを作る

Ⅰ. はじめに 一時的なメールアドレスを作成するサービスはいくつか存在します。 一時的なメールアドレスを作成する - 備忘録しかし、どのサービスもAPI経由でのアクセスが出来ないものばかりです。 送信されるリクエストを解析してサービスを利用する事も可…

SSH接続でrootログインを許可する

vim /etc/ssh/sshd_config PermitRootLogin no ↓ PermitRootLogin yesservice sshd restart @IT:ssh接続でrootによるログインを許可するには

Glancesをインストールする

Glancesとは システムモニタリングツールです。 クロスプラットフォームで動作します。 Unix系に限らずWindowsでも動作します。 Pythonで書かれています。 公式WEBサイト https://nicolargo.github.io/glances/ インストール方法 1. インストールする $ curl…

dd でバイナリを書き換える

前提条件 ・UNIX系シェルで動作します。 ・Windowsの場合はBash on Ubuntu on Windowsがインストールされていること。 方法 1. 以下のコマンドを実行すると、 「0x465C0」に「0x01, 0x02, 0x03, 0x04」が書き込まれます。 printf '\x01\x02\x03\x04' | dd of…

Linux screenの使い方

名前をつけてscreenを作成 screen -S hoge 切り替え screen -r hoge セッション一覧表示 screen -ls 名前をつけてscreenを作成(デタッチした状態で開始) screen -dmS hoge 外部から終了する screen -S hoge -X quit 外部から任意のコマンドを実行する # 名…

CentOS 7.2にphalconをインストールする

cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)yum -y install php php-devel php-mysql gcc libtool git git clone --depth=1 git://github.com/phalcon/cphalcon.git cd cphalcon/build ./install vim /etc/php.d/phalcon.ini extension=p…

CentOS7 firewall-cmd

以下の設定は全て恒久的な物になる。 一時的な設定を行いたい場合は--permanentを消す。 ※一時的 = OS再起動までWEBサーバ(port 80) firewall-cmd --zone=public --add-service=http --permanentSquidデフォルトポート(Port 3128) firewall-cmd --zone=…

nginxとphp-fpmを使ってfastcgi_cacheする(PHP7.3)

環境 [root@ ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)手順 yum -y install epel-release rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpmyum -y install --enablerepo=remi,remi-php73 php php-devel php-…

CentOS 7.2 MariaDB 外部接続を有効にする

「CentOS 7.2にyumでMariaDBをインストールする」の続き http://d.hatena.ne.jp/kagasu/20160128/1453945308 環境 $ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) $ mysql --version mysql Ver 15.1 Distrib 10.1.10-MariaDB, for Linux (…

CentOS 7.2にyumでMariaDBをインストールする

環境 cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) リポジトリを追加する 最新バージョンはこちら https://downloads.mariadb.org/mariadb/repositories vim /etc/yum.repos.d/mariadb_10_4.repo [mariadb] name = MariaDB baseurl = http…

IPアドレスからMACアドレスを調べる

■Linuxの場合 標準でarpingが入っています。 以下のようにすればOKです。 $ arping 192.168.0.1 ARPING 192.168.0.1 from 192.168.0.2 eth0 Unicast reply from 192.168.0.1 [AA:BB:CC:DD:EE:FF] 0.955ms ... ■Windowsの場合 標準でarpingコマンドがありませ…

正規表現でメールを転送(または、ローカルに保存)する

2017/04/05追記 コレもオススメ https://github.com/mozilla/restmail.net Ⅰ. はじめに ・hoge000@foo.com〜hoge999@foo.com宛にくるメールを全てadmin@bar.comに転送する。(またはファイルに保存) ・使い捨てメールサービスのMailinatorやMaildropのよう…

CentOS 6.x(64bit)にmonoをインストールする

CentOS 7.xはこっち(6.xでも使えるかどうかは検証してないので不明) http://d.hatena.ne.jp/kagasu/20160208/1454939712※2015/12/03 追記 リポジトリが404なので以下の方法でmonoはインストールできなくなりました。 cd /etc/yum.repos.d/ wget http://dow…

linux gccで動的リンクするときのリンクオプション

.soは/usr/local/libに突っ込んでおくと-L指定しなくてもいい $ ls -l main.c libhoge.so $ gcc -L./ -lhoge -o main main.c

シェルスクリプト実行時にログを吐かせる

$ sh -x hoge.sh デーモンでもOK $ sh -x /etc/init.d/mysql start

mysqldを監視し、自動起動するシェルスクリプト

#!/bin/bash mysqld=`ps ax | grep '^.* /usr/sbin/mysqld -k start$'` if [ -z "${mysqld}" ]; then sudo service mysql start fi