TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
【PINE64】パイン64 part2【ROCK64】
Linux Mint 29
Java+Swingによる2chブラウザ V2C@Linux板
linuxは古いPCでも快適に動くと言っている奴
XPサポート終了で大量に格安中古機が流通の予感
次期Ubuntu、64bit推奨。一方Win8は32bitでも動く
RAID総合スレッド No.5
Linuxerの薦めるPDA
linuxは古いPCでも快適に動くと言っている奴
【Linux】DINGUX for Dingoo A320 2.0 【DualBoot】

俺が実力をつけていくのを暖かく見守るスレ


1 :2016/10/02 〜 最終レス :2018/05/22
使うディストリビューション
debian on android
debianバージョンは5
gnuのみなのでguiソフトウェアは使えない

なんの実力かって言われても正直困る
とりあえずまずはシェルスクリプトを極めようと思う

2 :
シェルスクリプトはスクリプトを見比べて違ってる部分を表示するってスクリプトにしたい

そこでifを使うことにした
スクリプトに行番号をわりふりifで判定違う部分を出力とする

俺の実力は素人に毛が生えた程度なのであしからず

3 :
あとはnmapの使い方を学びたい

当分の目標はこれにする

4 :
まずシェルスクリプトを書くには
vimで適当なファイルを作る
別につけなくてもいいが.shをつけるのが通例だそうだ
なので作ってみた
unko.sh
できない…めんどくさいのでAndroidでシェルスクリプトを作ろうとしたができなくなってる
Androidの方でリードオンリーになってるからか…
mount -o rw,remount /
できた
Debianのほうも多分そうなってるので後で解除しとく

5 :
日記スレはもうあるからそっち使ってよ
http://hayabusa6.2ch.sc/test/read.cgi/linux/1444805068/

6 :
初心者が成長してくのを暖かく見守るって方向だからスレの趣旨が違うじゃん

7 :
同じだよ

8 :
debianの方はできなかったのでAndroidで適当なディレクトリを作った
ディレクトリというのはファイルのファイルだ

mkdir unko
cd unko
unko.shを作成

シェルスクリプトは始めた#!/bin/bashからだそうなので
取りあえず

#!/bin/bash
echo "unko"

っとしてみた

9 :
>>7
そうなんだ
でも俺は違うから一人でやるよ

10 :
unko

と表示した
#!/bin/bashはシェルスクリプト呼び出し
echoは表示せよ

echo "unko";

で一区切りにして

echo "unko"; #うんこ表示

と区切らず1行に書くこともできる

#はそもそも表示されないから実行として扱われるか知らんがそうしておこう

11 :
次は変数を使ってみたいと思う
変数とは文字の置き換えだ
変数を表示したいときは$変数と書く
#!/bin/bash
u="unko"
echo $u
echo "$u"
echo "${u}"
と書く

{}がないと実行されない恐れがあるらしい
ちなみに連結する場合は

echo "$u$u"

''は変数が実行されずそのまま表示するというパターンらしい

echo '$u'

実行してみる

12 :
unko
unko
unkounko
$u
と表示された

どうやら本当のようだ

13 :
次は変数に文字ではなく数字を置き換えてみたいと思う

#!/bin/bash
u=10
echo $u

これで表示されるがこれに足し算をつける場合はecho $u+2ではない

echo `expr $u + 2`

である。
計算するときはexprと`を使う
+の間にスペースを開けるのも重要だ
実行してみる

14 :
実行した
掛け算の場合は/* で()で計算を指定したいときは\(\)である

つまり
#!/bin/bash
u=10
echo `expr \($u + 2. \) \* 3

これを実行する

15 :
36

