読者です 読者をやめる 読者になる 読者になる

min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

iMac(macOS Sierra)に Python3 のインストール(Homebrew使用、pyenv → virtualenv → anaconda)

Mac Python

iMacmacOS Sierra)に前記事でHomebrewをインストールしたので、引き続きPythonをインストールする。この記事どおり進める。

qiita.com

$ brew install pyenv

f:id:min117:20170117233715p:plain

f:id:min117:20170117233704p:plain

$ brew install pyenv-virtualenv

f:id:min117:20170117233657p:plain

$ PYENV_ROOT=~/.pyenv

f:id:min117:20170117234318p:plain

$ export PATH=$PATH:$PYENV_ROOT/bin

f:id:min117:20170117234313p:plain

$ eval "$(pyenv init -)"

f:id:min117:20170117234307p:plain

$ eval "$(pyenv virtualenv-init -)"

f:id:min117:20170117234301p:plain

$ pyenv

f:id:min117:20170117235255p:plain

$ source ~/.bash_profile

f:id:min117:20170117235325p:plain

$ pyenv install --list | grep ana

f:id:min117:20170117235715p:plain

$ pyenv install anaconda3-4.2.0

f:id:min117:20170118000135p:plain

$ pyenv versions

f:id:min117:20170118000600p:plain

$ pyenv global anaconda3-4.2.0

f:id:min117:20170118000535p:plain

pyenv versions

f:id:min117:20170118000531p:plain

$ ipython notebook

f:id:min117:20170118000522p:plain

f:id:min117:20170118000452p:plain

右上の「New」から Python を選択してコードを書いていく。

f:id:min117:20170118001002p:plain

Pythonコード

>>> for i in range(1,10):

(ここでタブキー)print(i)

(ここでEnter)

(最後に Shift+Enter)

f:id:min117:20170118001017p:plain

Python でグラフィックを含めたコーディング結果を試せるようになったので、turtleとかいう機能で、絵を描いてみる。このサイトのとおり進める。

qiita.com

>>> from turtle import *

>>> dir()

f:id:min117:20170118002033p:plain

>>> forward(100)

>>> circle(100)

f:id:min117:20170118001920p:plain

f:id:min117:20170118002824p:plain

f:id:min117:20170118002811p:plain

f:id:min117:20170118003341p:plain

f:id:min117:20170118003331p:plain

次は、冒頭の書籍にあるグラフを作ってみる。p34「2.3 matplotlib でグラフを作る」のコードそのまま。

>>> x_numbers = [1, 2, 3]

>>> y_numbers = [2, 4, 6]

>>> from pylab import plot, show

>>> plot(x_numbers, y_numbers)

>>> show()

f:id:min117:20170118004215p:plain

すげぇ。グラフ出た。感動する。どんどん作る。

p37「2.3.3 ニューヨーク市の年間平均気温をグラフ化する」

f:id:min117:20170118004742p:plain

iMac(macOS Sierra)に Homebrew のインストール

Mac

パッケージ管理にMacportsかHomebrewか迷うところだけど、最近はHomebrewが主流な感じを受けるので、メインマシンiMacにはこれ入れることにした。

brew.sh

サイトの案内どおりにやる。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

f:id:min117:20170117221156p:plain

f:id:min117:20170117221143p:plain

f:id:min117:20170117221113p:plain

fedora20 Python3環境を構築する(git + pyenv + anaconda)

bash Linux Python

オライリーの「Pythonからはじめる数学入門」を買った。

metaplotlibとかSymPyをインストールするのに、Python3の環境を構築する。このサイトが最高だったのでそのまま進める。

qiita.com

こういう注意はありがたい。

f:id:min117:20170117213252p:plain

記事そのまま進める。

f:id:min117:20170117213150p:plain

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv

f:id:min117:20170117213447p:plain

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc

$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc

$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc

$ source ~/.bashrc

f:id:min117:20170117213458p:plain

$ pyenv install -l | grep ana

f:id:min117:20170117213701p:plain

最新版(一番下)は 3-4.2.0 か。それをインストールする。

$ pyenv install anaconda3-4.2.0

f:id:min117:20170117214224p:plain

