ਸਕ੍ਰਿਪਟ ਜ਼ੀਰੋ ਨਾਲ ਖਤਮ ਹੁੰਦੀ ਹੈ, ਸੁਰੰਗ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ, ਅਤੇ ਅਗਲਾ ਰਨ ਪਾਸਵਰਡ ਮੰਗਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਰੱਦ ਕਰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਜਾਂ ਉਹੀ ਕਮਾਂਡ ਟਰਮੀਨਲ ਵਿੱਚ ਕੰਮ ਕਰਦੀ ਹੈ ਅਤੇ ਤਹਿ ਕੀਤੇ ਕੰਮ ਤੋਂ «ਘਟਨਾ ਨਹੀਂ ਮਿਲੀ» ਦੀ ਕੋਈ ਵੀ ਲਾਹੇਵੰਦ ਨਾਮ ਨਾ ਦੇਣ ਵਾਲੀ ਗਲਤੀ ਨਾਲ ਫੇਲ੍ਹ ਹੁੰਦੀ ਹੈ। ਦੋਵੇਂ ਨੈੱਟਵਰਕ ਖਰਾਬੀ ਨਹੀਂ, AnyConnect ਕਲਾਇੰਟ ਦੀ ਮਿਆਰੀ ਇਨਪੁਟ ਗੱਲਬਾਤ ਬਿਗੜਨਾ ਹੈ। ਲੌਗਇਨ ਨੂੰ ਲਿਖਤੀ ਸਵਾਲ-ਜਵਾਬ ਮੰਨੋ ਅਤੇ ਫੇਲ੍ਹਤਾਵਾਂ ਅਨੁਮਾਨਯੋਗ ਤੇ ਛੋਟੀਆਂ ਹੋ ਜਾਂਦੀਆਂ ਹਨ।

ਉਹੀ ਕਮਾਂਡ ਸਕ੍ਰਿਪਟ ਦੇ ਅੰਦਰ ਕਿਉਂ ਫੇਲ੍ਹ ਹੁੰਦੀ ਹੈ

ਕਲਾਇੰਟ ਆਪਣੇ ਜਵਾਬ ਮਿਆਰੀ ਇਨਪੁਟ ਤੋਂ ਪੜ੍ਹਦਾ ਹੈ, ਹਰ ਪ੍ਰੋਂਪਟ ਲਈ ਇੱਕ ਲਾਈਨ, ਗੇਟਵੇ ਜਿਸ ਕ੍ਰਮ ਵਿੱਚ ਮੰਗਦਾ ਹੈ ਉਸੇ ਕ੍ਰਮ ਵਿੱਚ। ਪ੍ਰੋਂਪਟਾਂ ਦੀ ਗਿਣਤੀ ਬਦਲਣ ਵਾਲੀ ਕੋਈ ਵੀ ਚੀਜ਼, ਜਿਵੇਂ ਨਵਾਂ ਬੈਨਰ, ਸਮੂਹ ਚੋਣਕਰਤਾ ਜਾਂ ਦੂਜੇ ਕਾਰਕ ਦੀ ਚੁਣੌਤੀ, ਹਰ ਅਗਲੇ ਜਵਾਬ ਨੂੰ ਇੱਕ ਲਾਈਨ ਖਿਸਕਾ ਦਿੰਦੀ ਹੈ। ਫਿਰ ਕਲਾਇੰਟ ਪਾਸਵਰਡ ਦੀ ਉਮੀਦ ਵਾਲੀ ਥਾਂ 'ਤੇ ਵਰਤੋਂਕਾਰ ਨਾਮ ਪੜ੍ਹਦਾ ਹੈ ਅਤੇ ਦੋਵਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਵੱਲ ਵੀ ਇਸ਼ਾਰਾ ਨਾ ਕਰਨ ਵਾਲੀ ਫੇਲ੍ਹਤਾ ਦੀ ਰਿਪੋਰਟ ਕਰਦਾ ਹੈ।

