আইপি তথ্য অনুসন্ধান
আইপি ঠিকানার ভৌগোলিক অবস্থান, আইএসপি, এএসএন ইত্যাদি বিস্তারিত তথ্য অনুসন্ধান করুন
গোপনীয়তা এবং নিরাপত্তা
IP তথ্য জানার জন্য এই টুল ব্যবহার করার সময় নিম্নলিখিত বিষয়গুলি মনে রাখুন:
- ℹ️ অনুসন্ধান অনুরোধ তৃতীয় পক্ষের API-এ পাঠানো হয়, আমরা আপনার অনুসন্ধান ইতিহাস রেকর্ড করি না
- ℹ️ IP ভৌগোলিক অবস্থান সাধারণত শহরের স্তরে সঠিক, কোনও নির্দিষ্ট ঠিকানা নির্ণয় করা যায় না
- ℹ️ অধিকাংশ বাড়ির ব্রডব্যান্ড ডায়নামিক IP ব্যবহার করে, আপনার IP ঠিকানা নিয়মিত পরিবর্তিত হতে পারে
- ℹ️ যদি আপনি VPN বা প্রক্সি ব্যবহার করেন, তবে ফলাফলগুলি প্রক্সি সার্ভারের তথ্য দেখাবে
ব্যবহারের ক্ষেত্র
নিরাপত্তা পরীক্ষা
সন্দেহজনক আইপি ঠিকানার উৎস পরীক্ষা করে সম্ভাব্য নিরাপত্তা হুমকি চিহ্নিত করুন।
নেটওয়ার্ক ডিবাগিং
নেটওয়ার্ক সংযোগ সমস্যা নির্ণয় করুন এবং সার্ভার বা CDN নোডের ভৌগোলিক অবস্থান নিশ্চিত করুন।
ভৌগোলিক লোকেশন
ব্যবহারকারীর আইপি অনুযায়ী স্থানীয়কৃত কন্টেন্ট, ভাষা বা সেবা (যেমন CDN বিতরণ) প্রদান করুন।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
আইপি ঠিকানা লোকেশন সঠিক কি?
আইপি ভৌগোলিক অবস্থান সাধারণত শহর পর্যায়ে সঠিক, তবে ত্রুটি কয়েক দশক থেকে কয়েক শত কিলোমিটার পর্যন্ত হতে পারে। আইপি ঠিকানা দিয়ে সঠিক রাস্তা বা বাড়ির নম্বর খুঁজে পাওয়া সম্ভব নয়।
আমার আইপি ঠিকানা কেন পরিবর্তিত হয়?
অধিকাংশ ঘরোয়া ব্রডব্যান্ড ডাইনামিক IP বিন্যাস (DHCP) ব্যবহার করে, যেখানে প্রদানকারী নিয়মিত আপনার আইপি পরিবর্তন করে। ব্যবসায়িক বা সার্ভারগুলি সাধারণত স্থির IP (স্ট্যাটিক IP) ব্যবহার করে।
আমার প্রকৃত আইপি কীভাবে লুকাবো?
আপনি VPN, প্রক্সি সার্ভার বা Tor নেটওয়ার্ক ব্যবহার করে আপনার প্রকৃত আইপি লুকাতে পারেন। তবে মনে রাখবেন, এই সেবাগুলি নেটওয়ার্ক গতি এবং কিছু ওয়েবসাইট অ্যাক্সেস করার ক্ষমতাকে প্রভাবিত করতে পারে।
আমার দুটি আইপি ঠিকানা কেন আছে?
আপনি সম্ভবত IPv4 এবং IPv6 উভয় আইপি ঠিকানা পাচ্ছেন। আধুনিক নেটওয়ার্ক IPv4 থেকে IPv6-এ স্থানান্তরিত হচ্ছে, এবং অনেক ডিভাইস উভয় প্রোটোকল সমর্থন করে।
IPv4 বনাম IPv6: IPv6 কেন প্রয়োজন?
IPv4 (1981)
ফরম্যাট: 4টি দশমিক সংখ্যা (যেমন 192.168.1.1)
মোট: প্রায় 43 বিলিয়ন ঠিকানা (2³² = 4,294,967,296)
সমস্যা: ঠিকানাগুলি প্রায় শেষ হয়ে যাচ্ছে, 2011 সালের মধ্যেই এগুলি সম্পূর্ণ বিনিয়োগ করা হয়েছে
দৈর্ঘ্য: 32 বিট
IPv6 (1998)
ফরম্যাট: 8টি ষোড়শভিত্তিক সংখ্যা (যেমন 2001:0db8::1)
মোট: প্রায় 340 ট্রিলিয়ন ট্রিলিয়ন ট্রিলিয়ন ঠিকানা (2¹²⁸)
সুবিধা: ঠিকানার সংখ্যা প্রায় অসীম, পৃথিবীর প্রতিটি বালির কণাকে বরাদ্দ করার জন্য যথেষ্ট
দৈর্ঘ্য: 128 বিট
IPv4 কেন যথেষ্ট নয়?
- • বিশ্বের জনসংখ্যা 8 বিলিয়ন, প্রতিটি ব্যক্তির কমপক্ষে 2-3টি ডিভাইস রয়েছে (মোবাইল, কম্পিউটার, ট্যাবলেট)
- • আইওটি ডিভাইসের বিস্ফোরণের মতো বৃদ্ধি (স্মার্ট হোম, গাড়ি, পরিধানযোগ্য ডিভাইস)
- • কোম্পানি এবং ডেটা সেন্টারগুলির জন্য বহু আইপি ঠিকানার প্রয়োজন
- • প্রাথমিক বরাদ্দ অনুপযুক্ত (যেমন MIT-এর কাছে 16 মিলিয়ন আইপি রয়েছে)
বিশেষ আইপি পরিসর
লুপব্যাক ঠিকানা
127.0.0.0/8 (127.0.0.1 - 127.255.255.255)
স্থানীয় পরীক্ষার জন্য ব্যবহৃত হয়, ডেটা নেটওয়ার্কে পাঠানো হয় না, সাধারণত 127.0.0.1 দ্বারা localhost প্রকাশ করা হয়
ব্যবহার: স্থানীয় সেবা পরীক্ষা, ডেভেলপমেন্ট ডিবাগিং
ব্যক্তিগত ঠিকানা
- 10.0.0.0/8 (10.0.0.0 - 10.255.255.255) - ক্লাস A
- 172.16.0.0/12 (172.16.0.0 - 172.31.255.255) - ক্লাস B
- 192.168.0.0/16 (192.168.0.0 - 192.168.255.255) - ক্লাস C
ল্যানের ভিতরে ব্যবহার করা হয়, সরাসরি ইন্টারনেটে অ্যাক্সেস করা যায় না, NAT রূপান্তরের প্রয়োজন হয়
ব্যবহার: পারিবারিক নেটওয়ার্ক, কোম্পানির অভ্যন্তরীণ নেটওয়ার্ক
APIPA ঠিকানা
169.254.0.0/16
যখন DHCP সার্ভার উপলব্ধ নয়, তখন সিস্টেম স্বয়ংক্রিয়ভাবে আবর্জনা ঠিকানা বরাদ্দ করে
ব্যবহার: স্বয়ংক্রিয় কনফিগারেশন (নেটওয়ার্ক কনফিগারেশন ব্যর্থ হয়েছে বোঝায়)
মাল্টিকাস্ট ঠিকানা
224.0.0.0/4 (224.0.0.0 - 239.255.255.255)
এক-থেকে-অনেক যোগাযোগের জন্য ব্যবহৃত হয়, যেমন ভিডিও স্ট্রিমিং, IPTV
রিজার্ভ ঠিকানা
- 0.0.0.0/8 - "এই নেটওয়ার্ক" বোঝায়
- 255.255.255.255 - ব্রডকাস্ট ঠিকানা
- 192.0.2.0/24 - ডকুমেন্টেশন উদাহরণের জন্য
- 198.18.0.0/15 - বেঞ্চমার্ক পরীক্ষার জন্য
সবচেয়ে শক্তিশালী পাবলিক DNS সার্ভার
Google DNS
8.8.8.8 / 8.8.4.4
2001:4860:4860::8888 / 2001:4860:4860::8844
বিশ্বের দ্রুততম এবং সবচেয়ে স্থিতিশীল, DNSSEC সমর্থন করে
Cloudflare DNS
1.1.1.1 / 1.0.0.1
2606:4700:4700::1111 / 2606:4700:4700::1001
গোপনীয়তা প্রাধান্য, অত্যন্ত দ্রুত, লগ রাখে না
Quad9 DNS
9.9.9.9 / 149.112.112.112
সুরক্ষা সুবিধা, ক্ষতিকর ওয়েবসাইট ব্লক করে
OpenDNS
208.67.222.222 / 208.67.220.220
মাতৃ-পিতৃ নিয়ন্ত্রণ, কন্টেন্ট ফিল্টারিং
এশিয়া ডিএনএস
- আলিবাবা ক্লাউড ডিএনএস (চীন): 223.5.5.5 / 223.6.6.6
- DNSPod (চীন): 119.29.29.29
- 114 ডিএনএস (চীন): 114.114.114.114
মজার আইপি তথ্য
💰 সবচেয়ে মহঙ্গা আইপি সেগমেন্ট
1.0.0.0/8 কে APNIC কয়েক মিলিয়ন ডলারে কিনেছিল গবেষণার জন্য। কিছু 'লাকি' আইপি (যেমন 8.8.8.8, 1.1.1.1) অত্যন্ত মূল্যবান, Cloudflare 1.1.1.1 কে টেলিকম কোম্পানির কাছ থেকে কিনতে বিশাল অর্থ ব্যয় করেছে।
📍 একই আইপি কেন ভিন্ন অবস্থান দেখায়?
- • আইপি ভৌগোলিক ডেটাবেস ভিন্ন (বিভিন্ন API-এর ডেটা সোর্স আলাদা)
- • ডাইনামিক আইপি পরিবর্তিত হয় (অপারেটর পুনর্বিন্যাস করে)
- • VPN/প্রক্সি সার্ভার (প্রক্সি সার্ভারের অবস্থান দেখায়)
- • CDN নোড (সবচেয়ে কাছের CDN সার্ভারের অবস্থান দেখায়)
- • মোবাইল নেটওয়ার্ক (বেস স্টেশনের অবস্থান অনিশ্চিত হতে পারে)
📊 IPv6 গ্রহণের হার
2024 সাল পর্যন্ত, বিশ্বব্যাপী IPv6 গ্রহণের হার প্রায় 40%, ভারত, মার্কিন যুক্তরাষ্ট্র এবং জার্মানি অগ্রণী, চীনে প্রায় 30%। বেলজিয়াম বিশ্বের সবচেয়ে উচ্চ IPv6 গ্রহণের দেশ, 60% এর বেশি।
🎂 প্রথম আইপি ঠিকানা
1983 সালের 1 জানুয়ারি, ইন্টারনেট অবশেষে TCP/IP প্রোটোকল গ্রহণ করে এবং প্রথম আইপি ঠিকানা জন্ম নেয়। BBN Technologies-এর লিওনার্ড ক্লাইনরক প্রথম আইপি ঠিকানা ব্যবহারকারী হিসেবে বিবেচিত হন।
🗑️ আইপি বরাদ্দের অযৌক্তিকতা
প্রারম্ভিক ইন্টারনেটে আইপি বরাদ্দ অত্যন্ত উদার ছিল: MIT (একটি বিশ্ববিদ্যালয়) পেয়েছিল 16 মিলিয়ন আইপি (সম্পূর্ণ 18.0.0.0/8), অ্যাপল কোম্পানি পেয়েছিল 16 মিলিয়ন আইপি (17.0.0.0/8)। কিন্তু সম্পূর্ণ চীনে প্রায় 33 কোটি আইপি বরাদ্দ পেয়েছে, যা প্রায় 1 বিলিয়ন ইন্টারনেট ব্যবহারকারীকে সেবা দিতে হবে — যদি প্রতি ব্যক্তির 2টি ডিভাইস ধরে নেওয়া যায়, তাহলে কমপক্ষে 2 বিলিয়ন আইপি দরকার। এই অসম বরাদ্দের কারণে চীনকে NAT প্রযুক্তি ব্যবহার করে আইপি শেয়ার করতে হয়েছে।
🚫 আইপি ব্ল্যাকলিস্ট
বিশ্বব্যাপী অনেক আইপি ব্ল্যাকলিস্ট ডাটাবেস রয়েছে (যেমন Spamhaus), যেগুলো স্প্যাম, ম্যালওয়্যার, DDoS আক্রমণ ইত্যাদির উৎস আইপি চিহ্নিত করে। একবার আইপি ব্ল্যাকলিস্টে যোগ হয়ে গেলে, ইমেইল প্রত্যাখ্যান বা ওয়েবসাইট ব্লক হওয়ার সম্ভাবনা থাকে।
🤯 আইপি ভৌগোলিক অবস্থানের অদ্ভুত কেস
ম্যাক্সমিন্ড কোম্পানির আইপি ডাটাবেসে একটি সাধারণ পরিবারকে অ্যামেরিকার ভৌগোলিক কেন্দ্র (38°N 97°W) হিসাবে ডিফল্ট সেট করা হয়েছিল, যার ফলে মিলিয়ন হাজার আইপি যেগুলোর সঠিক অবস্থান খুঁজে পাওয়া যায়নি, সেগুলো এই পরিবারের দিকে পয়েন্ট করত। এই পরিবার অকারণে হয়ে উঠল "সমগ্র মার্কিন যুক্তরাষ্ট্রের হ্যাকার বেস"—এই পরিবারকে অসংখ্য এফবিআই, পুলিশ, ঋণদাতা এবং প্রতারণার শিকারদের ফোন ও বাড়িতে আসা শুরু হয়, এমনকি কিছু মানুষ রাতের বেলা বাড়িতে ভেঙে ঢুকেছিল। 2016 সালে, এই পরিবার ম্যাক্সমিন্ডকে আদালতে গুনিয়েছিল এবং চূড়ান্তভাবে ক্ষতিপূরণ পেয়েছিল।
💸 IPv4 ঠিকানা কেনাবেচা করা যায়
IPv4 ঠিকানার অভাবের কারণে, আইপি ঠিকানা এখন একটি বাণিজ্যিক পণ্য হয়ে গেছে। কালো বাজারে এর দাম পৌঁছেছে 40 ডলার/টুকরো। 2011 সালে, মাইক্রোসফট 666,000টি আইপি ঠিকানা ব্যাংকrupt নর্টেল কোম্পানি থেকে 7.5 মিলিয়ন ডলারে কিনেছিল, যা গড়ে প্রতি আইপি প্রায় 11.25 ডলার। 2014 সালে, অ্যামাজন, মাইক্রোসফট সহ বিভিন্ন প্রযুক্তি কোম্পানিগুলো IPv4 ঠিকানা কিনতে হুড়ুম হুড়ুম করছিল, যার ফলে দাম ছাড়িয়ে গিয়েছিল।
🤦 IPv4 ডিজাইনারদের "ভুল অনুমান"
1981 সালে, IPv4 ডিজাইনাররা মনে করেছিলেন যে "42 বিলিয়ন ঠিকানা, মানুষের জীবনের মধ্যে কখনোই শেষ হবে না"। তারা কল্পনাও করেননি যে ইন্টারনেট আজ কতটা বিস্তৃত হয়ে উঠবে: বিশ্বের 8 বিলিয়ন মানুষ, প্রত্যেকের কমপক্ষে 2-3টি ডিভাইস, এবং আইওটি ডিভাইসের বিস্ফোরক বৃদ্ধি। যদি তারা শুরু থেকেই 64 বা 128 বিট ডিজাইন করে থাকত, তাহলে আজ এই ঠিকানা শেষ হওয়ার সমস্যা হত না।
🏠 127.0.0.1-এর রহস্য
127.0.0.1 (localhost) শুধু একটি ঠিকানা নয়; সম্পূর্ণ 127.0.0.0/8 স্পেস (প্রায় 16 মিলিয়ন ঠিকানা) লুপব্যাক ঠিকানা। আপনি 127.0.0.2, 127.1.2.3 ইত্যাদি যেকোনো ঠিকানা পিং করতে পারেন, সবগুলোই আপনার কম্পিউটারেই পৌঁছাবে।
⏰ IPv4 ঠিকানা শেষ হওয়ার সময়রেখা
2011 সালের 3 ফেব্রুয়ারি, IANA শেষ IPv4 ঠিকানা ব্লক বিনিয়োগ করে। 2011 সালের 15 এপ্রিল, এশিয়া-প্যাসিফিক অঞ্চল (APNIC) শেষ হয়ে যায়। 2012 সালের সেপ্টেম্বরে, ইউরোপ (RIPE NCC) শেষ হয়ে যায়। 2015 সালের সেপ্টেম্বরে, উত্তর আমেরিকা (ARIN) শেষ হয়ে যায়।
📏 দীর্ঘতম আইপি ঠিকানা
IPv6 ঠিকানা সর্বোচ্চ 39 টি অক্ষরের (8 টি গ্রুপ, প্রতিটি 4 টি হেক্সাডেসিমেল ডিজিট এবং 7 টি কোলন) দ্বারা লেখা যেতে পারে। তবে সংক্ষিপ্তকরণ নিয়ম ব্যবহার করে এটিকে উল্লেখযোগ্যভাবে সংক্ষিপ্ত করা যেতে পারে, যেমন ::1 হল IPv6 লুপব্যাক ঠিকানা।
🚀 IP ঠিকানা ইন্টারনেট গতির সাথে সম্পর্কিত নয়
অনেকে ভাবেন যে IP ঠিকানা পরিবর্তন করলে ইন্টারনেট গতি বাড়বে, কিন্তু বাস্তবে IP ঠিকানা হল নেটওয়ার্কের একটি "পোস্টাল কোড"। গতি নির্ভর করে ব্যান্ডউইথ, রুটিং এবং সার্ভারের উপর, এবং এটি IP ঠিকানার সাথে সরাসরি সম্পর্কিত নয়।
IPv6-এর বৈশিষ্ট্য এবং সুবিধা-অসুবিধা
সুবিধা
- ✓ বিশাল ঠিকানা স্পেস: 2¹²⁸ টি ঠিকানা, প্রায় অসীম
- ✓ সরলীকৃত রুটিং: স্তরবদ্ধ ঠিকানা কাঠামো, ছোট রুটিং টেবিল
- ✓ স্বয়ংক্রিয় কনফিগারেশন: SLAAC সমর্থন, DHCP এর প্রয়োজন নেই
- ✓ উন্নত নিরাপত্তা: অন্তর্নির্মিত IPsec সমর্থন
- ✓ উন্নত QoS: ফ্লো লেবেল ফিল্ড, রিয়েল-টাইম অ্যাপ্লিকেশনের জন্য অপ্টিমাইজেশন
- ✓ NAT এর প্রয়োজন নেই: প্রতিটি ডিভাইসের একটি পাবলিক IP আছে
- ✓ মোবিলিটি সমর্থন: মোবাইল ডিভাইসের জন্য উন্নত সমর্থন
অসুবিধা
- ⚠ সামঞ্জস্যতা সমস্যা: ডিভাইস এবং নেটওয়ার্ক সমর্থন প্রয়োজন
- ⚠ শেখার খরচ: ঠিকানা ফরম্যাট জটিল এবং মনে রাখা কঠিন
- ⚠ প্রবর্তন খরচ: ডিভাইস এবং সফটওয়্যার আপগ্রেড করতে হবে
- ⚠ ডুয়াল-স্ট্যাক চলাচল: প্রবর্তন পর্যায়ে IPv4 এবং IPv6 উভয়কে সমর্থন করতে হবে
সংশ্লিষ্ট IP তথ্য অনুসন্ধান সেবা
এই টুলটি নিম্নলিখিত API ব্যবহার করে সেবা প্রদান করে এবং অন্যান্য উত্তম IP অনুসন্ধান সেবা সুপারিশ করে:
IP-API.com
এই টুলটি ব্যবহার করে ⭐এই টুলটি প্রধানত ব্যবহার করে এমন API। সম্পূর্ণরূপে বিনামূল্যে (বাণিজ্যিক উদ্দেশ্য ছাড়া), ব্যাচ কুয়েরি সমর্থন করে, JSON/XML/CSV ফরম্যাট প্রদান করে। সীমাবদ্ধতা: 45 বার/মিনিট।
IPapi.co
এই টুলটি ব্যবহার করে ⭐এই টুলের জন্য বিকল্প API। মুদ্রা, ভাষা, কানেকশন টাইপ ইত্যাদি অতিরিক্ত তথ্য প্রদান করে। ফ্রি ভার্সনে মাসিক 30,000 রিকোয়েস্ট।
IPInfo.io
উচ্চ সঠিকতা, বন্ধুত্বপূর্ণ APIবিস্তারিত IP তথ্য, ASN ডেটা, ভৌগোলিক অবস্থান, কোম্পানির তথ্য ইত্যাদি প্রদান করে। ফ্রি প্ল্যান (Free Plan) প্রদান করে।
IPGeolocation.io
সমৃদ্ধ ফিচারIP ভৌগোলিক অবস্থান, সময়zone, মুদ্রা, আবহাওয়া ইত্যাদি তথ্য প্রদান করে। ফ্রি ভার্সনে মাসিক 30,000 রিকোয়েস্ট।
MaxMind GeoIP2
সবচেয়ে সঠিক, এন্টারপ্রাইজ-লেভেলIP ভৌগোলিক ডেটাবেসের শিল্প মানদণ্ড, উচ্চ সঠিকতা। অফলাইন ডেটাবেস এবং অনলাইন API উভয়ই প্রদান করে।
IPStack
সিকিউরিটি ডিটেকশনIPv4 এবং IPv6 সমর্থন করে, সিকিউরিটি মডিউল (প্রক্সি, VPN, Tor শনাক্তকরণ) প্রদান করে। ফ্রি ভার্সনে মাসিক 100 রিকোয়েস্ট।
IPData.co
থ্রেট ইন্টেলিজেন্সথ্রেট ইন্টেলিজেন্স, ASN তথ্য, কোম্পানি ডেটা প্রদান করে। ফ্রি ভার্সনে দিনে 1,500 রিকোয়েস্ট।
Abstract API
সহজে ব্যবহারযোগ্যসহজে ব্যবহারযোগ্য IP ভৌগোলিক অবস্থান API। ফ্রি ভার্সনে মাসিক 1,000 রিকোয়েস্ট, 1 রিকোয়েস্ট/সেকেন্ড সীমাবদ্ধতা।
IPRegistry
রেজিস্টার করুন, 1 লক্ষ রিকোয়েস্ট পাবেনIP ভৌগোলিক অবস্থান, কোম্পানি তথ্য, থ্রেট ডিটেকশন, ইউজার প্রক্সি রিজল্ভিং প্রদান করে। রেজিস্টার করলে 100,000 বিনামূল্যে রিকোয়েস্ট পাবেন।
DB-IP
ওপেন-সোর্স ডেটাবেসফ্রি আইপি ভৌগোলিক ডেটাবেস ডাউনলোড এবং অনলাইন কুয়েরি সেবা প্রদান করে।
IPify
পাবলিক আইপি পানপাবলিক আইপি ঠিকানা পাওয়ার জন্য বিশেষায়িত, সহজ এবং দ্রুত, সম্পূর্ণ বিনামূল্যে।
প্রোগ্রামিং দিয়ে আইপি ঠিকানা কীভাবে পাবেন?
নিচে বিভিন্ন প্রোগ্রামিং ভাষায় ভিজিটরের আইপি ঠিকানা পাওয়ার উদাহরণ কোড দেওয়া হল:
Java (Spring Boot)
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@RestController
public class IpController {
@GetMapping('/ip')
public String getClientIp(HttpServletRequest request) {
String ip = request.getHeader("CF-Connecting-IP");
if (ip == null || ip.isEmpty()) {
ip = request.getHeader("X-Forwarded-For");
if (ip != null) {
ip = ip.split(",")[0];
}
}
if (ip == null || ip.isEmpty()) {
ip = request.getHeader("X-Real-IP");
}
if (ip == null || ip.isEmpty()) {
ip = request.getRemoteAddr();
}
return ip;
}
}
PHP
function getClientIp() {
$ipKeys = [
'HTTP_CF_CONNECTING_IP',
'HTTP_X_FORWARDED_FOR',
'HTTP_X_REAL_IP',
'REMOTE_ADDR'
];
foreach ($ipKeys as $key) {
if (!empty($_SERVER[$key])) {
$ips = explode(',', $_SERVER[$key]);
return trim($ips[0]);
}
}
return $_SERVER['REMOTE_ADDR'] ?? 'Unknown';
}
$ip = getClientIp();
echo "Your IP: " . $ip;
JavaScript (Node.js)
const express = require('express');
const app = express();
app.get('/ip', (req, res) => {
const ip = req.headers['cf-connecting-ip'] ||
req.headers['x-forwarded-for']?.split(',')[0] ||
req.headers['x-real-ip'] ||
req.socket.remoteAddress;
res.json({ ip: ip });
});
app.listen(3000);
Python (Flask)
from flask import Flask, request
app = Flask(__name__)
@app.route('/ip')
def get_ip():
ip = request.headers.get('CF-Connecting-IP') or \
request.headers.get('X-Forwarded-For', '').split(',')[0] or \
request.headers.get('X-Real-IP') or \
request.remote_addr
return {'ip': ip}
if __name__ == '__main__':
app.run()
Rust
use actix_web::{web, App, HttpRequest, HttpServer, Responder};
fn get_client_ip(req: &HttpRequest) -> String {
if let Some(ip) = req.headers().get("CF-Connecting-IP") {
return ip.to_str().unwrap_or("").to_string();
}
if let Some(forwarded) = req.headers().get("X-Forwarded-For") {
if let Ok(forwarded_str) = forwarded.to_str() {
if let Some(first_ip) = forwarded_str.split(',').next() {
return first_ip.trim().to_string();
}
}
}
if let Some(ip) = req.headers().get("X-Real-IP") {
return ip.to_str().unwrap_or("").to_string();
}
req.peer_addr()
.map(|addr| addr.ip().to_string())
.unwrap_or_else(|| "Unknown".to_string())
}
async fn ip_handler(req: HttpRequest) -> impl Responder {
let ip = get_client_ip(&req);
format!("Your IP: {}", ip)
}
#[actix_web::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(|| {
App::new().route("/ip", web::get().to(ip_handler))
})
.bind("127.0.0.1:8080")?
.run()
.await
}
Go
package main
import (
"net/http"
"strings"
)
func getClientIP(r *http.Request) string {
if ip := r.Header.Get("CF-Connecting-IP"); ip != "" {
return ip
}
if forwarded := r.Header.Get("X-Forwarded-For"); forwarded != "" {
ips := strings.Split(forwarded, ",")
return strings.TrimSpace(ips[0])
}
if ip := r.Header.Get("X-Real-IP"); ip != "" {
return ip
}
return r.RemoteAddr
}
func handler(w http.ResponseWriter, r *http.Request) {
ip := getClientIP(r)
w.Write([]byte("Your IP: " + ip))
}
func main() {
http.HandleFunc("/ip", handler)
http.ListenAndServe(":8080", nil)
}
注意事项:
- • নোট: যদি আপনার ওয়েবসাইট CDN (যেমন Cloudflare) বা রিভার্স প্রক্সি (যেমন Nginx) ব্যবহার করে, তাহলে প্রকৃত আইপি পেতে নির্দিষ্ট HTTP হেডার ব্যবহার করুন
- • অগ্রাধিকার: CF-Connecting-IP > X-Forwarded-For > X-Real-IP > RemoteAddr
- • X-Forwarded-For-এ একাধিক আইপি থাকতে পারে (কমা দিয়ে আলাদা), প্রথমটি হল ক্লায়েন্টের প্রকৃত আইপি
- • ব্রাউজার পাশে JavaScript সরাসরি আইপি পায় না, এটি তৃতীয় পক্ষের API কল করতে হবে