Wireshark ایک سرکردہ اوپن سورس نیٹ ورک ٹریفک تجزیہ کار ہے، جو ریئل ٹائم میں پیکٹس کیپچر اور معائنہ کے لیے استعمال ہوتا ہے۔ یہ ٹول دو ہزار سے زیادہ نیٹ ورک پروٹوکولز کو سپورٹ کرتا ہے اور تمام بڑے پلیٹ فارمز پر کام کرتا ہے۔ Wireshark User Guide (2026) کے مطابق، یہ یوٹیلیٹی موبائل اور ویب ڈویلپمنٹ میں نیٹ ورک کی تشخیص، API ڈیبگنگ اور سیکیورٹی تجزیہ کے لیے استعمال ہوتی ہے۔
اہم نکات
Wireshark ایک اوپن سورس پروگرام (GPLv2) ہے جو کمپیوٹر کے نیٹ ورک انٹرفیس سے گزرنے والے ڈیٹا پیکٹس کیپچر کرتا ہے۔ یہ OSI ماڈل کی ڈیٹا لنک لیئر پر کیپچر کے لیے libpcap (Unix) یا Npcap (Windows) لائبریری پر مبنی ہے۔
عام موڈ میں نیٹ ورک کارڈ صرف وہ فریم وصول کرتا ہے جو اس کے MAC ایڈریس کے لیے بھیجے گئے ہوں۔ Wireshark انٹرفیس کو promiscuous (غیر ممیز) موڈ میں لے جاتا ہے، جس میں سسٹم وصول کنندہ سے قطع نظر تمام گزرنے والے فریموں کو پروسیس کرتا ہے۔ کیپچر شدہ ڈیٹا raw socket کے ذریعے کرنل کو منتقل ہوتا ہے، اس کے بعد libpcap لائبریری اسے تجزیہ کے لیے یوزر اسپیس میں کاپی کرتی ہے۔
Wireshark ماڈیولر آرکیٹیکچر استعمال کرتا ہے: ہر پروٹوکول ایک الگ dissector — پلگ ان کے طور پر لاگو ہوتا ہے، جو بائنری ڈیٹا پارس کرتا ہے اور اسے منظم شکل میں دکھاتا ہے۔ 2026 تک پروگرام میں HTTP/2، QUIC، gRPC اور MQTT سمیت 2 874 پروٹوکولز کے لیے dissectors لاگو ہوئے ہیں۔ Dissectors پروٹوکول ٹری سسٹم کے ذریعے کام کرتے ہیں — ہر پیکٹ پرت در پرت پارس ہوتا ہے: Ethernet فریم سے ایپلیکیشن لیئر تک۔
// کسٹم پروٹوکول کے لیے ایک سادہ ڈسیکٹر کی مثال
static int dissect_custom(tvbuff_t *tvb, packet_info *pinfo,
proto_tree *tree, void *data) {
proto_item *ti = proto_tree_add_item(tree, hf_custom_field,
tvb, 0, tvb_captured_length(tvb), ENC_NA);
return 0;
}
Wireshark کا گرافیکل انٹرفیس تین پینلز میں تقسیم ہے: پیکٹ کی فہرست (packet list)، پروٹوکول کی تفصیلات (packet details) اور ہیکس ڈمپ (packet bytes)۔ ہر پینل ریئل ٹائم میں اپ ڈیٹ ہوتا ہے اور انٹرایکٹو نیویگیشن سپورٹ کرتا ہے — پیکٹ کی قطار پر کلک کرنے سے اس کا مکمل ڈھانچہ کھل جاتا ہے۔
یہ ٹول pcap، pcapng، snoop اور NetMon فارمیٹس میں کیپچر فائلیں پڑھتا ہے۔ JSON، XML، CSV اور سادہ متن میں ایکسپورٹ ممکن ہے۔ اہم ایپلیکیشن لیئر پروٹوکولز میں — HTTP/HTTPS، DNS، DHCP، TCP، UDP، TLS، QUIC، WebSocket، MQTT، AMQP اور Protobuf شامل ہیں۔ موبائل ڈویلپمنٹ کے لیے سٹریم ملٹی پلیکسنگ کے ساتھ gRPC اور HTTP/2 کی حمایت خاص طور پر اہم ہے۔
بلٹ ان یوٹیلیٹیز میں Follow Stream (مکمل TCP/UDP/TLS مکالمے کی تعمیر نو)، IO Graph (تھرو پٹ چارٹ)، گفتگو کے اعدادوشمار (Conversations) اور پروٹوکول درجہ بندی (Protocol Hierarchy) شامل ہیں۔ Flow Graph فیچر نوڈس کے درمیان پیکٹس کی ترتیب کو تصوراتی شکل دیتا ہے، جس سے کلائنٹ-سرور تعامل کی ڈیبگنگ میں تاخیر کے اسباب تلاش کرنا آسان ہوتا ہے۔
کیپچر کا آغاز نیٹ ورک انٹرفیس — Ethernet، Wi-Fi، Bluetooth PAN یا Loopback کے انتخاب سے ہوتا ہے۔ Windows پر WinPcap API Compatible Mode میں Npcap انسٹال کرنے کی ضرورت ہو سکتی ہے۔ موبائل ڈیوائسز پر کیپچر کے لیے SSH ٹنل کے ذریعے Remote Packet Capture استعمال ہوتا ہے۔
Android ڈیوائس پر tcpdump یا PCAPdroid کے ذریعے ٹریفک کیپچر کی جاتی ہے اور پھر فائل ورک کمپیوٹر پر منتقل ہوتی ہے۔ ADB کے ذریعے ریموٹ کیپچر کا کمانڈ:
# ADB shell کے ذریعے Android پر ٹریفک کیپچر
adb shell tcpdump -i wlan0 -s 0 -w /sdcard/capture.pcap
# کمپیوٹر پر کاپی کرنا
adb pull /sdcard/capture.pcap .
Windows پر localhost (127.0.0.1) ٹریفک فزیکل انٹرفیس سے نہیں گزرتی، اس لیے Wireshark اسے براہ راست نہیں دیکھتا۔ حل — Loopback Support آپشن کے ساتھ Npcap انسٹال کرنا یا RawCap کے ذریعے ٹریفک ری ڈائریکٹ کرنا۔ Linux اور macOS پر loopback انٹرفیس (lo) بغیر اضافی ترتیب کے کیپچر ہو جاتا ہے۔
Wireshark دو قسم کے فلٹر پیش کرتا ہے: capture filters (کیپچر سے پہلے، libpcap سطح پر لاگو) اور display filters (پہلے سے کیپچر شدہ ڈیٹا پر لاگو)۔ Capture filters BPF (Berkeley Packet Filter) سنٹیکس استعمال کرتے ہیں، display filters — آٹو کمپلیشن کے ساتھ Wireshark کی اپنی زبان۔
BPF فلٹرز tcpdump فارمیٹ میں لکھے جاتے ہیں اور کرنل میں چلتے ہیں، جس سے زیادہ بوجھ پر پیکٹ کے نقصان میں کمی آتی ہے۔ فلٹر کی مثالیں:
| فلٹر | مقصد |
|---|---|
| tcp port 80 | صرف معیاری پورٹ پر HTTP ٹریفک |
| host 192.168.1.1 | مخصوص ہوسٹ کے پیکٹس |
| not arp | ARP درخواستوں کے علاوہ تمام پیکٹس |
Display filters بعد میں لاگو ہوتے ہیں اور منطقی آپریٹرز and، or، not کے ساتھ پیچیدہ شرائط سپورٹ کرتے ہیں۔ مثال: http.request.method == "POST" and ip.src == 192.168.0.100 مخصوص IP سے صرف POST درخواستیں فلٹر کرے گا۔ فلٹرز دوبارہ استعمال کے لیے پسندیدہ کے طور پر محفوظ کیے جا سکتے ہیں۔
HTTP ٹریفک Wireshark میں قابل مطالعہ شکل میں دکھائی دیتی ہے: درخواست کا طریقہ، URI، ہیڈرز اور جواب کا جسم۔ Follow TCP Stream فنکشن کلائنٹ اور سرور کا مکمل مکالمہ ایک ہی ونڈو میں جمع کرتا ہے۔ HTTPS کے لیے TLS سیشنز کی ڈکرپشن درکار ہے، کیونکہ مواد انکرپٹڈ ہے۔
Chrome اور Firefox براؤزر SSLKEYLOGFILE انوائرنمنٹ ویری ایبل سپورٹ کرتے ہیں، جو TLS سیشن کلیدوں کو ٹیکسٹ فائل میں لکھتا ہے۔ Wireshark اس فائل کو ریکارڈز ڈکرپٹ کرنے کے لیے استعمال کرتا ہے۔ ترتیب Preferences → Protocols → TLS → (Pre)-Master-Secret log filename کے ذریعے کی جاتی ہے۔
# TLS کلیدوں کی لاگنگ کے ساتھ Chrome لانچ کرنا
export SSLKEYLOGFILE=/tmp/sslkeys.log
google-chrome .
# کیپچر کے بعد Wireshark میں راستہ بتائیں
# Edit → Preferences → Protocols → TLS → Log Filename
gRPC ٹرانسپورٹ کے طور پر HTTP/2 اور ڈیٹا سیریلائزیشن کے لیے Protobuf استعمال کرتا ہے۔ Wireshark gRPC پیغامات ڈکرپٹ کرتا ہے، اگر ڈھانچوں کی تعریفوں کے ساتھ .proto فائل فراہم کی جائے۔ Protobuf dissector بائنری فیلڈز کو proto فائل کے ناموں سے ملاتا ہے، جو مائیکرو سروسز آرکیٹیکچر کی ڈیبگنگ میں اہم ہے۔
Wireshark کے ذریعے موبائل ڈیبگنگ کے لیے ڈیوائس کے ٹریفک کو کمپیوٹر پر پراکسی کرنا ضروری ہے۔ سب سے قابل اعتماد طریقہ — لیپ ٹاپ پر Wi-Fi ایکسس پوائنٹ بنانا اور NAT کے ذریعے ٹریفک ری ڈائریکٹ کرنا۔ Android پر root حقوق کے بغیر PCAPdroid ایپ کے ساتھ VPN طریقہ بھی دستیاب ہے۔
PCAPdroid ایک لوکل VPN سروس بناتا ہے جو ایپس کے ٹریفک کو UDP سٹریم کے ذریعے Wireshark پر ری ڈائریکٹ کرتی ہے۔ ایپ کو root ایکسس درکار نہیں ہوتا اور یہ انفرادی پروسیسز کے مطابق فلٹرنگ سپورٹ کرتی ہے۔ حاصل شدہ pcap فائلیں مکمل تجزیہ کے لیے Wireshark میں کھلتی ہیں۔
# کمپیوٹر پر PCAPdroid سے ٹریفک وصول کرنا
# PCAPdroid → Settings → PCAP dumper → UDP Exporter
nc -l -u 192.168.0.10 12345 > capture.pcap
Wireshark ایک جامع ٹول ہے، لیکن مخصوص کاموں کے لیے مزید مخصوص حل موجود ہیں۔ tcpdump گرافکس کے بغیر سرور کیپچر کے لیے زیادہ موثر ہے، Charles Proxy HTTPS ٹریفک کے تجزیہ کے لیے زیادہ آسان ہے، اور Fiddler — چلتے پھرتے درخواستیں تبدیل کرنے کی صلاحیت کے ساتھ ویب ٹریفک کے معائنے کے لیے موزوں ہے۔
Charles Proxy اپنی SSL سرٹیفیکیشن کے ذریعے HTTPS کو روکنے کی صلاحیت کے ساتھ انٹرمیڈیٹ پراکسی سرور کے طور پر کام کرتا ہے۔ Wireshark کے برعکس، Charles کو SSLKEYLOGFILE ترتیب درکار نہیں ہوتی اور یہ ٹریفک کو نہ صرف دیکھ سکتا ہے بلکہ تبدیل بھی کر سکتا ہے — جوابات تبدیل کرنا، تاخیر کی نقل کرنا اور درخواستیں دہرانا۔
Fiddler .NET ایکو سسٹم میں مقبول ایک اور پراکسی ٹول ہے۔ یہ بلٹ ان درخواست ایڈیٹر، mocks کے لیے AutoResponder سپورٹ اور کسٹم درخواستیں بنانے کے لیے کمپوزر فراہم کرتا ہے۔ Fiddler براؤزر کی ویب ٹریفک کے تجزیہ کے لیے زیادہ موزوں ہے، Wireshark — نچلی سطح کے نیٹ ورک تجزیہ کے لیے۔
| ٹول | قسم | کلیدوں کے بغیر HTTPS | ٹریفک میں تبدیلی |
|---|---|---|---|
| Wireshark | سنیفر | نہیں (SSLKEYLOGFILE درکار) | صرف دیکھنا |
| Charles | پراکسی | ہاں (کسٹم سرٹیفکیٹ) | ہاں |
| Fiddler | پراکسی | ہاں (کسٹم سرٹیفکیٹ) | ہاں |
| tcpdump | سنیفر | نہیں | صرف دیکھنا |
Wireshark کے لیے ٹریفک کیپچر کے بنیادی اصولوں کی سمجھ ضروری ہے۔ عام منظرناموں میں سے ایک — tcp.analysis.ack_rtt فلٹر کے ذریعے موبائل ایپ میں تاخیر کے ذریعہ کی تلاش۔ سست HTTP درخواستیں تلاش کرنے کے لیے http.time 1 سے بڑی شرط استعمال کریں۔
سست HTTP درخواستیں تلاش کرنے کے لیے http.time 1 سے بڑا فلٹر کریں — Wireshark 1 سیکنڈ سے زیادہ جوابی وقت والی درخواستیں دکھائے گا۔ مخصوص سرور کے تجزیہ کے لیے ip.addr کے ساتھ جوڑیں۔ 1 سیکنڈ وقفہ والا IO Graph بوجھ کی چوٹیاں واضح دکھائے گا۔
Wireshark File مینیو کے ذریعے CSV، JSON اور XML میں ایکسپورٹ سپورٹ کرتا ہے۔ خودکار تجزیہ کے لیے tshark استعمال کریں — کنسول ورژن جو CI/CD پائپ لائنز میں کام کرتا ہے۔ Tshark وہی فلٹرز اور آؤٹ پٹ فارمیٹس سپورٹ کرتا ہے جو گرافیکل ورژن۔
Wireshark کے لیے ٹریفک کیپچر کے بنیادی اصولوں کی سمجھ ضروری ہے۔ عام منظرناموں میں سے ایک — tcp.analysis.ack_rtt فلٹر کے ذریعے موبائل ایپ میں تاخیر کے ذریعہ کی تلاش۔ سست HTTP درخواستیں تلاش کرنے کے لیے http.time 1 سے بڑی شرط استعمال کریں۔
سست HTTP درخواستیں تلاش کرنے کے لیے http.time 1 سے بڑا فلٹر کریں — Wireshark 1 سیکنڈ سے زیادہ جوابی وقت والی درخواستیں دکھائے گا۔ مخصوص سرور کے تجزیہ کے لیے ip.addr کے ساتھ جوڑیں۔ 1 سیکنڈ وقفہ والا IO Graph بوجھ کی چوٹیاں واضح دکھائے گا۔
Wireshark File مینیو کے ذریعے CSV، JSON اور XML میں ایکسپورٹ سپورٹ کرتا ہے۔ خودکار تجزیہ کے لیے tshark استعمال کریں — کنسول ورژن جو CI/CD پائپ لائنز میں کام کرتا ہے۔ Tshark وہی فلٹرز اور آؤٹ پٹ فارمیٹس سپورٹ کرتا ہے جو گرافیکل ورژن۔
اکثر پوچھے جانے والے سوالات
Wireshark پیکٹ ویژولائزیشن، بلٹ ان فلٹرز اور اعدادوشمار کے ساتھ گرافیکل انٹرفیس فراہم کرتا ہے۔ tcpdump — GUI کے بغیر ایک کنسول یوٹیلیٹی ہے، جو SSH کے ذریعے سرور کیپچر کے لیے آسان ہے۔ Wireshark tcpdump فائلیں پڑھ سکتا ہے اور اس کے برعکس بھی۔
ڈکرپشن کے لیے TLS سیشن کلیدوں کی فائل (SSLKEYLOGFILE) درکار ہے۔ Chrome اور Firefox انوائرنمنٹ ویری ایبل کے ساتھ چلانے پر کلیدیں ایکسپورٹ کرتے ہیں۔ فائل کا راستہ Wireshark میں Protocols → TLS ترتیبات میں بتایا جاتا ہے۔
Windows پر loopback ٹریفک ڈیفالٹ طور پر Npcap ڈرائیور سے نہیں گزرتی۔ حل — Loopback Support آپشن کے ساتھ Npcap انسٹال کرنا یا لوکل ٹریفک کیپچر کے لیے RawCap یوٹیلیٹی استعمال کرنا۔
ہاں، ٹریفک کو کمپیوٹر پر پراکسی کر کے۔ Android PCAPdroid (بغیر root) یا tcpdump (root کے ساتھ) کے ذریعے کیپچر سپورٹ کرتا ہے۔ iOS کے لیے کیپچر کے لیے macOS کے ذریعے RVI (Remote Virtual Interface) یا jailbreak درکار ہے۔
Display filter frame contains پورے پیکٹ میں سٹرنگ یا ہیکس سیکوینس تلاش کرتا ہے۔ مثال: frame contains "password" کسی بھی فیلڈ میں password سب سٹرنگ والے پیکٹس ملے گا۔ فیلڈ کے لحاظ سے درست تلاش کے لیے http.request.uri contains "api" استعمال کریں۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں