Procsi SSH SOCKS ar Android: pam mai dim ond hanner eich apiau sy @APOS@n cysylltu
Mae ssh -D yn adeiladu gwrandawr SOCKS, nid twnnel dyfais. Dilynwch y gadwyn o @APOS@r ap i @APOS@r addasydd ac i SSH, a gwirio DNS ac oes.
Rydych yn mewngofnodi dros SSH, yn ychwanegu -D 1080, ac mae ’r gorchymyn yn llwyddo. Nawr mae ’na wrandawr SOCKS ar y ffôn, ac eto mae hanner yr apiau yn mynd allan dros ddata symudol. Dyma ’r canlyniad arferol, nid twnnel wedi torri: ssh -D yn creu pen draw procsi, a dim ond pan fydd rhywbeth yn gorfodi apiau Android i ddefnyddio procsi y byddant yn gwneud hynny. Mae dilyn y gadwyn gam wrth gam yn dangos ble mae pob rhan o ’r gwaith yn byw mewn gwirionedd.
Dechreuwch lle mae ’r traffig yn dechrau
Dewiswch un ap y dylai ’r twnnel ei ddefnyddio a gwiriwch a oes ganddo osodiad procsi ei hun. Porwr â maes SOCKS yw ’r achos hawdd: pwyntiwch ef at 127.0.0.1:1080, galluogwch DNS o bell os yw ’r osodiad yn bodoli, ac mae ’r cais yn mynd trwodd. Nid oes gan gleient sgwrsio, ap mapiau nac ap gêm heb faes o ’r fath unrhyw ffordd i ddefnyddio ’r gwrandawr, ac nid yw unrhyw beth a deipiwch yn y gorchymyn SSH yn newid hynny.
Cyn cymryd rhan unrhyw beth arall, profwch fod y gwrandawr yn gweithio o gragen y ffôn ei hun gyda chleient sy ’n siarad SOCKS yn syth:
ssh -N -D 1080 [email protected]
curl --socks5-hostname 127.0.0.1:1080 https://ifconfig.me
Dylai ’r cyfeiriad sy ’n dychwelyd fod yn un y gweinydd SSH, nid un y ffôn. Os felly, mae hanner y procsi wedi ei wneud a ’r gwaith arall yw sylw. Os na, trwsiwch ochr SSH yn gyntaf: dilysu allwedd, gallu ’r gweinydd i gyrraedd y gyrchfan, ac allanfa ’r gweinydd SSH ei hun.
Ychwanegwch y darn sydd ei angen ar Android
Mae apiau heb osodiad procsi angen rhywbeth i ddal eu pecynnau a ’u troi yn gysylltiadau procsi. Ar ddyfais heb root, dyna addasydd gwasanaeth VPN: ap sy ’n cymryd y rhyngwyneb rhithwir ac yn anfon traffig dethol i ’r gwrandawr SOCKS lleol. Mae ’r gadwyn yn dod yn ap, addasydd, gwrandawr SOCKS, cysylltiad SSH, cyrchfan.
Gosodwch yr addasydd, rhowch ganiatâd VPN iddo, a dewiswch yr apiau neu ’r llwybrau y dylai eu dal. Yna mae ’r eicon allwedd yn y bar statws yn cynrychioli ’r addasydd, nid VPN masnachol ar wahân. Dim ond un cysylltiad gwasanaeth VPN gweithredol fesul proffil defnyddiwr y mae Android yn ei ganiatáu, felly nid yw cychwyn ail ap VPN yn ychwanegu haen uwchben y gadwyn; mae ’n cystadlu am yr un rôl.
Dyma ’r cam hefyd lle gall prawf llwyddiannus eich twyllo. Os yw ’r addasydd wedi ei osod i ddal y porwr yr ydych eisoes wedi ei bwyntio at y procsi yn unig, mae popeth yn gweithio ac nid oes unrhyw beth arall wedi ei gynnwys. Darllenwch y rhestr dal cyn dod i ’r casgliad bod y ddyfais yn y twnnel.
Cadwch y cludiant SSH y tu allan i ’r dal
Ni ddylai ’r cysylltiad SSH ei hun gael ei fwydo ’n ôl i ’r twnnel SOCKS y mae ’n ei gynnal. Os yw ’r addasydd yn dal traffig yr ap SSH, mae ’r twnnel yn dibynnu ar gysylltiad sy ’n aros am y twnnel, a ’r canlyniad yw dolen sy ’n ceulo neu ’n methu cyn gynted ag y bydd yr addasydd yn dechrau.
Mae gweithrediadau integredig yn gwarchod eu soced cludiant eu hunain. Gydag apiau ar wahân mae angen eithriad a gefnogir: gadewch yr ap SSH y tu allan i ’r dal, neu eithriwch ben draw SSH yn ôl cyfeiriad. Mae cost i ’r ddau. Mae eithrio ap terfynell cyfan hefyd yn tynnu ei weithgarwch rhwydwaith di-bwys o ’r twnnel, ac mae eithriad cyfeiriad yn torri pan fydd cyfeiriad y gweinydd yn newid neu pan fydd yr enw ’n datrys yn wahanol yn y cysylltiad nesaf.
Gwiriwch yr eithriad o ’r tu allan: ailgysylltwch yr addasydd, yna cadarnhewch fod sesiwn SSH yn goroesi a bod y cais procsi yn dal i adrodd cyfeiriad y gweinydd. Sesiwn sy ’n gweithio tan i ’r addasydd ddechrau ac yna ’n rhewi yw ’r ddolen.
Dilynwch DNS ac UDP i ddiwedd y gadwyn
Mae blaen-ddaliad deinamig OpenSSH yn cludo cysylltiadau TCP. Nid yw ’n gysylltiad UDP nac yn gludiant ICMP, ac ni all addasydd ddyfeisio anfon UDP ymlaen drwy dderbyn pecynnau UDP. Bydd unrhyw beth sy ’n mynnu UDP, gan gynnwys QUIC a chyfryngau WebRTC, naill ai ’n methu neu ’n disgyn yn ôl i TCP yn dibynnu ar yr ap.
Mae DNS angen ei benderfyniad ei hun. Mae ap sy ’n datrys enw ’n lleol yn anfon y cwestiwn drwy ’r datryswr arferol cyn cysylltu, felly mae ’r twnnel yn cludo ’r cysylltiad ond nid y chwiliad. Mae cleient sy ’n ymwybodol o ’r procsi gyda dewis DNS o bell yn osgoi hynny; nid yw ap a ddaliwyd heb hynny yn gwneud. Gwiriwch ba ddatryswr a atebodd yn lle tybio bod yr addasydd wedi ei newid.
Cadwch y gwrandawr SOCKS wedi ei rwymo i loopback, gwiriwch allwedd westeiwr y gweinydd SSH ar y defnydd cyntaf, a gadewch y dilysu HTTPS arferol ar gyfer y safle terfynol. Mae SSH yn gwarchod y darn o ’r ffôn i ’r gweinydd; nid yw ’n amgryptio ’r hyn y mae ’r gweinydd yn ei wneud nesaf.
Archwiliwch y ddwy oes a phenderfynwch
Mae gan yr addasydd a ’r sesiwn SSH oesau ar wahân. Os bydd SSH yn disgyn tra mae ’r addasydd yn parhau i ddal, gall apiau hongian heb wall amlwg, oherwydd mae eu pecynnau yn dal i fynd i mewn i ryngwyneb rhithwir nad oes ganddo allanfa weithredol mwyach. Os bydd yr addasydd yn stopio, mae apiau naill ai ’n mynd yn syth neu ’n cael eu blocio, yn dibynnu ar bolisi VPN y ddyfais.
Profwch y ddau gyfeiriad yn fwriadol: lladdwch y sesiwn SSH gyda ’r addasydd yn rhedeg, yna stopiwch yr addasydd tra mae SSH yn dal i fyny. Yr hyn y mae ’r ffôn yn ei wneud ym mhob achos yw ’r polisi yr ydych mewn gwirionedd yn ei ddefnyddio, beth bynnag y mae ’r cyfarwyddiadau gosod yn ei honni.
Os oes angen sylw ’r ddyfais gyfan gyda modd methu rhagweladwy ar y gwaith, yr ateb onest yw VPN IP gwirioneddol, neu addasydd a gynhelir ac a gynlluniwyd ar gyfer y gadwyn hon. Nid yw sesiwn cragen sy ’n rhedeg wrth ymyl ap dal di-gysylltiedig yn dwnnel dyfais a gynhelir; dau gydran yw hi heb gytundeb ynghylch beth sy ’n digwydd pan fydd un yn gorffen.