環境
- Ubuntu22.04
手順
hostapdのインストール
apt install hostapd
create_apのインストール メンテナンス終了してしまっているがまだ使える
git clone https://github.com/oblique/create_ap cd create_ap make install
作成 --daemon
をつけるとバックグラウンドで動作する その場合は create_ap --stop wlan0
で停止
create_ap wlan0 eth0 hogehoge password
コマンドの構文は以下
create_ap <アクセスポイントで使う無線デバイス名> <有線(インターネットにつながってる)デバイス名><SSID><WIfiのパスワード>
アクセスポイントとmitmproxyの連携
sysctlの設定
# IPフォワーディングを許可 sysctl -w net.ipv4.ip_forward=1 # ICMPのリダイレクトを無効化 sysctl -w net.ipv4.conf.all.send_redirects=0
ルーティング追加 ここのwlan0はさっきcreate_apで指定した無線のデバイス名
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-port 8080 iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 443 -j REDIRECT --to-port 8080
mitmproxyの実行 ここではdockerで実行する
docker run --rm -it -v $(pwd)/data:/home/mitmproxy/.mitmproxy \ -p 8081:8081 -p 8080:8080 \ --name mitm \ mitmproxy/mitmproxy \ mitmweb \ --web-host 0.0.0.0 --set tls_version_client_min=SSL3
永続化
create_apをsystemdで実行する /etc/systemd/system/create_ap.service を新規作成して以下
[Unit] Description=Create AP Service Wants=network-online.target After=network-online.target [Service] Type=simple ExecStart=/usr/bin/create_ap wlxcce1d53f344d wlp1s0 【SSID】 【Wifiのパスワード】 Restart=on-failure [Install] WantedBy=multi-user.target
自動起動有効と起動
systemctl enable create_ap.service systemctl start create_ap.service
確認
# systemctl status create_ap.service ● create_ap.service - Create AP Service Loaded: loaded (/etc/systemd/system/create_ap.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2024-02-04 09:49:11 JST; 8s ago Main PID: 2272 (create_ap) Tasks: 5 (limit: 9165) Memory: 7.5M CPU: 343ms CGroup: /system.slice/create_ap.service ├─2272 /bin/bash /usr/bin/create_ap wlxcce1d53f344d wlp1s0 xxx xxx ├─2379 dnsmasq -C /tmp/create_ap.wlxcce1d53f344d.conf.Ew9CDdxd/dnsmasq.conf -x /tmp/create_ap.wlxcce1d53f344d.conf.Ew9CDdxd/dnsm> ├─2380 /bin/bash /usr/bin/create_ap wlxcce1d53f344d wlp1s0 xxx xxx ├─2385 /usr/sbin/hostapd /tmp/create_ap.wlxcce1d53f344d.conf.Ew9CDdxd/hostapd.conf └─2434 sleep 2 2月 04 09:49:11 NuxBox dnsmasq[2379]: started, version 2.86 cachesize 150 2月 04 09:49:11 NuxBox dnsmasq[2379]: compile time options: IPv6 GNU-getopt DBus no-UBus i18n IDN2 DHCP DHCPv6 no-Lua TFTP conntrack ipset a> 2月 04 09:49:11 NuxBox dnsmasq-dhcp[2379]: DHCP, IP range 192.168.12.1 -- 192.168.12.254, lease time 1d 2月 04 09:49:11 NuxBox dnsmasq[2379]: reading /etc/resolv.conf 2月 04 09:49:11 NuxBox dnsmasq[2379]: using nameserver 127.0.0.53#53 2月 04 09:49:11 NuxBox dnsmasq[2379]: cleared cache 2月 04 09:49:11 NuxBox create_ap[2272]: hostapd command-line interface: hostapd_cli -p /tmp/create_ap.wlxcce1d53f344d.conf.Ew9CDdxd/hostapd_> 2月 04 09:49:11 NuxBox create_ap[2380]: WARN: Low entropy detected. We recommend you to install `haveged' 2月 04 09:49:12 NuxBox create_ap[2385]: wlxcce1d53f344d: interface state UNINITIALIZED->ENABLED 2月 04 09:49:12 NuxBox create_ap[2385]: wlxcce1d53f344d: AP-ENABLED
mitmproxyの永続化
docker run -it -v $(pwd)/mitmproxy:/home/mitmproxy/.mitmproxy \ -p 8081:8081 -p 8080:8080 \ -d --restart=always \ --name mitm \ mitmproxy/mitmproxy \ mitmweb \ --web-host 0.0.0.0 --set tls_version_client_min=SSL3 --no-http2