1. 程式人生 > >[轉載]DIY樹莓派之隨身工具箱

[轉載]DIY樹莓派之隨身工具箱

pad ctrl+ asc ofo ssi javascrip syslog key 路由

擺弄樹莓派有一年多了,在這裏把經驗分享給大家,少走彎路。

先放圖兩張。

技術分享圖片

技術分享圖片

搭建目的:

wifi信號中轉站\網站服務器\IC卡滲透測試\中間人\otr…

基於樹莓派3 系統為Kali Linux 2017.3 硬件包含無線網卡 Acr122u TF卡

關鍵詞:

樹莓派 無線路由器;樹莓派 網站;樹莓派 Apache php mysql/mariadb;樹莓派 wordpress;樹莓派 Kali Linux;樹莓派 IC卡;Apache https

1、解壓並寫入系統

推薦三星evo、evo plus不差錢的就直接上lexar 1800x吧

dd if=kali-2017.3-rpi3-nexmon.img of=/dev/sdb bs=1M /------註意文件位置和寫入磁盤------/

寫入完畢後等待讀卡器指示燈不再閃爍然後重新插拔 可以用GParted將未使用分區擴展給系統使用,同時增加2GB的swap空間。

2、系統初始配置

首次啟動時不要連接外置無線網卡,這樣可以通過名稱有效的區分板載網卡和外置網卡。使用網線將樹莓派和路由器連接在一起,然後通過ssh連接樹莓派(在測試時發現會拋出java.io.IOException:End of IO Stream Read,重新下載系統 重新寫入,更換ssh客戶端,嘗試多次無解。於是嘗試使用usb轉ttl連接樹莓派,失敗。 後查詢資料得知樹莓派3只提供了一個硬件uart接口,默認用於藍牙。 回到ssh上,掛載內存卡 檢查/etc/ssh/發現缺少證書 從之前的版本中導入後正常 推測可能原鏡像文件有問題 點我下載證書)。

1.)升級系統

root@kali:~# apt-get update
root@kali:~# apt-get upgrade
root@kali:~# apt-get disk-upgrade
root@kali:~# reboot

2.)搭建wifi

連上外置無線網卡(需支持monitor模式)

通過命令 iw list可以查看網卡是否支持monitor模式

技術分享圖片

安裝hostapd和dnsmasq並配置網絡

root@kali:~# apt-get install hostapd dnsmasq

這裏貼出我的配置文件 供參考

/etc/hostapd.conf

interface=wlan1
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=Rpi
hw_mode=g
channel=1
country_code=CN
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wmm_enabled=1
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
www_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
iee80211n=1
# ht_capab=[HT40+][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC12][MAX-AMSDU-3839]     /*根據iw list 列出的網卡支持模式選擇添加 有利於提高傳輸速率  */
eapol_key_index_workaround=0
eap_server=0
own_ip_addr=127.0.0.1
wpa=2
#如果不設置wifi密碼  則 wpa=0 同時下邊的四行全部#號 註銷
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCM

配置hostapd

nano /etc/init.d/hostapd

為DAEMON_CONF指定配置文件路徑

DAEMON_CONF=/etc/hostapd.conf

Ctrl+x退出 y 確認保存 回車即可

/etc/dnsmasq.conf

resolv-file=/etc/resolv.conf
interface=wlan1
listen-address=192.168.36.1
addn-hosts=/etc/another_hosts
ahcp-range=192.168.36.30,192.168.36.90,12h
dhcp-option=3,192.168.36.1
dhcp-option=6,192.168.36.1

變態版 dnsmasq.conf

該版本dnsmasq配置文件會將所有域名後綴為.net、.com、.cn的訪問指向192.168.36.1 設備接入後會自動彈出Apache首頁

resolv-file=/etc/resolv.conf
no-poll
address=/.net/192.168.36.1
address=/.com/192.168.36.1
address=/.cn/192.168.36.1
address=/.cpm.cn/192.168.36.1
interface=wlan1
listen-address=192.168.36.1
addn-hosts=/etc/another_hosts
ahcp-range=192.168.36.30,192.168.36.90,12h
dhcp-option=3,192.168.36.1
dhcp-option=6,192.168.36.1

/etc/NetworkManager/NetworkManager.conf

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true

[keyfile]
unmanaged-devices=interface-name:wlan1

/etc/network/interfaces

auto lo
iface lo inet loopback

iface wlan1 inet static
address 192.168.36.1
netmask 255.255.255.0

備註:linux有兩套獨立的網絡管理系統 NetworkManager和network 當檢測到自身配置文件改變後 會在配置沖突時優先執行 。樹莓派通過wifi或者網線接口獲得網絡訪問權限,同時把網絡通過hostapd搭建的熱點共享出去。

I、樹莓派通過wlan0上網:

root@kali:~# echo "1" > /proc/sys/net/ipv4/ip_forward
root@kali:~# iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
root@kali:~# iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

II、樹莓派通過eth0上網:

root@kali:~# echo "1" > /proc/sys/net/ipv4/ip_forward
root@kali:~# iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT
root@kali:~# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

3.)安裝Apache php mariadb搭建wordpress

