環境
- 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