ပရောက်စီ၏ အထွက် IP ကို စစ်ဆေးနည်း
ဦးတည်ရာမှ မြင်ရသောလိပ်စာကို သတ်မှတ်ထားသည့် ပရောက်စီချိတ်ဆက်မှတ်နှင့် နှိုင်းယှဉ်ပြီး curl ချိတ်ဆက်သည့် တစ်ဖက်ကို အထွက် IP ဟု မမှားယွင်းစေရန်။
အထွက် IP ကို ဦးတည်ရာဘက်တွင် တိုင်းတာပါ။ ပရောက်စီစာရင်းထဲက လိပ်စာသည် ကလိုင်းယင့်ဆက်သွယ်သည့် လက်ခံနားထောင်သောနေရာဖြစ်သည်။ NAT၊ လမ်းကြောင်းရွေးချယ်မှု သို့မဟုတ် နောက်ထပ်အထွက်အဆင့်တစ်ခုကြောင့် ဦးတည်ရာက အခြားရင်းမြစ်လိပ်စာကို မြင်နိုင်သည်။
IP စစ်သည့် တူညီသောချိတ်ဆက်မှတ်ကို ပရောက်စီပါ၍နှင့် မပါဘဲ အသုံးပြုကာ နှိုင်းယှဉ်ပါ။ အများသုံးဝန်ဆောင်မှုနှင့် အတိုချုံးဥပမာမှာ—
curl --noproxy '*' --connect-timeout 5 --max-time 15 https://httpbin.org/ip
curl --proxy http://203.0.113.10:8080 --noproxy '' --connect-timeout 5 --max-time 15 https://httpbin.org/ipစာရွက်စာတမ်းဥပမာအတွက် သုံးထားသော ပရောက်စီလိပ်စာကို မိမိ၏ အလုပ်လုပ်နေသောချိတ်ဆက်မှတ်ဖြင့် အစားထိုးပါ။ HTTP ပရောက်စီစာရင်းမှ တစ်ခုကို သုံးလျှင် နားထောင်သည့်လိပ်စာနှင့် တွေ့ရှိသောအထွက်လိပ်စာကို သီးခြားထားပါ။ ပထမတောင်းဆိုချက်သည် တိုက်ရိုက်ဝင်ရောက်ခွင့်ရှိသောနေရာတွင် ပရောက်စီများကို ကျော်သွားသည်။ ဒုတိယတောင်းဆိုချက်က ကျော်လွှားမှုစည်းမျဉ်းများကို ရှင်းပြီး ပရောက်စီကို ရွေးသည်။ စစ်ဆေးသည့်ဝန်ဆောင်မှုက တောင်းဆိုချက်နှစ်ခုလုံးကို ရရှိသဖြင့် ကိုယ်ရေးဒေတာ၊ ကွတ်ကီးနှင့် တိုကင်များ မပို့ပါနှင့်။
HTTP 200 ကိုသာ မကြည့်ဘဲ ပြန်ဖော်ပြသောလိပ်စာကို စစ်ပါ။ မျှော်လင့်ထားသည့်အတိုင်း ကွဲပြားသောလိပ်စာသည် ဤတောင်းဆိုချက်သုံးသည့် လမ်းကြောင်းကို ထောက်ခံသည်။ ရလဒ်နှစ်ခုတူလျှင် စာရင်းမှအချက်အလက်ကို မှားယွင်းသည်ဟု မဆုံးဖြတ်မီ ကျော်လွှားမှုစည်းမျဉ်းနှင့် ဆက်တင်များကို စစ်ပါ။
IP စစ်ဆေးသူက ဘာကိုတိုင်းတာသည်ကို စစ်ပါ
httpbin ၏ origin ရလဒ်သည် X-Forwarded-For ရှိလျှင် ၎င်းကို သုံးနိုင်သည်။ တိုက်ရိုက်ဆော့ကက်ချိတ်ဆက်သည့် တစ်ဖက်၏လိပ်စာအစား လိပ်စာအဆင့်ဆင့် ပါနိုင်သည်။ ပုံမှန် HTTP လက်ဆင့်ကမ်းမှုကို စမ်းသပ်ရာတွင် အထူးသက်ဆိုင်သည်။ တိကျမှုအရေးကြီးလျှင် မိမိထိန်းချုပ်ထားသောစစ်ဆေးသူက ပိုသင့်လျော်သည်။ သိရှိထားသောကွန်ရက်နယ်နိမိတ်တွင် အမှန်တကယ်ချိတ်ဆက်သည့် တစ်ဖက်ကို မှတ်တမ်းတင်ပြီး မိမိအခြေခံစနစ်က ထည့်ပေး၍ အတည်ပြုထားသော လက်ဆင့်ကမ်းခေါင်းစီးများကိုသာ ယုံကြည်ပါ။
curl သိထားပြီးသား လိပ်စာ
curl --proxy http://203.0.113.10:8080 --noproxy '' --output /dev/null --write-out 'peer=%{remote_ip}\n' https://example.com/remote_ip သည် curl ချိတ်ဆက်သည့်တစ်ဖက်ကို ဖော်ပြပြီး ဤဥပမာတွင် ပုံမှန်အားဖြင့် HTTP ပရောက်စီချိတ်ဆက်မှတ်ဖြစ်သည်။ curl ဘယ်ကိုချိတ်ခဲ့သည်ကို အတည်ပြုရာတွင် အသုံးဝင်သော်လည်း ပရောက်စီ၏ အပြင်ထွက်ရင်းမြစ်လိပ်စာကို မမြင်ပါ။ ထိုဒုတိယမေးခွန်းကို ဦးတည်ရာဘက်ရလဒ်က ဖြေသည်။
ပရောက်စီကို အသုံးပြုမည့်အက်ပ်အတွင်း ပြန်စစ်ပါ။ အောင်မြင်သော curl တောင်းဆိုချက်က ဘရောက်ဇာဆက်တင်ကို မပြောင်းပေးပါ။ ပရိုဖိုင်၊ တိုးချဲ့ကိရိယာ၊ ကျော်လွှားမှုစည်းမျဉ်းနှင့် စနစ်ဆက်တင်ကို လျစ်လျူရှုသည့်အက်ပ်များသည် မတူသောလမ်းကြောင်း ရွေးနိုင်သည်။ တည်နေရာအရေးကြီးလျှင် တွေ့ရှိသောအထွက်လိပ်စာ၏ တည်နေရာကို ရှာပါ။ ရလဒ်နှင့်အတူ ချိတ်ဆက်မှတ်နှင့် အထွက်လိပ်စာနှစ်ခုလုံးကို သိမ်းပါ။