Android で nmap

外からでなく端末内からみる.

anmap_-_Android_Network_Mapper__network_scanner_original_nmap_for_android__-_Google_Project_Hosting

anmap - Google Project Hosting

端末内にて.

$ tar xvf nmap-5.51-1.tar
tar: invalid tar magic

ん?

$ md5 nmap-5.51-1.tar
ed692f7ea2e217ca71ae1103f5bf3819  nmap-5.51-1.tar
$ ls -al $(which tar)
lrwxr-xr-x root     shell             2015-10-07 13:51 tar -> busybox
$ busybox
BusyBox v1.22.1 bionic (2015-10-06 21:51 -0700) multi-call binary.
…

新しいものに変える.

20151114-080451

BusyBox - Google Play の Android アプリ

$ busybox
BusyBox v1.24.1-Stericson (2015-11-06 19:11:24 EST) multi-call binary.
…

$ tar xvf nmap-5.51-1.tar
nmap
nmap-os-db
nmap-payloads
nmap-protocols
nmap-rpc
nmap-service-probes
nmap-services
$ ./nmap
/system/bin/sh: ./nmap: can't execute: Permission denied
$ su
# chmod +x nmap
Bad mode
# chmod 777 nmap
# ./nmap
sh: ./nmap: can't execute: Permission denied

ん?

# ls -al nmap                                                
-rw-rw---- root     sdcard_r  1907224 2015-11-14 07:45 nmap
# cp nmap* /data/local/tmp
# cd /data/local/tmp
# ls
nmap
nmap-5.51-1.tar
nmap-os-db
nmap-payloads
nmap-protocols
nmap-rpc
nmap-service-probes
nmap-services

# chmod 777 nmap
# ls -al nmap 
-rwxrwxrwx root     root      1907224 2015-11-14 07:48 nmap
# ./nmap 127.0.0.1

Starting Nmap 5.51 ( http://nmap.org ) at 2015-11-13 22:53 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00011s latency).
All 1000 scanned ports on localhost (127.0.0.1) are closed

Nmap done: 1 IP address (1 host up) scanned in 0.64 seconds

ネットワークADB向けをあける.

20151114-075706

# ./nmap 127.0.0.1

Starting Nmap 5.51 ( http://nmap.org ) at 2015-11-13 22:56 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00012s latency).
Not shown: 999 closed ports
PORT     STATE SERVICE
5555/tcp open  freeciv

Nmap done: 1 IP address (1 host up) scanned in 0.57 seconds

【急げ!!】Chromecast ユーザーにまたもや 無料クーポン配布中!!

現在配布中です.

日本では, 映画1本とNetflixの1ヶ月無料が特典のようです.

Chromecast Offers

Chromecast

Chromecast 2

あれ, テレビをONにして再度.

Chromecast 3

映画_を1_本プレゼント_-_Google_Play_の映画

パソコンのブラウザChromeからでないと無理なのかも.

いつもありがとうございます.


そのメソッド細かすぎぢゃね?

再利用されない粒度の細かいメソッドは必要なのか.

- 長過ぎるメソッド
- コメントがなければ目的が分からないメソッド

以下のサンプル.

void printOwing(double amount) {
  printBanner();
  System.out.println(“name:” + _name);
  System.out.println(“amount:” + amount);
}

をこうする.

void printOwing(double amount) {
  printBanner();
  printDetails(amount);
}

void printDetails(double amount) {
  System.out.println(“name:” + _name);
  System.out.println(“amount:” + amount);
}

うまく命名された細かいコードが好ましい理由

- 他のメソッドから使える可能性が増える
- 上位のメソッドがコメントのように読める
- オーバーライドしやすい

その他

- 良い名前がつけられないと有効ではない
- 抽出されるコードよりメソッド名が長くてもよい
- 大きなメソッドに慣れていると慣れるまで時間がかかる

「明快さが向上するならそうすれば良い」

シンプルなサンプルコードに対してやけに気にかかる言葉が連続する.

以下から抜粋.

Refactoring

Martin Fowler