1回答

1收藏

DIY树莓派搭建随身工具箱

Raspberry Pi Raspberry Pi 4811 人阅读 | 1 人回复 | 2018-11-02

摆弄树莓派有一年多了,在这里把经验分享给大家,少走弯路。

先放图两张。



搭建目的:   
wifi信号中转站\网站服务器\IC卡渗透测试\中间人\otr…
基于树莓派3 系统为Kali Linux 2017.3  硬件包含无线网卡 Acr122u TF卡

1、解压并写入系统
推荐三星evo、evo plus不差钱的就直接上lexar 1800x吧
  1. 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.)升级系统
  1. root@kali:~# apt-get update
  2. root@kali:~# apt-get upgrade
  3. root@kali:~# apt-get disk-upgrade
  4. root@kali:~# reboot
复制代码

2.)搭建wifi
连上外置无线网卡(需支持monitor模式)
通过命令 iw list可以查看网卡是否支持monitor模式


安装hostapd和dnsmasq并配置网络
  1. root@kali:~# apt-get install hostapd dnsmasq
复制代码

这里贴出我的配置文件 供参考
/etc/hostapd.conf
  1. interface=wlan1
  2. driver=nl80211
  3. logger_syslog=-1
  4. logger_syslog_level=2
  5. logger_stdout=-1
  6. logger_stdout_level=2
  7. ctrl_interface=/var/run/hostapd
  8. ctrl_interface_group=0
  9. ssid=Rpi
  10. hw_mode=g
  11. channel=1
  12. country_code=CN
  13. beacon_int=100
  14. dtim_period=2
  15. max_num_sta=255
  16. rts_threshold=2347
  17. fragm_threshold=2346
  18. macaddr_acl=0
  19. auth_algs=1
  20. ignore_broadcast_ssid=0
  21. wmm_enabled=1
  22. wmm_ac_bk_cwmin=4
  23. wmm_ac_bk_cwmax=10
  24. wmm_ac_bk_aifs=7
  25. www_ac_bk_txop_limit=0
  26. wmm_ac_bk_acm=0
  27. wmm_ac_be_aifs=3
  28. wmm_ac_be_cwmin=4
  29. wmm_ac_be_cwmax=10
  30. wmm_ac_be_txop_limit=0
  31. wmm_ac_be_acm=0
  32. wmm_ac_vi_aifs=2
  33. wmm_ac_vi_cwmin=3
  34. wmm_ac_vi_cwmax=4
  35. wmm_ac_vi_txop_limit=94
  36. wmm_ac_vi_acm=0
  37. wmm_ac_vo_aifs=2
  38. wmm_ac_vo_cwmin=2
  39. wmm_ac_vo_cwmax=3
  40. wmm_ac_vo_txop_limit=47
  41. wmm_ac_vo_acm=0
  42. iee80211n=1
  43. # ht_capab=[HT40+][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC12][MAX-AMSDU-3839]     /*根据iw list 列出的网卡支持模式选择添加 有利于提高传输速率  */
  44. eapol_key_index_workaround=0
  45. eap_server=0
  46. own_ip_addr=127.0.0.1
  47. wpa=2
  48. #如果不设置wifi密码  则 wpa=0 同时下边的四行全部#号 注销
  49. wpa_passphrase=12345678
  50. wpa_key_mgmt=WPA-PSK
  51. wpa_pairwise=CCMP
  52. rsn_pairwise=CCM
复制代码

配置hostapd
  1. nano /etc/init.d/hostapd
复制代码

为DAEMON_CONF指定配置文件路径
  1. DAEMON_CONF=/etc/hostapd.conf
复制代码

Ctrl+x退出 y 确认保存 回车即可
  1. /etc/dnsmasq.conf
复制代码
  1. resolv-file=/etc/resolv.conf
  2. interface=wlan1
  3. listen-address=192.168.36.1
  4. addn-hosts=/etc/another_hosts
  5. ahcp-range=192.168.36.30,192.168.36.90,12h
  6. dhcp-option=3,192.168.36.1
  7. dhcp-option=6,192.168.36.1
复制代码