ਵਿਸਮੈਕ ਚਿੰਨ੍ਹ ਵਾਲਾ ਪਾਸਵਰਡ ਇੱਕ ਹੋਰ ਖਾਮੋਸ਼ ਦੂਜੀ ਫੇਲ੍ਹਤਾ ਜੋੜਦਾ ਹੈ। ਦੋਹਰੇ ਹਵਾਲਿਆਂ ਦੇ ਅੰਦਰ ਸ਼ੈੱਲ ਕਲਾਇੰਟ ਦੇ ਕੁਝ ਦੇਖਣ ਤੋਂ ਬਹੁਤ ਪਹਿਲਾਂ ਇਸਨੂੰ ਫੈਲਾ ਦਿੰਦਾ ਹੈ।

ਪੇਲੋਡ ਨੂੰ ਇੱਕਲੇ ਹਵਾਲਿਆਂ ਵਿੱਚ ਰੱਖੋ ਅਤੇ ਅੱਖਰ ਅਟੁੱਟ ਲੰਘਦਾ ਹੈ। ਇਹੀ ਪੂਰਾ ਸੁਧਾਰ ਹੈ, ਅਤੇ ਇਹ ਉਹਨਾਂ ਰਿਪੋਰਟਾਂ ਦੀ ਪੂਰੀ ਸ਼੍ਰੇਣੀ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ ਜਿੱਥੇ ਉਹੀ ਪ੍ਰਮਾਣਪੱਤਰ ਟਾਈਪ ਕਰਨ 'ਤੇ ਕੰਮ ਕਰਦਾ ਹੈ ਅਤੇ ਸੰਭਾਲਣ 'ਤੇ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ। ਗੇਟਵੇ ਦੀ ਜਾਂਚ ਤੋਂ ਪਹਿਲਾਂ ਸ਼ੈੱਲ ਨੇ ਕੀ ਕੀਤਾ ਇਹ ਜਾਂਚੋ: ਸਹੀ ਬਾਈਟ ਦਿਖਾਉਣ ਵਾਲੇ ਆਵਰਣ ਰਾਹੀਂ ਪੇਲੋਡ ਛਾਪੋ ਅਤੇ ਲਾਈਨਾਂ ਗਿਣੋ। ਅਜਿਹੀਆਂ ਜਾਂਚਾਂ ਵਿੱਚੋਂ ਬਹੁਤੀਆਂ ਉਹੀਂ ਖਤਮ ਹੁੰਦੀਆਂ ਹਨ।

ਜਵਾਬ ਉਸੇ ਕ੍ਰਮ ਵਿੱਚ ਲਿਖੋ ਜਿਸ ਵਿੱਚ ਕਲਾਇੰਟ ਮੰਗਦਾ ਹੈ

ਕਲਾਇੰਟ ਨੂੰ ਇੱਕ ਵਾਰ ਇੰਟਰਐਕਟਿਵ ਢੰਗ ਨਾਲ ਚਲਾਓ ਅਤੇ ਹਰ ਪ੍ਰੋਂਪਟ ਕ੍ਰਮ ਵਿੱਚ ਲਿਖ ਲਓ। ਸਮੂਹ ਚੋਣਕਰਤਾ ਸਿਰਫ਼ ਤਦ ਦਿਖਦਾ ਹੈ ਜਦੋਂ ਗੇਟਵੇ ਕਈ ਪ੍ਰੋਫਾਈਲ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਦਾ ਹੈ, ਅਤੇ ਬੈਨਰ ਪ੍ਰੋਂਪਟ ਸਿਰਫ਼ ਤਦ ਦਿਖਦਾ ਹੈ ਜਦੋਂ ਇੱਕ ਸੰਰਚਿਤ ਹੋਵੇ। ਜਵਾਬ ਫਾਈਲ ਨੂੰ ਉਸੇ ਗੇਟਵੇ ਨਾਲ ਮੇਲ ਖਾਣਾ ਚਾਹੀਦਾ ਹੈ ਜਿਸ ਵੱਲ ਤੁਸੀਂ ਅਸਲ ਵਿੱਚ ਹੋ, ਦਸਤਾਵੇਜ਼ ਵਾਲੇ ਨਾਲ ਨਹੀਂ।

