ゆずまの○○日記がシンプルでいいと思います!

プログラミングを中心に書いていこうと思ってます。

debian は dash を使ってるらしい。

ずっと以下のメッセージがでていて、シェルスクリプトが動いてくれなかった。

Syntax error: "(" unexpected

参考URL通りに

dash から bash に変更する

dpkg-reconfigure dash

画面が立ち上がって、「いいえ」を選択する

参考URL

Ubuntuの/bin/shはbashではなくdashsiguniang.wordpress.com

masaoo.blogspot.jp

Docker Swarm Init でエラーメッセージが出る

$ docker swarm init

Error response from daemon: could not choose an IP address to advertise since this system has multiple addresses on different interfaces (10.0.2.15 on eth0 and 192.168.99.100 on eth1) - specify one with --advertise-addr

複数IPアドレスを持っているのが問題っぽいので、 たぶん、IPを指定する必要がある? (Oracle VirtualBoxをインストールしてるので、複数のIPアドレスを持っている)

$ docker swarm init --advertise-addr="192.168.99.100"

Swarm initialized: current node (fx2yzfa89dla8q0259rbgvfgp) is now a manager.

To add a worker to this swarm, run the following command:

docker swarm join --token SWMTKN-1-11090xbudo7evltxkm1ogtxcr9ajyb1a43oh5jbwpcac66m20w-abqlapc6eij6ofbu7v76otubv 192.168.99.100:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

サーバー攻撃の基本的な手順

【4日で学ぶ】情報セキュリティマネジメント入門を勉強したので、 メモがてらアウトプットをします。 www.udemy.com

サーバー攻撃の基本的な手順

  1. ターゲットを特定する
  2. 情報を集める
  3. 間接アタックをする
  4. 直接アタックをする
  5. ハウスキーピング

1. ターゲットを特定する

2. 情報を集める

  • nmap
  • Zenmap

3. 間接アタック

4. 直接アタック

5. ハウスキーピング

  • ログの消去
  • タイムスタンプの改鼠
  • バックドア
  • Netcat
  • Cryptcat

gitのソースをデバッグ実行する〜git log , git log --oneline, git reflog~

概要

  • Eclipse CDT を起動する
  • Build All をする
  • git log をデバッグ実行する
    • git log の debugの構成を設定する
    • 設定した構成でデバッグを実行する
    • Eclipseのコンソールに、git log の結果が出力される。
  • git log –oneline をデバッグ実行する
    • git log –oneline の debugの構成を設定する
    • 設定した構成でデバッグを実行する
    • Eclipseのコンソールに、git log –oneline の結果が出力される。
  • git reflog をデバッグ実行する
    • git reflog の debugの構成を設定する
    • 設定した構成でデバッグを実行する
    • Eclipseのコンソールに、git reflog の結果が出力される。

今回やったことを動画にした。無音だけど。
gitのソースコードをステップ実行する。( source code of git step debugging) - YouTube

Build All をする

f:id:yuzuma_yuzuma_yuzuma:20170404205748p:plain

git logのdebug実行をする

git log の debugの構成を設定する

f:id:yuzuma_yuzuma_yuzuma:20170404205752p:plain f:id:yuzuma_yuzuma_yuzuma:20170404205757p:plain f:id:yuzuma_yuzuma_yuzuma:20170404205801p:plain

設定した構成でデバッグを実行する

f:id:yuzuma_yuzuma_yuzuma:20170404210123p:plain f:id:yuzuma_yuzuma_yuzuma:20170404210201p:plain f:id:yuzuma_yuzuma_yuzuma:20170404210208p:plain

Eclipseのコンソールに、git log の結果が出力される。

f:id:yuzuma_yuzuma_yuzuma:20170404210227p:plain

git log –oneline をデバッグ実行する

git log –oneline の debugの構成を設定する

f:id:yuzuma_yuzuma_yuzuma:20170404210123p:plain f:id:yuzuma_yuzuma_yuzuma:20170404210440p:plain f:id:yuzuma_yuzuma_yuzuma:20170404210447p:plain

設定した構成でデバッグを実行する

f:id:yuzuma_yuzuma_yuzuma:20170404211118p:plain

Eclipseのコンソールに、git log –oneline の結果が出力される。

f:id:yuzuma_yuzuma_yuzuma:20170404210504p:plain

git reflog をデバッグ実行する

git reflog の debugの構成を設定する

f:id:yuzuma_yuzuma_yuzuma:20170404210123p:plain f:id:yuzuma_yuzuma_yuzuma:20170404211219p:plain f:id:yuzuma_yuzuma_yuzuma:20170404211228p:plain

設定した構成でデバッグを実行する

f:id:yuzuma_yuzuma_yuzuma:20170404211302p:plain

Eclipseのコンソールに、git reflog の結果が出力される。

f:id:yuzuma_yuzuma_yuzuma:20170404211314p:plain

git logが実行されるまでの主要な流れ

  • common-main.c::main
  • cmd_main
  • handle_builtin
  • run_builtin
  • p->fn(argc, argv, prefix);
  • log.c::cmd_log()
  • コンソールに結果が出力される

git log –onelineが実行されるまでの主要な流れ

  • common-main.c::main
  • cmd_main
  • handle_builtin
  • run_builtin
  • p->fn(argc, argv, prefix);
  • log.c::cmd_log()
  • コンソールに結果が出力される

git reflogが実行されるまでの主要な流れ

  • common-main.c::main
  • cmd_main
  • handle_builtin
  • run_builtin
  • p->fn(argc, argv, prefix);
  • reflog.c::cmd_reflog
  • コンソールに結果が出力される

どこかで時間作って、興味あるコマンドの実体をみていきたいですね。

gitのソースコードをステップ実行する〜環境構築編〜

gitのソースコードをステップ実行する〜環境構築編〜

環境

Eclipse CDTのダウンロード

http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/neon3

Java8のインストール

なんか証明書が必要っぽかった。

apt install -t jessie-backports  openjdk-8-jre-headless ca-certificates-java
vi /etc/apt/sources.list
deb http://ftp.de.debian.org/debian jessie-backports main 
apt-get update

ここにインストールされた

/usr/lib/jvm/java-8-openjdk-amd64/bin/java

eclipse.iniを編集する

vmargsの上に、以下を追記した。

-vm
/usr/lib/jvm/java-8-openjdk-amd64/bin/java

eclipse neon3がここで起動する

gdb, make , gccのインストール

apt-get install -y gdb make g++

makeとg++はすでにインストールされていた。

gitのインストール

apt-get install -y git

gitのリポジトリを複製する

// 一般ユーザーで実行する
cd /home/yuzuma/develop
git clone https://github.com/git/git.git git_source

gitをコンパイルするために必要なものをインストール

apt-get install -y libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev

複製したリポジトリEclipse CDTにimportする

  • File > New > Makefile Project with existing code
  • Toolchain for Indexer Settings

gitのソースコードデバッグする。

  • Project > Build All
  • diff.c を開いて、Run > Debug を実行する
  • ステップ実行できるようになる

総括

CLionでやってみたかったが、CmakeListというもので、
Makefileとは別だったため、Eclipse CDTを使った。
C言語ソースコードをステップ実行する知識がなかったため、2日間かかったけど、
ステップ実行できてよかった。
引数を与えたりして、本格的に任意のコマンドをステップ実行したい。

— 追記:20170404
引数を与えて、任意のコマンドをステップ実行できた。
gitのソースをデバッグ実行する〜git log , git log –oneline, git reflog~
http://yuzuma-yuzuma-yuzuma.hatenablog.jp/entry/git-source-debug