
नियंत्रित ट्रैफ़िक कैप्चर के लिए hostapd, dnsmasq और iptables NAT का उपयोग करने वाला दुष्ट खुला वाई-फ़ाई एक्सेस पॉइंट। रीयल-टाइम क्लाइंट मॉनिटरिंग, DNS/DHCP लॉगिंग और Wireshark-आधारित ट्रैफ़िक विश्लेषण को सक्षम करता है।
नियंत्रित वातावरण में ट्रैफ़िक कैप्चर के लिए रोग ओपन वाई-फ़ाई एपी। अपलिंक इंटरफ़ेस की ओर hostapd (नेटिव nl80211 AP मोड) + dnsmasq (DHCP/DNS) + iptables NAT का उपयोग करता है।

iw phy → Supported interface modes: ... AP)।hostapd, dnsmasq, iw, iptables, rfkill, wireshark।fake_ap.sh के शीर्ष पर वेरिएबल्स को संपादित करें।
INTERNET_IFACE — इंटरनेट के साथ अपलिंकयह वह इंटरफ़ेस है जिसमें पहले से डिफ़ॉल्ट रूट है (ईथरनेट, USB एडॉप्टर, वाई-फ़ाई क्लाइंट, आदि)। नाम मशीन के अनुसार भिन्न होते हैं (eth0, enp3s0, wlp3s0, …)।
ip route | grep default
# default via 192.168.1.1 dev enp3s0 ...
# ^^^^^^
# use this name
INTERNET_IFACE को dev के बाद वाले इंटरफ़ेस पर सेट करें।
AP_IFACE — नकली एपी के लिए वायरलेस कार्डiw dev से भौतिक वाई-फ़ाई इंटरफ़ेस का उपयोग करें। अक्सर wlan0, लेकिन यह wlp2s0 या समान हो सकता है।
iw dev
# phy#0
# Interface wlan0
# ^^^^^
# use this name
phy पर वह इंटरफ़ेस चुनें जो AP मोड का समर्थन करता है (iw phy → Supported interface modes: ... AP)। Docker ब्रिज (docker0, br-*) या वर्चुअल इंटरफ़ेस (veth*) का उपयोग न करें।
FAKE_SSID="Free_Public_WiFi"
CHANNEL="6"
INTERNET_IFACE="enp3s0"
AP_IFACE="wlan0"
GATEWAY_IP="10.0.0.1"
sudo ./fake_ap.sh
स्क्रिप्ट:
wlan0) बनाता है।hostapd शुरू करता है।dnsmasq (1.1.1.1 / 8.8.8.8 पर DHCP + DNS फ़ॉरवर्डर) शुरू करता है।sudo journalctl -t dnsmasq -f # DHCP leases + every client DNS query
sudo wireshark -i wlan0 # capture client L3 traffic (use your AP_IFACE)
sudo iw dev wlan0 station dump # client L2 state (RSSI, rate, traffic)
cat /var/lib/misc/dnsmasq.leases # active leases
अपने AP इंटरफ़ेस (जैसे wlan0) पर Wireshark खोलें और आवश्यक डिस्प्ले फ़िल्टर लागू करें।
| आप क्या सीखते हैं | फ़िल्टर |
|---|---|
| केवल SYN (नए TCP कनेक्शन) | tcp.flags.syn == 1 && tcp.flags.ack == 0 |
| चल रहे TLS हैंडशेक |
# one client's encrypted traffic + contacted domains
ip.src == 10.0.0.42 && (dns || tls.handshake.type == 1)
# passive phone model discovery
ip.src == 10.0.0.42 && (dhcp || mdns || ssdp || nbns)
# traffic to a specific domain (e.g. social)
tls.handshake.extensions_server_name contains "instagram"
# exclude broadcast/multicast noise
not (eth.dst == ff:ff:ff:ff:ff:ff) && not (ip.dst >= 224.0.0.0 && ip.dst <= 239.255.255.255)
sudo tshark -i wlan0 -Y 'tls.handshake.type==1 && ip.src==10.0.0.42' \
-T fields -e tls.handshake.extensions_server_name
sudo tcpdump -i wlan0 -w /tmp/capture.pcap
journalctl -t dnsmasq -f में भी दिखाई देती हैं।MIT — LICENSE देखें।
केवल उन नेटवर्क और उपकरणों पर उपयोग करें जिनके आप मालिक हैं या जिनके परीक्षण के लिए आपके पास लिखित प्राधिकरण है। दूसरों के ट्रैफ़िक को इंटरसेप्ट करना अवैध है।
| आप क्या सीखते हैं | फ़िल्टर |
|---|
| होस्टनेम और विक्रेता (DHCP विकल्प 12/55/60) | dhcp |
| डिवाइस का नाम + सेवाएँ (Bonjour/AirPlay/Chromecast) | mdns |
| Windows होस्टनेम / SMB | nbns |
| डिवाइस मॉडल (UPnP) | ssdp |
| MAC से विक्रेता | eth.addr == aa:bb:cc:dd:ee:ff |
| एक क्लाइंट से सभी ट्रैफ़िक | ip.addr == 10.0.0.X |
| आप क्या सीखते हैं | फ़िल्टर |
|---|
| DNS के माध्यम से हल किए गए डोमेन | dns.qry.name |
| HTTPS डोमेन (ClientHello में SNI) | tls.handshake.type == 1 |
| हल किए गए IP के साथ DNS प्रतिक्रियाएँ | dns.flags.response == 1 |
| QUIC कनेक्शन (Google, YouTube, Meta) | quic |
| सादा HTTP (पूर्ण URL) | http.request |
| ऐप/ब्राउज़र User-Agent | http.user_agent |
tls.handshake| बड़े स्थानांतरण (TLS पर HTTP/2) | tcp.len > 1000 |
| ICMP (क्लाइंट डायग्नोस्टिक पिंग) | icmp |
| आप क्या सीखते हैं | फ़िल्टर |
|---|
| HTTP POST (http:// साइटों पर लॉगिन) | http.request.method == "POST" |
| FTP क्रेडेंशियल्स | ftp.request.command in {"USER","PASS"} |
| टेलनेट | telnet |
| सादा SMTP/IMAP/POP3 | `smtp |
| पेलोड में संदिग्ध स्ट्रिंग्स | frame contains "password" |