$ pyenv rehash

f:id:min117:20170117214646p:plain

$ pyenv global anaconda3-4.2.0

f:id:min117:20170117214631p:plain

echo 'export PATH="$PYENV_ROOT/versions/anaconda3-4.2.0/bin/:$PATH"' >> ~/.bashrc

f:id:min117:20170117214609p:plain

$ conda update conda

f:id:min117:20170117214557p:plain

f:id:min117:20170117214916p:plain

f:id:min117:20170117220221p:plain

結局はssh越しのXで止まるのか。jupyterで何とかするしかなさそう。このサイト参照にやる。

arata.hatenadiary.com

PHP 地デジ録画してるPT3プロセスIDとデバイス名を確認して録画を停止するボタンを作る

テレビ PT3 bash Linux PHP

 

こんな機能つくった。録画プロセス(青文字)を確認したうえで、そのプロセスを停止するボタン(赤枠)を動的に作る。ボタンラベルにプロセスID(PID)を表示させる。

f:id:min117:20170109233934p:plain

ソース

f:id:min117:20170109234318p:plain

f:id:min117:20170109234352p:plain

正規表現チェッカー超便利。

okumocchi.jp

VLC ExtensionsからPT3地デジ録画サーバのrecpt1を起動、停止させるluaスクリプトを試す

テレビ PT3 bash Linux

 

VLC Extensionsからサーバのrecpt1を起動、停止させる ref: http://qiita.com/mkit0031/items/bf7af3570a445e96847b · GitHub

startrecpt1.php → PT3サーバ(fedora)に置く

stoprecpt1.php → 同上

watchTV.lua VLCのあるmacOSに置く

f:id:min117:20170109095911p:plain

f:id:min117:20170109095923p:plain

f:id:min117:20170109095933p:plain

f:id:min117:20170109095949p:plain

macOSVLCのエクステンションの置き場

VLCのエクステンションを置く場所 - 適当な事を適当にかいていくブログ

f:id:min117:20170109095844p:plain

$ cd /Applications/VLC.app/Contents/MacOS/share/lua/extensions/

f:id:min117:20170109095853p:plain

f:id:min117:20170109095858p:plain

f:id:min117:20170109100415p:plain

VLCを再起動すると、エクステンションが見えるようになる。

f:id:min117:20170109100328p:plain

Docker の CentOS に Metasploit をインストールする

metasploit Docker Linux bash

前記事でRaspberryPiにMetasploitをインストールできなくて悪戦苦闘した。armは無理なのかもしれない。素直に母艦fedoraにインストールしたほうが楽なのかもしれないが、メインなので環境を汚したくなかった。

こういうときこそDockerだ。CentOS環境を作って、そこにMetasploitをインストールしてみる。

ーーー

まずは metasploitインストーラのダウンロード。以下サイトから。

www.rapid7.com

ユーザー登録が必要なので、適当に入力して進めると、ダウンロード画面になる。

f:id:min117:20170107063729p:plain

今回試す環境はCentOSなので「Linux 64-Bit」があれば足りるけど、一応全リンクをダウンロードしておいた。

ーーー

インストール方法についても記載がある。ユーザー登録したときにメールで送られて来る Activateキー が後から必要になるようだ。

f:id:min117:20170107063908p:plain

ーーー

ダウンロードできたので、Docker に アタッチして metasploit-latest-linux-x64-installer.run を叩いてみる。sudoして実行。

# ./metasploit-latest-linux-x64-installer.run

f:id:min117:20170107000943p:plain

動いた!「続けるにはEnterを押せ」とある。押すと、延々と同意を促される。全て Enter で進んで行く。

f:id:min117:20170107001111p:plain

f:id:min117:20170107001158p:plain

f:id:min117:20170107001317p:plain

 

似たようなのが延々と続いて、最後に同意を求められた。

f:id:min117:20170107001523p:plain

f:id:min117:20170107001539p:plain

f:id:min117:20170107001618p:plain

f:id:min117:20170107001629p:plain

f:id:min117:20170107001639p:plain

f:id:min117:20170107001647p:plain

f:id:min117:20170107001657p:plain

f:id:min117:20170107001707p:plain