ਫਿਰ ਉਸੇ ਸਹੀ ਕ੍ਰਮ ਨਾਲ ਫਾਈਲ ਬਣਾਓ, ਹਰ ਲਾਈਨ ਵਿੱਚ ਇੱਕ ਜਵਾਬ। ਸਮੂਹ ਸੂਚਕਾਂਕ ਉਹ ਸੰਖਿਆ ਹੈ ਜੋ ਕਲਾਇੰਟ ਸੂਚੀਬੱਧ ਕਰਦਾ ਹੈ, ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਪ੍ਰੋਫਾਈਲ ਦੀ ਥਾਂ ਨਹੀਂ। ਬੈਨਰ ਸਿਰਫ਼ ਤਦ ਸਵੀਕਾਰ ਕਰੋ ਜਦੋਂ ਤੁਹਾਡਾ ਗੇਟਵੇ ਇੱਕ ਭੇਜਦਾ ਹੋਵੇ, ਅਤੇ ਉਸ ਗੇਟਵੇ ਵੱਲੋਂ ਪੁੱਛੇ ਜਾਣ ਵਾਲੇ ਹਰ ਵਾਧੂ ਸਵਾਲ ਲਈ ਇੱਕ ਲਾਈਨ ਜੋੜੋ। ਕਲਾਇੰਟ ਨੂੰ ਗੈਰ-ਇੰਟਰਐਕਟਿਵ ਝੰਡੇ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ ਤਾਂ ਜੋ ਇਹ ਟਰਮੀਨਲ ਦੀ ਉਡੀਕ ਕਰਨ ਦੀ ਥਾਂ ਫਾਈਲ ਵਰਤੇ।

connect vpn.lab.example
0
username
password
y
exit
/opt/cisco/anyconnect/bin/vpn -s < anyconnect.txt

ਜਦੋਂ ਤੁਸੀਂ ਡਿਸਕ 'ਤੇ ਫਾਈਲ ਨਹੀਂ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਤਾਂ ਉਹੀ ਕ੍ਰਮ ਪਾਈਪ ਰਾਹੀਂ ਵੀ ਆ ਸਕਦਾ ਹੈ। ਹਵਾਲਿਆਂ ਦੇ ਨਿਯਮ ਅਜੇ ਵੀ ਤੈਅ ਕਰਦੇ ਹਨ ਕਿ ਇਹ ਬਚੇਗਾ ਜਾਂ ਨਹੀਂ।

ਪ੍ਰਮਾਣਪੱਤਰ ਨੂੰ ਪਰੋਸੈਸ ਸੂਚੀ ਤੋਂ ਬਾਹਰ ਰੱਖੋ

ਕਮਾਂਡ ਲਾਈਨ 'ਤੇ ਦਲੀਲ ਪਰੋਸੈਸ ਦੇ ਪੂਰੇ ਜੀਵਨ ਕਾਲ ਦੌਰਾਨ ਹਰ ਸਥਾਨਕ ਵਰਤੋਂਕਾਰ ਲਈ ਪੜ੍ਹਨਯੋਗ ਹੁੰਦੀ ਹੈ, ਇਸ ਲਈ ਪਾਸਵਰਡ ਫਾਈਲ ਜਾਂ ਪਾਈਪ ਵਿੱਚ ਆਉਂਦਾ ਹੈ ਅਤੇ ਕਦੇ ਦਲੀਲ ਸੂਚੀ ਵਿੱਚ ਨਹੀਂ। ਉਸ ਫਾਈਲ ਨੂੰ ਸਿਰਫ਼ ਸਕ੍ਰਿਪਟ ਚਲਾਉਣ ਵਾਲੇ ਖਾਤੇ ਲਈ ਪੜ੍ਹਨਯੋਗ ਬਣਾਓ, ਅਤੇ ਕੰਮ ਖਤਮ ਹੋਣ 'ਤੇ ਉਸਨੂੰ ਮਿਟਾ ਦਿਓ। macOS 'ਤੇ ਬਾਈਨਰੀ ਆਮ ਤੌਰ 'ਤੇ Linux ਵਾਂਗ ਹੀ ਉਸੇ ਰਾਹ 'ਤੇ ਹੁੰਦੀ ਹੈ, ਪਰ ਮੰਨਣ ਦੀ ਥਾਂ ਸਥਾਪਿਤ ਟਿਕਾਣੇ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ। ਦੋਵੇਂ ਰਾਹ ਜਾਂਚਣ ਵਾਲਾ ਆਵਰਣ ਘਟਨਾ ਰਿਪੋਰਟ ਨਾਲੋਂ ਛੋਟਾ ਹੁੰਦਾ ਹੈ।