root@kali:~# apt-get install libapache2-mod-php7.0 mariadb-client-10.1 mariadb-server-10.1 mariadb-server-core-10.1 mariadb-client-core-10.1 mariadb-common php7.0-gd php7.0-mysql php7.0-cli php7.0-common php7.0-json php7.0-opcache php7.0-mbstring
root@kali:~# a2enmod proxy_fcgi setenvif
root@kali:~# a2enconf php7.0-fpm
root@kali:~# a2enmod ssl
root@kali:~# openssl genrsa -des3 -out ca.key 2048
root@kali:~# openssl req -new -x509 -days 9999 -key ca.key -out intermediate.crt
root@kali:~# openssl genrsa -des3 -out server.key 2048
root@kali:~# openssl rsa -in server.key -out server.key
root@kali:~# openssl req -new -key server.key -out server.csr root@kali:~# mkdir ./demoCA/newcerts -p root@kali:~# touch ./demoCA/index.txt root@kali:~# echo "01" >> ./demoCA/serial root@kali:~# openssl ca -in server.csr -out certificate.crt -cert intermediate.crt -keyfile ca.key
root@kali:~# cp server.key /etc/apache2
root@kali:~# cp server.csr /etc/apache2
root@kali:~# cp certificate.crt /etc/apache2 root@kali:~# cp ca.key /etc/apache2 root@kali:~# cp intermediate.crt /etc/apache2

配置default-ssl.conf

nano /etc/apache2/sites-available/default-ssl.conf

修改以下地方 並去掉前面的#號

SSLCertificateFile   /etc/apache2/certificate.crt
SSLCertificateKeyFile  /etc/apache2/server.key
SSLCACertificateFile  /etc/apache2/intermediate.crt

安裝wordpress

root@kali:~# wget https://cn.wordpress.org/wordpress-4.9.1-zh_CN.zip
root@kali:~# unzip wordpress-4.9.1-zh_CN.zip
root@kali:~# cp -r wordpress/* /var/www/html
root@kali:~# service mariadb start
root@kali:~# /usr/bin/mysql_secure_installation
root@kali:~# mariadb -u root -p
MariaDB [(none)]>CREATE DATABASE wordpress;
Query OK,1 row affected (0.00 sec)

MariaDB [(none)]>CREATE USER username@localhost;
Query OK,0 row affected (0.00 sec)

MariaDB [(none)]>SET PASSWORD FOR username@localhost= PASSWORD("userpassword");
Query OK,0 row affected (0.00 sec)

MariaDB [(none)]>GRANT ALL PRIVILEGES ON wordpress.* TO username@localhost IDENTIFIED BY ‘userpassword‘;
Query OK,0 row affected (0.00 sec)

MariaDB [(none)]>FLUSH PRIVILEGES;
Query OK,0 row affected (0.00 sec)

MariaDB [(none)]>exit
Bye root@kali:~# reboot

開啟服務 部署wordpress

root@kali:~# service mariadb start
root@kali:~# service apache2 start
root@kali:~# service php7.0-fpm start
root@kali:~# service hostapd start
root@kali:~# service dnsmasq start
root@kali:~# chown www-data:www-data -R /var/www/

連接樹莓派搭建的wifi 賬號:Rpi 密碼:12345678 瀏覽器訪問http://192.168.36.1/ 做最後的部署

配置wordpress上傳文件大小限制

root@kali:~# nano /etc/php/7.0/apache2/php.ini

修改以下地方

post_max_size = 200M
upload_max_filesize = 200M

3.其他配置

1.)設置開機自動開啟wifi

root@kali:~# systemctl enable dnsmasq.service
root@kali:~# systemctl enable hostapd.service

2.)開機自動啟動web服務

root@kali:~# systemctl enable mariadb.service
root@kali:~# systemctl enable php7.0-fpm.service
root@kali:~# systemctl enable apache2.service

3.)安裝常用小軟件

root@kali:~# apt-get install leafpad tightvncserver fille-roller

4.)安裝中文支持

root@kali:~# apt-get install fonts-wqy-microhei
root@kali:~# dpkg-reconfigure locales

按空格鍵把 zh_CN GB2312、zh_CN.GB18030、zh_CN.GBK、zh_CN.UTF-8 選中,Table鍵選擇 OK 回車後再選中zh_CN.UTF-8 確認後稍等片刻系統即完成配置。 這時候系統裏面的中文就能正常顯示了。

5.)加快wordpress訪問速度

由於wordpress使用了谷歌字體和js腳本,導致訪問時速度異常緩慢,可以手動修改wordpress源文件 將字體地址替換為本地地址並在本地建立相應的目錄存放對應的資源文件。

4.)nfc模塊

nfc模塊來源於 acr122u 拆解後 測量尺寸 淘寶定制亞克力外殼(哈哈 只花了四元 包郵),然後自己焊兩根數據線進行連接即可。

數據線在保證美觀的前提下盡可能的短,並且屏蔽層一定要焊接上。這樣才能確保數據傳輸的順暢。

讀取卡數據、寫入數據的基本命令

root@kali:~# mfoc -O oldcard.mfd
root@kali:~# mfoc -O newblankcard.mfd
root@kali:~# nfc-mfclassic W a oldcard.mfd newblankcard.mfd

帶著樹莓派 攜帶多個TF卡 手機安裝 juicessh 隨時隨地嗨起來(註意:系統關機後才能切斷電源,否則容易造成內存卡數據錯誤,無法運行一些程序。此時可以更換一張內存卡,啟動樹莓派後將數據錯誤的TF卡通過讀卡器連到樹莓派上,通過 fsck.ext4命令進行修復)

po一張美美噠飯卡

技術分享圖片

以上。嗯 還有樹莓派上的小網站

技術分享圖片

以上,搭建完畢

[轉載]DIY樹莓派之隨身工具箱