ProxyChains-NG எந்தச் சுரங்கப்பாதையையும் உருவாக்குவதில்லை. அது இயக்கும் ஒரே நிரலுக்குள் வலைப்பிணைப்பு தொடர்பான libc அழைப்புகளை மாற்றும் நூலகத்தை முன்கூட்டியே ஏற்றுகிறது, எனவே எல்லை ஒரு செயல்முறையின் அழைப்பு, முழுச் சாதனத்தின் பாதை அல்ல. இந்த வேறுபாடே வெற்றிகரமான சோதனை உண்மையில் எதை நிரூபிக்கிறது என்பதைத் தீர்மானிக்கிறது. சங்கிலி வழியாக வேலை செய்யும் curl ஒரு பிடிபட்ட அழைப்பை மட்டுமே உறுதிப்படுத்துகிறது, பெயர்த் தீர்வு, UDP அல்லது ஒவ்வொரு குழந்தைச் செயல்முறையும் ஒரே பாதையில் சென்றது என்பதை அல்ல. கீழேயுள்ள வழிகாட்டி மூன்று படிகளில் பரவலைச் சரிபார்த்து, பின்னர் கொக்கி எதை அடைய முடியாது என்பதைப் பட்டியலிடுகிறது.

முன்ஏற்றம் ஒரு இணைப்பை எப்படி அடைகிறது

தொடக்கத்தில் இயக்கி libproxychains ஐ LD_PRELOAD இல் வைத்து பின்னர் இலக்கு நிரலை இயக்குகிறது. நூலகம் உண்மையான libc குறியீடுகளைத் தீர்த்து connect மற்றும் getaddrinfo போன்ற செயல்பாடுகளின் தன் பதிப்புகளால் மாற்றுகிறது. அந்தக் குறியீடுகள் வழியாகச் செல்லும் அழைப்புகள் உள்ளமைவுக் கோப்பின் SOCKS அல்லது HTTP ப்ராக்ஸிக்கு மீண்டும் எழுதப்படுகின்றன. வேறு பாதை எடுக்கும் அழைப்புகள் கொக்கியை ஒருபோதும் சந்திப்பதில்லை, அதனால்தான் உத்தரவாதம் ஒவ்வொரு அழைப்புக்கும், இயந்திரத்திற்கு அல்ல.

இயங்குநிலை இணைப்புள்ள நிரல்கள் மட்டுமே பங்கேற்கின்றன, பாதுகாப்பான இயக்கத்தின் கீழ் உள்ள setuid பைனரிகள் முன்ஏற்றத்தை முற்றிலும் புறக்கணிக்கின்றன. சந்ததிகள் சூழலை மரபுவழியாகப் பெறுகின்றன, ஆனால் இயக்கி அதை இடத்தில் வைத்திருக்கும் வரை மட்டுமே.

நூலகம் அந்தச் செயல்முறையில் ஏற்றப்பட்டுள்ளதை உறுதிப்படுத்துங்கள்

கோரிக்கையைத் தொடங்கி, அதை இயக்கிய ஷெல்லுக்குப் பதிலாக உயிருள்ள செயல்முறையை ஆராயுங்கள். maps கோப்பு இப்போது செயல்முறையில் வரைபடமாக்கப்பட்ட ஒவ்வொரு பங்கிடப்பட்ட பொருளையும் காட்டுகிறது.

proxychains4 -q curl -sS --max-time 8 https://example.com/ -o /dev/null &
pgrep -a curl
grep libproxychains /proc/$(pgrep -n curl)/maps

பொருத்தம் கொக்கியிடப்பட்ட நூலகம் இருப்பதை உறுதிப்படுத்துகிறது, அது அவசியம் ஆனால் போதாது. காலி முடிவு பொதுவாக நீங்கள் வேறொரு செயல்முறையை ஆராய்ந்தீர்கள் என்பதைக் குறிக்கிறது, உதாரணமாக இயக்கிக்கு முன் தொடங்கிய நிகழ்வுக்கு URL ஐ வழங்கிய உலாவி. வேறு எதையும் துரத்துவதற்கு முன் ldd மூலம் பைனரி இயங்குநிலை இணைப்புள்ளதா எனச் சரிபாருங்கள், ஏனெனில் நிலையான கட்டமைப்பு முன்ஏற்றத்தை ஏற்றவே முடியாது. பின்னர் இயக்கி உண்மையில் பயன்படுத்திய உள்ளமைவில் உள்ள ப்ராக்ஸி பட்டியலைப் படியுங்கள், ஏனெனில் பழைய பாதை அல்லது மூடிய துறை வேலை செய்யும் கொக்கியைத் தரும் ஆனால் வேலை செய்யும் சங்கிலியைத் தராது.

