DIY树莓派之随身工具箱
摆弄树莓派有一年多了,在这里把经验分享给大家,少走弯路。
先放图两张。
搭建目的:
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树莓派之随身工具箱的更多相关文章
- [转载]DIY树莓派之随身工具箱
摆弄树莓派有一年多了,在这里把经验分享给大家,少走弯路. 先放图两张. 搭建目的: wifi信号中转站\网站服务器\IC卡渗透测试\中间人\otr… 基于树莓派3 系统为Kali Linux 2017 ...
- 极客DIY:使用树莓派制作一架四轴无人机
如果你想DIY一台属于自己的无人机,那么接下来可以阅读这篇文章,阅读完毕之后也许对你会有启发. 这个项目主要用到的零件主要来自Erle Robotics(一个使用Linux系统的开源四轴飞行器项目). ...
- SLAM+语音机器人DIY系列:(五)树莓派3开发环境搭建——1.安装系统ubuntu_mate_16.04
摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发.本章将从树莓派3的开发环境搭建入手,为后续ros开 ...
- 树莓派创始人访谈:我们是怎么让大家都成为DIY黑客的
原文出处: Linux.CN 请记住它是为喜欢折腾的人准备的只要35美元的计算机 我永远不会忘记我第一次看到树莓派的情形.那个小巧的,信用卡大小的计算机,性能却足够强劲,可以作为一般家用PC,媒体中心 ...
- DIY一个基于树莓派和Python的无人机视觉跟踪系统
DIY一个基于树莓派和Python的无人机视觉跟踪系统 无人机通过图传将航拍到的图像存储并实时传送回地面站差点儿已经是标配.假设想来点高级的--在无人机上直接处理拍摄的图像并实现自己主动控制要怎么实现 ...
- 树莓派 Zero W——随身钥匙扣
前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文使用Markdown写成,为获得更好的阅读体验和正确的格式显示,请访问我的博客原文: http://www.cnblogs.c ...
- 基于树莓派2代的DIY无线路由器
最近手上多了一个树莓派2代,于是折腾就这么开始了. 因为总是得要个显示屏或者路由器或者插根网线才能玩,有点麻烦,所以有了此文. 设备清单: 树莓派2代 EDUP EP-N8508GS无线网卡(USB) ...
- 极客DIY:如何用Siri与树莓派“交互”
苹果在2014年推出的HomeKit智能家居平台的确给人眼前一亮的感觉.随着时间的推移,国外的黑客对HomeKit该逆向的逆向,结果也都汇总到了git.本着折腾到死的极客心态,从网上淘了一块树莓派进行 ...
- 极客DIY:使用树莓派制作一套“NAS+私有云盘+下载机”
原创作者:HackLiu 0×00 前言 如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司做了这个事情 ...
随机推荐
- git基础之常用操作
一.版本提交: (1)git add 文件名 (2)git commit -m "版本提交信息" 注:git分两个区:工作区+版本库 在电脑中看到的文件夹就是工作区 有一个隐藏的. ...
- 在同一个sql语句中如何写不同条件的count数量 (转)
end) end)"描述名称2" from 表名 t
- TOJ 3974: Region n条直线m个圆最多将圆分为几个区域
3974: Region Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByteTotal Submit: 33 ...
- rm 、git rm 、git rm --cached的区别
rm 删除文件 git rm git rm 当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用git rm git rm file = rm file+ git add f ...
- 动态生成的chosen实现模糊查询
$('select', newTr).chosen({ width: '100%', search_contains: true }); //初始化复制行下拉框
- 监视网络接口TCP状态信息数据有多种工具或命令。下面举例一些:
nstat命令 nstat kernel ======= ss -s == netstat -i netstat -s ip -s link sar -n DEV 1
- [HAOI2010][bzoj2424] 订货 [费用流]
题面 传送门 思路 这题其实挺水的......做过餐巾计划问题就能明白,是同一个道理 首先,显然刚刚好满足每一个月的需求,会得到最优解(废话-_-||) 然后我们发现,货物在不同的月之间的转移,可以比 ...
- 数组去重js方式
var selectmap = new Array(); /(\x0f[^\x0f]+)\x0f[\s\S]*\1/.test("\x0f"+selectmap.join(&quo ...
- sqlmap post注入两种方式
1. 使用抓包工具抓取数据包,sqlmap加载数据包 POST /SME/static/orderFind/orderIntfaceph HTTP/1.1 Host: abc.com User-Age ...
- 关于在生命周期当中进行setState操作的问题
当需要监听组件的属性改变的时候有两个生命周期componentWillReceiveProps和componentWillUpdate 当使用componentWillUpdate的时候可以获取到将要 ...