printf 'username\npassword\ny\n' | /opt/cisco/anyconnect/bin/vpn -s connect vpn.lab.example

ਸਕ੍ਰਿਪਟ ਨੂੰ ਬੇਅੰਤ ਵਾਰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਵੀ ਨਾ ਦਿਓ। ਬਦਲਿਆ ਬੈਨਰ ਜਾਂ ਰਾਤੋ-ਰਾਤ ਮਿਆਦ ਪੁੱਗਿਆ ਪਾਸਵਰਡ ਸਥਿਰ ਜਵਾਬ ਫਾਈਲ ਨੂੰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਲੂਪ ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਉਹੀ ਲੂਪ ਖਾਤਾ ਲਾਕ ਕਰਦਾ ਹੈ।

ਇੱਕ ਵਾਰ ਫੇਲ੍ਹ ਹੋਵੋ, ਕਲਾਇੰਟ ਦਾ ਆਪਣਾ ਗਲਤੀ ਪਾਠ ਛਾਪੋ ਅਤੇ ਬਾਹਰ ਨਿਕਲੋ। ਤਹਿ ਕੀਤੇ ਕੰਮ ਨੂੰ ਕਿਸੇ ਵੀ ਹੋਰ ਬਿਨਾਂ ਨਿਗਰਾਨੀ ਵਾਲੇ ਕੰਮ ਵਾਂਗ ਹੀ ਪਛਾਣ ਅਤੇ ਪ੍ਰਮਾਣਪੱਤਰ ਉਪਲਬਧਤਾ ਦੀ ਸਮੀਖਿਆ ਚਾਹੀਦੀ ਹੈ, ਕਿਉਂਕਿ ਚੁੱਪਚਾਪ ਮਿਆਦ ਪੁੱਗਣ ਵਾਲਾ ਪ੍ਰਮਾਣਪੱਤਰ ਸਵੇਰੇ ਤਿੰਨ ਵਜੇ ਦੀ ਰੁਕਾਵਟ ਤੋਂ ਵੱਖਰਾ ਨਹੀਂ ਪਛਾਣਿਆ ਜਾ ਸਕਦਾ।

ਐਗਜ਼ਿਟ ਕੋਡ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸੈਸ਼ਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ

ਜੁੜੀ ਸਥਿਤੀ ਸਾਬਤ ਕਰਦੀ ਹੈ ਕਿ ਸੁਰੰਗ ਮੌਜੂਦ ਹੈ ਅਤੇ ਇਸ ਤੋਂ ਵੱਧ ਕੁਝ ਨਹੀਂ। ਸਕ੍ਰਿਪਟ ਦੇ ਅਸਲੀ ਕੰਮ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਉਸ ਸਰੋਤ ਦੀ ਜਾਂਚ ਕਰੋ ਜੋ ਇਸ ਰਾਹੀਂ ਪਹੁੰਚਯੋਗ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ, ਅਤੇ ਉੱਥੋਂ ਦੀ ਫੇਲ੍ਹਤਾ ਨੂੰ ਫੇਲ੍ਹ ਲੌਗਇਨ ਤੋਂ ਵੱਖਰੀ ਖਰਾਬੀ ਮੰਨੋ। ਨਹੀਂ ਤਾਂ ਤੁਸੀਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਚੰਗੇ ਕਨੈਕਸ਼ਨ ਦੀ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋਗੇ ਜੋ ਸਿਰਫ਼ ਆਪਣੀ ਮੰਜ਼ਿਲ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚ ਸਕਦਾ।