செயல்முறையை விட்டு வெளியேறும் இணைப்புகளைக் கண்காணியுங்கள்

நூலகத்தின் இருப்பு ஒவ்வொரு அழைப்பும் மீண்டும் எழுதப்பட்டதை நிரூபிக்காது, எனவே கணினி அழைப்புகளைப் பின்தொடருங்கள். கண்காணிப்பாளரின் கீழ் ஒரு கோரிக்கையை இயக்கி சாக்கெட்டுகள் உண்மையில் எங்கு சென்றன என்பதைப் படியுங்கள்.

strace -f -e trace=connect -o /tmp/pc.trace proxychains4 -q curl -sS https://example.com/ -o /dev/null
grep -o "sin_port=htons([0-9]*)" /tmp/pc.trace | sort -u

கண்காணிப்பு உங்கள் ப்ராக்ஸி இறுதிப்புள்ளிக்கான இணைப்புகளை மட்டுமே காட்ட வேண்டும், துறை உள்ளமைவுக் கோப்பின் பதிவுடன் பொருந்த வேண்டும். இலக்குத் தளத்தின் சேருமிட முகவரிகள் கண்காணிப்பில் நேரடியாகத் தோன்றினால், அந்த அழைப்பு கொக்கியைத் தவிர்த்தது, நீங்கள் தேடிய கண்டுபிடிப்பு அதுவே. கோப்பின் பெயரை நம்புவதற்குப் பதிலாக துறை எண்களை ப்ராக்ஸி பட்டியலுடன் ஒப்பிடுங்கள், ஏனெனில் மற்றொரு திட்டத்திலிருந்து எஞ்சிய உள்ளமைவு அமைதியான நேரடி அணுகலின் பொதுவான மூலமாகும். ஏற்பு பதிவுக்காகக் கண்காணிப்பை வைத்திருங்கள்; அது சில வினாடிகள் மட்டுமே எடுக்கும், பரவல் குறித்த வாதங்களை முடிவுக்குக் கொண்டுவரும்.

கொக்கி எதை மூட முடியாது என்பதைத் தீர்மானியுங்கள்

proxychains-ng திட்டம் மறுவழிப்படுத்தலை TCP க்கு மட்டுப்படுத்துகிறது, மேலும் ஸ்கிரிப்டுகள், பின்னணிச் செயல்முறைகள் மற்றும் ஏற்றப்பட்ட தொகுதிகள் பிரதான நிரலிலிருந்து வேறுபடலாம் என எச்சரிக்கிறது. UDP மற்றும் ICMP இந்த வழிமுறைக்கு வெளியே உள்ளன, எனவே அவற்றைச் சார்ந்திருப்பவை தங்கள் சொந்த ஆதரவுப் பாதையைக் கொண்டிருக்க வேண்டும். DNS proxy_dns அமைப்பையும் பயன்பாட்டின் சொந்த தீர்வியின் நடத்தையையும் பின்பற்றுகிறது, அதாவது ஒரு வெற்றிகரமான HTTPS கோரிக்கை பெயர்த் தீர்வு பற்றி எதையும் சொல்லாது. சான்றிதழ் சரிபார்ப்பையும் அதன் இடத்தில் வையுங்கள்: ப்ராக்ஸி வழியாக சேவையகத்தை அடைவது அடையாளச் சோதனைகளை அணைக்கும் காரணம் அல்ல.

நேரடி பின்னடைவு சாத்தியமற்றதாக இருக்க வேண்டுமானால், போக்குவரத்தையே கட்டுப்படுத்தும் ஒரு அமலாக்க எல்லையைப் பயன்படுத்துங்கள், உதாரணமாக வலைப்பின்னல் பெயர்வெளி, ஃபயர்வால் விதிகள் அல்லது VPN, அதை நூலகக் கொக்கியிலிருந்து தனியாக வையுங்கள். கொக்கி என்பது ஒரு குறிப்பிட்ட நிரலுக்கான இணக்கக் கருவி, kill switch அல்ல. நிரல், சரியான கட்டளை, கண்காணிப்பில் கண்ட ப்ராக்ஸி துறை மற்றும் DNS தொலைவிலிருந்து தீர்க்கப்பட்டதா என்பதைப் பதிவு செய்யுங்கள்; அந்த நான்கு உண்மைகளே சரிபார்க்கப்பட்ட எல்லைக்கும் நம்பிக்கையின் எல்லைக்கும் இடையிலான வேறுபாடு.

தொடர்புடைய கட்டுரைகள்