f:id:min117:20170107001717p:plain

インストールできた!

ーーー

苦労してインストールしたので、docker のイメージをすぐに保存しておく。byobuでF2して新しいコンソールを上げ、docker commit する。

# docker commit 対象コンテナ名 保存先イメージ名

f:id:min117:20170107061016p:plain

保存できた。

f:id:min117:20170107061008p:plain

イメージの状態を docker images で確認してみる。

# docker images

f:id:min117:20170107060935p:plain

よし。

ーーー

いよいよ metasploit を起動してみる。

f:id:min117:20170107060918p:plain

どれを叩けばいいのか分からない… run.shでいいのか?

# cat run.sh

f:id:min117:20170107060900p:plain

run.shは違いそうだ。msfproを起動してみる。

# ./msfpro

f:id:min117:20170107060833p:plain

起動した!牛のロゴが出るまでかなり時間がかかった。初回ロードだけ時間がかかるのか?

ーーー

コンソールが msf になった。これでやっと MSFconsole が使える。まずはhelpで、connectコマンドについて調べてみる。

msf > help connect

f:id:min117:20170107060824p:plain

使える。早速、ローカルネットワークにいる RaspberryPi 3 に SSHサーバスキャン を試してみる。

msf > use scanner/ssh/ssh_version

msf > set RHOSTS RaspberryPiのIPアドレス/24

msf > set THREADS 50

f:id:min117:20170107062755p:plain

msf > run

f:id:min117:20170107062739p:plain

SSHサーバスキャン については、この本の「3.3.3 SSHサーバスキャン」を参照した。「metasploit Framework のssh_version モジュールを使い、ターゲットとするサーバで使われているSSHのバージョンを調べる」ためのものらしい。

ーーー

次は「脆弱性スキャン」を試してみる。上記書籍にある「Nessusでのスキャン」参照。

始める前に hosts -d で既存のデータベースを削除し、次のように load nexpose でNeXpose プラグインをロードする。

msf > hosts -d

f:id:min117:20170107071436p:plain

msf > load nexpose

f:id:min117:20170107071505p:plain

msf > help

f:id:min117:20170107071359p:plain

f:id:min117:20170107071343p:plain

f:id:min117:20170107142032p:plain

f:id:min117:20170107142042p:plain

f:id:min117:20170107142108p:plain

f:id:min117:20170107152945p:plain

f:id:min117:20170107152955p:plain

f:id:min117:20170107153001p:plain

f:id:min117:20170107153011p:plain

f:id:min117:20170107153047p:plain

f:id:min117:20170107160054p:plain

f:id:min117:20170107160105p:plain

f:id:min117:20170107161202p:plain

f:id:min117:20170107163100p:plain

f:id:min117:20170107162833p:plain

f:id:min117:20170107162815p:plain

f:id:min117:20170107162805p:plain

f:id:min117:20170107162754p:plain

f:id:min117:20170107175126p:plain

PT3で録画したハイビジョンtsファイルに埋め込まれたEPGから番組情報をコマンドで取り出す

テレビ bash Linux Python PT3

録画したハイビジョンに埋め込まれているEPG情報から番組名を抜き出したい。素晴らしいライブラリ発見。

github.com

さっそく使う。

$ git clone https://github.com/youzaka/ariblib

$ cd ariblib

$ ls

f:id:min117:20170106063924p:plain

EPG情報の表示はこれ。

f:id:min117:20170106063806p:plain

Pythonファイルにする。

$ vim arib_EPG.py

f:id:min117:20170106064059p:plain

f:id:min117:20170106064116p:plain

使ってみる。

$ python3 arib_EPG.py サンプル.ts

f:id:min117:20170106064203p:plain

f:id:min117:20170106064325p:plain

信じられない便利さ。あとはこれを配列に読み込んで、start_timeをtsファイル名の日時と比較→同じだったらtitileをファイル名を付与する ようなbashスクリプトを組めば良い。素晴らしい。

ーーー

インストールしてどの場所にcdしていても使えるようにする。python3 を明示して実行する。

# sudo python3 setup.py install

f:id:min117:20170107203721p:plain

f:id:min117:20170107203754p:plain