ਡਿਸਕਨੈਕਟ ਤੋਂ ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ ਕਲਾਇੰਟ ਤੋਂ ਇਸਦੀ ਸਥਿਤੀ ਪੁੱਛੋ, ਕਿਉਂਕਿ ਪੁਰਾਣਾ ਸੈਸ਼ਨ ਅਗਲੇ ਕਨੈਕਸ਼ਨ ਨੂੰ ਰੱਦ ਕਰ ਸਕਦਾ ਹੈ ਜਦੋਂ ਕਿ ਤੁਹਾਡੀ ਸਕ੍ਰਿਪਟ ਸਫਲਤਾ ਦੀ ਰਿਪੋਰਟ ਕਰਦੀ ਹੈ।

/opt/cisco/anyconnect/bin/vpn state
/opt/cisco/anyconnect/bin/vpn disconnect

ਐਗਜ਼ਿਟ ਕੋਡ ਦੇ ਕੋਲ ਸਥਿਤੀ ਦਾ ਆਉਟਪੁੱਟ ਦਰਜ ਕਰੋ, ਕਿਉਂਕਿ ਸਿਰਫ਼ ਕੋਡ ਰੱਦ ਕੀਤੇ ਲੌਗਇਨ ਨੂੰ ਕਦੇ ਨਾ ਬੰਦ ਹੋਏ ਸੈਸ਼ਨ ਤੋਂ ਵੱਖ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਜਦੋਂ ਗੇਟਵੇ ਦੂਜਾ ਕਾਰਕ ਜਾਂ ਇੰਟਰਐਕਟਿਵ ਮਨਜ਼ੂਰੀ ਮੰਗਦਾ ਹੈ, ਤਾਂ ਉਸ ਕਦਮ ਨੂੰ ਸਕ੍ਰਿਪਟ ਕਰਨਾ ਬੰਦ ਕਰੋ ਅਤੇ ਇਸਦੀ ਥਾਂ ਕਲਾਇੰਟ ਵੱਲੋਂ ਸਮਰਥਿਤ ਵਿਧੀ ਵਰਤੋ। ਸਥਿਰ ਜਵਾਬ ਫਾਈਲ ਤੁਹਾਡੇ ਕਾਬੂ ਵਾਲੇ ਪ੍ਰਮਾਣਪੱਤਰ ਲਈ ਸਹੂਲਤ ਹੈ, ਤੁਹਾਡੇ ਕਾਬੂ ਤੋਂ ਬਾਹਰਲੇ ਪ੍ਰਮਾਣਿਕਤਾ ਕਦਮ ਨੂੰ ਟਾਲਣ ਦਾ ਤਰੀਕਾ ਨਹੀਂ। ਦਾਇਰਾ ਏਨਾ ਤੰਗ ਰੱਖੋ ਅਤੇ ਇਹ ਛੋਟੀ ਸਕ੍ਰਿਪਟ ਹੀ ਰਹਿੰਦੀ ਹੈ।

ਕਦੋਂ ਸਥਿਰ ਜਵਾਬ ਫਾਈਲ ਗਲਤ ਸੰਦ ਹੈ