变态版 dnsmasq.conf
该版本dnsmasq配置文件会将所有域名后缀为.net、.com、.cn的访问指向192.168.36.1  设备接入后会自动弹出Apache首页
  1. resolv-file=/etc/resolv.conf
  2. no-poll
  3. address=/.net/192.168.36.1
  4. address=/.com/192.168.36.1
  5. address=/.cn/192.168.36.1
  6. address=/.cpm.cn/192.168.36.1
  7. interface=wlan1
  8. listen-address=192.168.36.1
  9. addn-hosts=/etc/another_hosts
  10. ahcp-range=192.168.36.30,192.168.36.90,12h
  11. dhcp-option=3,192.168.36.1
  12. dhcp-option=6,192.168.36.1
复制代码
  1. /etc/NetworkManager/NetworkManager.conf
复制代码
  1. [main]
  2. plugins=ifupdown,keyfile

  3. [ifupdown]
  4. managed=true

  5. [keyfile]
  6. unmanaged-devices=interface-name:wlan1
复制代码
  1. /etc/network/interfaces
复制代码
  1. auto lo
  2. iface lo inet loopback

  3. iface wlan1 inet static
  4. address 192.168.36.1
  5. netmask 255.255.255.0
复制代码
备注:linux有两套独立的网络管理系统  NetworkManager和network  当检测到自身配置文件改变后 会在配置冲突时优先执行 。树莓派通过wifi或者网线接口获得网络访问权限,同时把网络通过hostapd搭建的热点共享出去。

I、树莓派通过wlan0上网:
  1. root@kali:~# echo "1" > /proc/sys/net/ipv4/ip_forward
  2. root@kali:~# iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
  3. root@kali:~# iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
复制代码

II、树莓派通过eth0上网:
  1. root@kali:~# echo "1" > /proc/sys/net/ipv4/ip_forward
  2. root@kali:~# iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT
  3. root@kali:~# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
复制代码

3.)安装Apache php mariadb搭建wordpress
  1. 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
  2. root@kali:~# a2enmod proxy_fcgi setenvif
  3. root@kali:~# a2enconf php7.0-fpm
  4. root@kali:~# a2enmod ssl
  5. root@kali:~# openssl genrsa -des3 -out ca.key 2048
  6. root@kali:~# openssl req -new -x509 -days 9999 -key ca.key -out intermediate.crt
  7. root@kali:~# openssl genrsa -des3 -out server.key 2048
  8. root@kali:~# openssl rsa -in server.key -out server.key
  9. root@kali:~# openssl req -new -key server.key -out server.csr
  10. root@kali:~# mkdir ./demoCA/newcerts -p
  11. root@kali:~# touch ./demoCA/index.txt
  12. root@kali:~# echo "01" >> ./demoCA/serial
  13. root@kali:~# openssl ca -in server.csr -out certificate.crt -cert intermediate.crt -keyfile ca.key
  14. root@kali:~# cp server.key /etc/apache2
  15. root@kali:~# cp server.csr /etc/apache2
  16. root@kali:~# cp certificate.crt /etc/apache2
  17. root@kali:~# cp ca.key /etc/apache2
  18. root@kali:~# cp intermediate.crt /etc/apache2
复制代码

配置default-ssl.conf
  1. nano /etc/apache2/sites-available/default-ssl.conf
复制代码
修改以下地方 并去掉前面的#号
  1. SSLCertificateFile   /etc/apache2/certificate.crt
  2. SSLCertificateKeyFile  /etc/apache2/server.key
  3. SSLCACertificateFile  /etc/apache2/intermediate.crt
复制代码
安装wordpress
  1. root@kali:~# wget https://cn.wordpress.org/wordpress-4.9.1-zh_CN.zip
  2. root@kali:~# unzip wordpress-4.9.1-zh_CN.zip
  3. root@kali:~# cp -r wordpress/* /var/www/html
  4. root@kali:~# service mariadb start
  5. root@kali:~# /usr/bin/mysql_secure_installation
  6. root@kali:~# mariadb -u root -p
  7. MariaDB [(none)]>CREATE DATABASE wordpress;
  8. Query OK,1 row affected (0.00 sec)

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

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

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

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

  17. MariaDB [(none)]>exit
  18. Bye
  19. root@kali:~# reboot