実行した
3`だった ミス

16 :
疲れた少し休憩

17 :
さて続きやろうか
今日で基本は抑えとこう

18 :
次は配列だ
配列は一つの記号でいくつもの変数を使いたいときつかう

#!/bin/bash
a(2 3 4)
↑1つの記号に3つの変数がある
echo ${a[1]}
↑要素数を指す0が2、1が3、2が4
echo ${a[@]}
↑全部表示
echo ${#a[@]}
↑要素の数
2.3.4なので3を表示する

19 :
a=(だったな
ちょいちょいみすがある
実行結果はこうなった
2
3
234
2

20 :
次に配列を置き換え、追加、使い方を学ぶ

#!/bin/bash
a=(2 3 4)
a[2]=10
echo ${a[@]}

これは要素2番目を10に置き換えてという意味

a+=(20 30)
echo ${a[@]}

これは変数20と30を追加する

d=(`date`)
echo ${d[3]}

これはdateコマンドの三番目を表示せよってことだ

21 :
実行すると俺のAndroidではこうなった
2 3 10
2 3 10 20 30
16:31:45

22 :
これで配列は終わりだ
配列を弄るときはechoの部分を自分が使うコマンドに変えるんだ

次は条件分岐に入る

23 :
条件分岐
正常終了なら0を返す

#!/bin/bash
test 1 -eq 2; echo $?

と打つ。
テストは評価コマンド。-eqは等しければ0を等しくなければ1
そして$?は直前に行った命令が正常に終了したかどうか判定するコマンドだ

つまり1と2が等しければ0等しくなければ1だ
もちろん等しくないので1を返す

実行してみよう

24 :
1
これが帰ってきたと思う
のでtest 1 -eq 1; echo $?に変えてみよう
そうすると0が帰ってくるはずだ

評価オプションはこの通り
-eqが等しければ
-neが等しくなければ
-gtはより大きければ
-geは以上であれば
-ltは小さければ
-leは以下であれば


評価 数字 条件 数字; 正常終了したか表示せよ

ってことだな

25 :
そして評価は数値だけじゃなく文字列もある

文字列は
= 等しければ
!= 等しくなければ

ファイルの条件分岐は
-nt ファイルのどちらが新しいか比較
-ot
-e ファイルが存在するか確認
-d ディレクトリとかどうかを調べる

test -e unko.sh; echo $? 

っとやってみよう
正常終了するので0が帰ってくるはずだ

26 :
>>1 なんか変なスレがたったよぉ(;゚ Д゚)!?

27 :
そしてこれらを組み合わせるものが
-a And
-o or
組み合わせは
test 1 -eq 1 -a 2 -eq 2; echo $?

1と1が等しいく2と2が等しいか評価せよ

28 :
>>26
俺の成長を見守るスレ

29 :
とりあえずtestの条件分岐はこれまでにして
次はif文での条件分岐をしていきたい

30 :
#!/bin/bash
x=70
if test $x -gt 60
then
echo "OK"
fi

と書く
これはもしx70が60より大きかったらokと表示せよってことだ
fiは句読点みたいなもんだ

31 :
みやすさでこう書いても良い
if [ $x -gt 60 ]; then
スペースを開けるのを忘れるなよ

32 :
#!/bin/bash
x=70
if test $x -gt 60; then
echo "OK"
fi

のthen条件に合えばって意味だ
じゃあ条件似合わなかったらどうするか
elseを使う

#!/bin/bash
x=40
if test $x -gt 60; then
echo "OK"
else
echo "penis_|_"
fi

こうすると恐らくペニスがでるはずだ

33 :
更にelseからifで条件分岐もできる
#!/bin/bash
x=40
if test $x -gt 60; then
echo "OK"
elif [ $x -gt 40 ]; then
echo "penis_|_"
else
echo "manko(;)"
fi

34 :
if文の使い方は終わったので
次はcase文をやりたいとおもう

35 :
#!/bin/bash
signal="red"

case文は 

評価式 変数 in
"変数") 実行コマンド
;;←終了の合図

case $signal in
"red")
echo "manko"
;;

↓は全てに当てはまらないとき
*)
echo "tinitin"
;;
esac

36 :
少し休憩
あと少しでシェルスクリプトマスターだな

37 :
てかこれc言語に似てるな

38 :
よーしがんばるぞー
天才ハッカー目指そう

39 :
さてこれでcase文は終わった
次はwhile文だぜ!

40 :
Linux, MacOS X でも、PowerShell が動くし、

.NET も呼び出せるのに、なんで今さら、Bash?

41 :
while文は繰り返すスクリプトだ

while 評価式
do
コマンド
done

#!/bin/bash
i=0
while test $i -lt 10 
do
i=`expr $i + 1`
echo $i
done

42 :
>>40
Debian on androidだから

43 :
っていうかlinux板でwindowsのコマンドなんか使わんよ

44 :
これで1から10まで表示できたと思う
これを応用して別の実行コマンドを使ってくれ

そして次は無限ループのやり方と抜け出し方だ

45 :
無限ループはwhileの最後に:をつけるだけでいい
ただ抜け出したいときはbreakかcontinueを使う

#!/bin/bash
i=0
while :
do
test $i -lt 10
i=`expr $i + 1`

if [$i -eq 3 ]; then
continue
fi
if [ $i -eq 10]; then
break
fi

echo $i
done

46 :
色々ミスってたな
こうだ
http://i.imgur.com/NqPF85m.png

47 :
繰り返しでいえばfor文もある

for i in 配列
実行コマンド
だ!

#!/bin/bash
for i in (1 2 3 4 5)
do
echo $i
done

48 :
()はミスだ

49 :
`seq 1 100` や配列を入れたりして繰り返し使う

50 :
次はコマンド引数だ!
コマンドラインがよそのファイルへ実行するときの引数のことだ

#!/bin/bash
echo $0 ←これは引数の数
echo $1
echo $2

echo $@ 引数全部
echo $# 引数の個数

これをviで書いてsh unko.sh $0 $1を書く

51 :
実行すると引数を渡してそのファイルを実行すると思う
といってもつまり sh .sh 実行ファイルA
で実行ファイルAと.shを実行するわけだな
めんどくさくなってきたからだい部説明省いたけど

52 :
そろそろ終わるし一応最後までやるぞー

53 :
次はユーザーからの入力受付と選択肢だ

linux使ってるならy/nとか見てキーボード打ったことあるだろあれだあれ

#!/bin/bash
while :
do
read key ←読み込み宣言
echo "you pressed $key"
if[$key ="end"]; then
break
fi
done


もうこれだけ見たら説明はいらんだろ
エンドってうったらループが終わる仕組みだぞ

54 :
そんで選択肢をつけるぞ!

#!/bin/bash

select option in Y /n
do
echo "you press $option" 
break;
done
yかnを選ぶと抜けられる

55 :
いろいとみすってた
これだ

http://i.imgur.com/VlkcyZw.png

56 :
さて次はお待ちかねソースコードに行番号を降っていくぜ

さっきのコマンドライン見て???ってなったやつはこれをみたらわかる

57 :
#!/bin/bash
i=1
while read line 行番号宣言
do
echo "$i: $line"
i=`expr + 1` 1ずつ増やす
done<$1  コマンドライン引数

sh 名前.sh 別ファイルだ

58 :
>>41
PowerShell_ise なら、

$i = 0

while( $i -lt 5 ){
$i = $i + 1
echo $i
}

59 :
パワーシェル使ってないからパワーシェルの話しされてもボクチン困っちゃう

60 :
もうほとんど終わりだ
ラスト行くぞー

61 :
次は関数の使い方だな
複数の処理をまとめて使めるときのやーつな

名前() {
処理
}

これだけだ
関数内だけで処理したいときはlocalを頭につければいい

逆に関数外で呼び出したいときは
hello(){
echo "hello"
I=5
echo $i
}
echo $i

関数の外から中へ実行させたい場合は
echo "hello $1"
}
hello mike
とすればいい

62 :
基礎終わったぁああああああ

63 :
あとは煩わしいオプション覚えれば大体コマンド作れちゃうね

64 :
つまり最初に行ってたソースコード比較はもう今の基礎だけで作れてしまうわけだ

コマンドライン渡して関数内で行番号ふってif文で変数かなんか使ってチェック

あとはnmapかぁ
こっちは凄まじく長く奥が深そう

65 :
いざできるとなるとめんどくさくなってきた

66 :
とりあえずまずは少し休もう

67 :
さてさて最初に行ったチェックスクリプト作ろうかな
ダルイけど自分の約束だからな

68 :
>>57
$iが抜けてる

69 :
作る必要性がなくなったわ
すまぬ

70 :
問題が解決した

71 :
nmapは筋トレしたあとやります
2時か一時かな
明日休みだったらいいのに

72 :
筋トレとかもってまわったいいまわしはしなくていいぞ。おなにーってはっきりいえ
それから、これまではあたたかく見守ってきたけど、これからは厳しくいくからな。

73 :
ワロタ
筋トレノコとオナニーって呼んでるのお前だけだぞwww

74 :
nmapしようかな

75 :
さて書いていくか
いくら最新機種だと言っても遅いな

76 :
nmap [オプション] {ターゲット}

オプション

-A OSとバージョンを検知しようとする

-sL 指定したネットワーク内のホスト一覧を表示する(リストスキャン)

-sP pingに応答するホストの一覧を表示する(Pingスキャン)

-sS TCPのSYNパケットを送ってSYN+ACKが返ってくるか調べる(TCP SYNスキャン/TCPハーフスキャン)

-sT TCPでポートに接続できるかを調べる(TCP Connectスキャン)

-sV ソフトウェア名とバージョンの表示を有効にする

-sU UDPポートをスキャンする(UDPスキャン)

-sF FINフラグだけのパケットを送って調べる(TCP FINスキャン)

-sN まったくフラグなしのパケットを送って調べる(TCP Nullスキャン)

-sX FIN/PSH/URGフラグを立てたパケットを送って調べる(Xmasスキャン)

-sA ACKフラグだけのパケットを送って調べる(TCP ACKスキャン)

77 :
まだあるけどこんなもんだろ

nmapの使い方
指定したホストやネットワークに対し、いわゆるポートスキャンを実施し、開いているポート(稼働しているサービス)やそのバージョン、OSの種類を調査する。

78 :
-b FTP_HOST FTP_HOSTのFTPサーバを利用して調べる(FTPバウンススキャン)

-O OSを検出しようとする

-P0 Pingスキャンを行わない(アクティブなマシンを割り出すためのホスト発見プロセスが省略される)

-PS [PORTLIST] PORTLISTで指定したポート(デフォルトは80番)にSYNフラグ付きの空TCPパケットを送信する(TCP SYN Ping)

-PA [PORTLIST] PORTLISTで指定したポート(デフォルトは80番)にACKフラグ付きの空TCPパケットを送信する(TCP ACK Ping)

-PU [PORTLIST] PORTLISTで指定したポート(デフォルトは31338番)に空UDPパケットを送信する(UDP Ping)

-PE ICMPタイプ8(エコー要求)パケットをターゲットに送信する(ICMP Ping)

-PR IPベースのスキャンより高速なARPスキャンを行う(ARP Ping)

-n DNSによる逆引き名前解決を行わない
-R すべてのターゲットに対して常にDNSによる逆引き名前解決を行う

-p PORT スキャンするポートをPORTで指定する(1-1023、U:53,T:80)UはUDPポート、TはTCPポートを示す

-F 限定したポートのみ調べる(約1200ポート)

-r 調べるポートの順番を無作為(デフォルト)ではなく順に選ぶ

79 :
ターゲット

IPADDR IPアドレスで指定する(「192.168.0.1-250」「192.168.0.1,3,5」といった指定も可能)

IPADDR/MASK IPアドレスとサブネットマスクでネットワークの範囲を指定する

HOSTNAME/MASK HOSTNAMEで指定したホストのIPアドレスとサブネットマスクでネットワークの範囲を指定する

-iL TARGETFILE ファイルTARGETFILEから指定するターゲットを読み込む

-iR NUM NUMで指定した数のホストを無作為に生成する(0なら無制限)

--exclude HOST... 指定したホストHOSTやネットワークをスキャン対象から除外する(","区切り)

--excludefile EXCLUDE_FILE ファイルEXCLUDE_FILEから除外するターゲットを読み込む

80 :
ポートの状態

open ポートが開いている(TCPコネクションやUDPパケットをアクティブに受け入れている状態)

closed ポートが閉じている(探査パケットを受け入れたり応答したりするが、待機しているアプリケーションがない)

filtered パケットフィルタリングによりポートが開いているかどうかを判別できない

unfiltered ポートにアクセスできるもののポートが開いているかどうかを判別できない

open|filtered ポートが開いているのかパケットフィルタリングされているのかを判別できない

closed|filtered ポートが閉じているのかパケットフィルタリングされているのかを判別できない

81 :
自分のpcで試してみようかな

82 :
うーん奥が深いなぁ

83 :
otintin

84 :
ネットワーク監視ツール
Zabbix, OSSのNagios

脆弱性診断
Vuls

ハニーポット・不正アクセス攻撃
Cowrie

GUIで、ポートスキャン(nmap)
Zenmap

Zenmap を使えばいい

85 :
zenmap使えねーし使うきねー

86 :
chrootすリナックス使えまくるな

87 :
>>1よ、迷わず成仏して下さい。
南無阿弥陀仏南無阿弥陀仏

88 :
結局すぐ飽きて放棄されちゃうんだよね
日記スレでよかったじゃん

89 :
>>88
お前ID:h6V4mIzlだろ
粘着してるとか気持ち悪い

90 :
ばけつに氷水を張ってそこに入れることだな

91 :


92 :
さて今回はDebian on androidをやっていきたいと思う

93 :
linux on android自体完成されたプロジェクトだったし、Androidのバージョンが上がるにつれ皆開発に飽きてしまった経緯と、vncで動かせるアプリが完成してしまったという経緯があるのでそれでいいんじゃね?というリナクサー特有のそれcuiでできるじゃん思考が誕生...
結果開発がストップ
試したところ最新の適応してるアーキテクチャがDebian先輩だけだったので素人の俺がシェルスクリプトを完成させたいと思う

94 :
ターミナルエミュレータってコピペできないのが玉に瑕だよね
俺のだけか知らんけどさ

95 :
とりあえず入れてshしてみたところ
エラー libsigchain so
とでてきた

96 :
なのでchroot のところと変数のところにunset LD_PRELOADと書いた

97 :
するとリブシグチェインは消えた
元々パスが通ってなかったから関係ないと思うけどな

いくつかのapt-getはでパッケージは入れられるものの問題が生じる
またapt-get upgradeもしくはupdateを使うとエラーが生じる 

それとgnuバージョンが5.0なので8.0に上げる
今回の課題はこれだ

98 :
何を使っててどんなことを望んでるのかよくわからないが xterm なら shift+左ボタンでコピーできるよ。
script コマンドなんかも知ってて損は無いと思うよ。

99 :
あとcuiでlinuxを使うことを目的としてるのでguiを期待してる人はDebian no rootでも使ってくれ
てかぶっちゃけそっちのほうが早いと思う

100 :
>>98
すまんそっちじゃなくてAndroid Terminal emulaterで動かすことを想定してる


100〜のスレッドの続きを読む
LINUXにあきた
LinuxのGUIは不完全。コマンドラインが頼り
【BusyBox】BuildRoot【&micro;Clibc】
WindowsやめてLinuxデスクトップ! 26
【Wireless】Linuxで無線LAN【IEEE802.11】 -r5
【自治】Linux板転載禁止議論スレ
Vine Linux Thread 其の68
Linuxしてて、Windowsする訳ないと思ったとき。
【初心者】Ubuntu Linux 128【本スレ】
初心者の質問相談にやさしく答えるスレ Part12
--------------------
【PS/NS/Steam】超次元ゲイム ネプテューヌ シリーズ総合 356ハート
自分を好きになってくれる人の共通点
【ベルサイユ】悪質追っかけ最前線【YzRIKO】Part.6 [無断転載禁止]&#169;2ch.net
AppStore メモ帳アプリ24
【コロナ】札幌で新たな感染確認 大阪府の40歳代男性 出張で来札 道内39人目 ★6
【FM補完】AM局のFM化 総合 31局目【ワイドFM】
嘘つき【石井裕之その10】無責任
【489系】碓氷峠の思い出 その4【EF63】【EF63】
菊池・大谷を育てた花巻東>>藤浪・辻内のゴミを育てた大阪桐蔭
ゲームセンターCX37
【絵描き専用】何が何でも大手になりたい【オフ専用】◆6301
【出るわ出るわの】るりまさん総合スレ☆36【RRMの19禁イラスト】
【くたばれ】自転車乗りの職務質問【警察】
空調服を普段着にしている猛者お
朝から深夜まで芸人出番ですよ
Creepy Nuts part13
【縦縞の】東海大系列の高校を応援しよう11【誇り】
【武漢ウィルス】日本のコロナ感染者数が「少なすぎる」と疑念を持たれる本当の理由 ★4
ハンゲームパチンコ 159相目
株主優待の食事生活 25日目
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