ਦੂਜਾ ਕਾਰਕ ਜਾਂ ਮਨਜ਼ੂਰੀ ਪ੍ਰੋਂਪਟ ਇਸ ਨਮੂਨੇ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਹਰਾ ਦਿੰਦੇ ਹਨ, ਅਤੇ ਇਹ ਸਕ੍ਰਿਪਟ ਬੁਝਾਰਤ ਨਹੀਂ ਬਲਕਿ ਡਿਜ਼ਾਈਨ ਸੀਮਾ ਹੈ। ਉਸ ਕਦਮ ਲਈ ਕਲਾਇੰਟ ਜੋ ਵੀ ਵਿਧੀ ਸਮਰਥਿਤ ਕਰਦਾ ਹੈ ਉਹ ਵਰਤੋ ਪਹਿਲਾਂ ਹੀ ਜਵਾਬ ਦਾ ਅੰਦਾਜ਼ਾ ਲਾਉਣ ਦੀ ਥਾਂ। ਸਥਿਰ ਫਾਈਲ ਸਿਰਫ਼ ਉਹਨਾਂ ਪ੍ਰਮਾਣਪੱਤਰਾਂ ਲਈ ਕੰਮ ਕਰਦੀ ਹੈ ਜੋ ਰਨਾਂ ਵਿਚਕਾਰ ਇੱਕੋ ਜਿਹੇ ਰਹਿੰਦੇ ਹਨ।

ਦੋ ਪੁਰਾਣੀਆਂ ਪ੍ਰਮਾਣਪੱਤਰ ਸ਼ੈਲੀਆਂ ਵੀ AnyConnect ਸਮਝੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। vpnc ਪ੍ਰੋਫਾਈਲ ਵੱਖਰਾ ਪ੍ਰੋਟੋਕੋਲ ਬੋਲਦੀ ਹੈ, ਅਤੇ ਇਹ IPSec ਪਛਾਣਕਰਤਾ ਵਜੋਂ ਸਮੂਹ ਦਾ ਨਾਮ ਚਾਹੁੰਦੀ ਹੈ, ਫਿਰ ਸਾਂਝਾ ਸਮੂਹ ਭੇਦ, ਫਿਰ ਤੁਹਾਡੇ ਆਪਣੇ ਖਾਤੇ ਦੇ ਵੇਰਵੇ।

ਪ੍ਰੋਟੋਕੋਲ ਵੱਖਰੇ ਹੋਣ ਕਾਰਨ, vpnc ਉਸ ਗੇਟਵੇ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚ ਸਕਦੀ ਜੋ ਸਿਰਫ਼ AnyConnect ਪ੍ਰੋਫਾਈਲ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਦਾ ਹੈ, ਅਤੇ ਉਸ ਸੇਵਾ ਲਈ ਆਮ ਖੁੱਲ੍ਹਾ ਬਦਲ anyconnect ਪ੍ਰੋਟੋਕੋਲ ਚੁਣਿਆ openconnect ਹੈ। pcf ਫਾਈਲ ਪੁਰਾਣੇ Cisco ਕਲਾਇੰਟ ਦੀ ਹੈ, ਅਤੇ ਭਾਵੇਂ ਇਸਦਾ ਹੋਸਟ, ਸਮੂਹ ਨਾਮ ਅਤੇ ਸਮੂਹ ਪਾਸਵਰਡ ਅਜੇ ਵੀ Cisco IPsec ਬੋਲਣ ਵਾਲੇ ਕਲਾਇੰਟ ਵਿੱਚ ਦੁਬਾਰਾ ਪਾਇਆ ਜਾ ਸਕਦਾ ਹੈ, ਫਾਈਲ ਕਲਾਇੰਟਾਂ ਵਿਚਕਾਰ ਨਹੀਂ ਜਾਂਦੀ। ਅਸਾਧਾਰਨ ਪੋਰਟ ਜਾਂ ਗੈਰ-ਮਿਆਰੀ ਸੁਰੰਗ ਢੰਗ ਆਮ ਤੌਰ 'ਤੇ ਉਸ ਤਬਾਦਲੇ ਵਿੱਚ ਗੁੰਮ ਜਾਂਦਾ ਹੈ। ਸੰਦ ਚੁਣਨ ਤੋਂ ਪਹਿਲਾਂ ਤੈਅ ਕਰੋ ਕਿ ਗੇਟਵੇ ਕਿਹੜਾ ਪ੍ਰੋਟੋਕੋਲ ਦਿੰਦਾ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