复制代码
开启服务 部署wordpress
  1. root@kali:~# service mariadb start
  2. root@kali:~# service apache2 start
  3. root@kali:~# service php7.0-fpm start
  4. root@kali:~# service hostapd start
  5. root@kali:~# service dnsmasq start
  6. root@kali:~# chown www-data:www-data -R /var/www/
复制代码
连接树莓派搭建的wifi 账号:Rpi 密码:12345678 浏览器访问http://192.168.36.1/ 做最后的部署

配置wordpress上传文件大小限制
  1. root@kali:~# nano /etc/php/7.0/apache2/php.ini
复制代码
修改以下地方
  1. post_max_size = 200M
  2. upload_max_filesize = 200M
复制代码

3.其他配置

1.)设置开机自动开启wifi
  1. root@kali:~# systemctl enable dnsmasq.service
  2. root@kali:~# systemctl enable hostapd.service
复制代码

2.)开机自动启动web服务
  1. root@kali:~# systemctl enable mariadb.service
  2. root@kali:~# systemctl enable php7.0-fpm.service
  3. root@kali:~# systemctl enable apache2.service
复制代码

3.)安装常用小软件
  1. root@kali:~# apt-get install leafpad tightvncserver fille-roller
复制代码

4.)安装中文支持
  1. root@kali:~# apt-get install fonts-wqy-microhei
  2. 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  拆解后 测量尺寸 淘宝定制亚克力外壳(哈哈 只花了四元 包邮),然后自己焊两根数据线进行连接即可。
数据线在保证美观的前提下尽可能的短,并且屏蔽层一定要焊接上。这样才能确保数据传输的顺畅。
读取卡数据、写入数据的基本命令
  1. root@kali:~# mfoc -O oldcard.mfd
  2. root@kali:~# mfoc -O newblankcard.mfd
  3. root@kali:~# nfc-mfclassic W a oldcard.mfd newblankcard.mfd
复制代码

带着树莓派 携带多个TF卡 手机安装 juicessh 随时随地嗨起来(注意:系统关机后才能切断电源,否则容易造成内存卡数据错误,无法运行一些程序。此时可以更换一张内存卡,启动树莓派后将数据错误的TF卡通过读卡器连到树莓派上,通过 fsck.ext4命令进行修复)

po一张美美哒饭卡


以上。嗯 还有树莓派上的小网站

以上,搭建完毕

本文作者:Rc4x,转载自FreeBuf













关注下面的标签,发现更多相似文章
分享到:
回复

使用道具 举报

回答|共 1 个

倒序浏览

沙发

风之物语

发表于 2018-11-2 16:18:14 | 只看该作者

补充:

遗漏处:

编辑 /etc/default/hostapd

去掉DAEMON_CONF 前的注释,并设置它的值为hostapd配置文件的绝对路径,以本文为例:

DAEMON_CONF="/etc/hostapd.conf"
其他问题:

今天实际操作过程中发现hostapd使用的网卡是外置usb网卡时,不能随系统启动而自动启动热点。究其原因是hostapd依赖某个东西,但是软件作者并未考虑到。尝试使用network-online.target也不行  (https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/

研究了好长时间才找到解决方法

编辑  /lib/systemd/system/hostapd.service 在[service]下添加 Restart=on-failure 变成如下内容
[Unit]

Description=Advanced IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator

After=network.target
[Service]

Type=forking

PIDFile=/run/hostapd.pid

EnvironmentFile=/etc/default/hostapd

ExecStart=/usr/亲爱的in/hostapd -P /run/hostapd.pid -B $DAEMON_OPTS ${DAEMON_CONF}

Restart=on-failure
[Install]

WantedBy=multi-user.target
另外在hostapd.conf中如果不使用WEP可以将auth_algs=1注释掉

使用iee80211n=1的时候一定要指定ht_capab的值

最后wpa=3 则同时支持wpa1/wpa2

wpa_pairwise和rsn_pairwise的值可以指定为 TKIP CCMP
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条