แƒ แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒกแƒขแƒฃแƒ“แƒ”แƒœแƒขแƒ˜แƒก แƒขแƒ•แƒ˜แƒœแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒฌแƒแƒ•แƒšแƒแƒ‘แƒก แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒกแƒแƒ›แƒงแƒแƒ แƒแƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘?

แƒ™แƒแƒ แƒ’แƒ˜ แƒ“แƒฆแƒ”.

แƒ‘แƒแƒจแƒจแƒ˜ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒกแƒชแƒ”แƒœแƒแƒ แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ แƒ แƒแƒ› แƒ“แƒแƒ•แƒแƒกแƒ แƒฃแƒšแƒ”, แƒ›แƒ˜แƒ•แƒฎแƒ•แƒ“แƒ˜, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒงแƒแƒคแƒ˜แƒšแƒ˜แƒงแƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ. แƒ›แƒ˜แƒœแƒ“แƒ แƒ’แƒแƒฉแƒ•แƒ”แƒœแƒแƒ— แƒ แƒ แƒฃแƒฎแƒแƒ›แƒกแƒแƒ‘แƒ แƒ“แƒ แƒงแƒแƒ•แƒแƒ แƒฏแƒœแƒ”แƒ‘แƒ˜ แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ” แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฏแƒ”แƒ  แƒแƒ  แƒ›แƒฅแƒแƒœแƒ˜แƒ แƒชแƒแƒ“แƒœแƒ˜แƒก แƒ•แƒแƒ’แƒแƒœแƒ˜. แƒกแƒฎแƒ•แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒ— แƒ แƒแƒ› แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ แƒ˜แƒ™แƒแƒขแƒฃแƒ แƒ.

แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒ


ะกั‚ะฐะปะพ ะฝัƒะถะฝะพ ั‡ั‚ะพ-ั‚ะพ, ั‡ั‚ะพ ะฑั‹:

  • แƒแƒฉแƒ•แƒ”แƒœแƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ แƒ˜แƒ—แƒ›แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ’แƒแƒ แƒ“แƒ แƒ™แƒ•แƒแƒ“แƒ แƒแƒขแƒ”แƒ‘แƒ˜แƒกแƒ
  • แƒ’แƒแƒ“แƒแƒ™แƒ•แƒ”แƒ—แƒ แƒแƒ แƒ˜ แƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ แƒ˜แƒ—แƒ›แƒ

แฒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก? แƒ™แƒแƒ แƒ’แƒ˜, แƒ”แƒก แƒแƒ แƒ˜แƒก - แƒ“แƒ แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ˜แƒก.
แƒ•แƒ˜แƒœ แƒแƒ  แƒ˜แƒชแƒ˜แƒก, แƒ™แƒ•แƒแƒ“แƒ แƒแƒขแƒฃแƒšแƒ˜ แƒ แƒ˜แƒ—แƒ›แƒ (แƒกแƒแƒ”แƒ แƒ—แƒ แƒ”แƒœแƒแƒ–แƒ” - แƒ™แƒ•แƒแƒ“แƒ แƒแƒขแƒ˜) แƒแƒ แƒ˜แƒก แƒแƒ แƒ˜ แƒกแƒ˜แƒขแƒงแƒ•แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒ แƒ‘แƒแƒšแƒ แƒแƒ แƒ˜ แƒแƒกแƒ แƒ›แƒแƒ แƒ—แƒšแƒฌแƒ”แƒ แƒแƒจแƒ˜ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ, แƒ แƒแƒช (แƒฎแƒจแƒ˜แƒ แƒแƒ“, แƒ”แƒก แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜แƒ) แƒ›แƒแƒ— แƒ แƒ˜แƒ—แƒ›แƒแƒแƒ“ แƒแƒฅแƒชแƒ”แƒ•แƒก. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ•แƒแƒ แƒ“แƒ”แƒ‘แƒ˜ แƒงแƒ˜แƒœแƒ•แƒแƒ’แƒแƒ›แƒซแƒšแƒ”แƒ; แƒกแƒแƒ‘แƒฃแƒ แƒแƒ•แƒ˜ - แƒ›แƒแƒœแƒฅแƒแƒœแƒ. แƒ—แƒแƒœแƒแƒ›แƒ”แƒ“แƒ แƒแƒ•แƒ” แƒ•แƒ”แƒ แƒกแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒ™แƒ•แƒแƒ“แƒ แƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ— แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒแƒฌแƒแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ , แƒ›แƒแƒ—แƒ˜ แƒžแƒ แƒ˜แƒ›แƒ˜แƒขแƒ˜แƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ.

แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ


แƒ›แƒ”แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒแƒ“แƒ, แƒ แƒแƒ› แƒฃแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒ˜แƒงแƒ แƒ‘แƒแƒจแƒจแƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒฃแƒ™แƒ•แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒ แƒ˜แƒ—แƒ›แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒก - HOST, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜ แƒ˜แƒ แƒฉแƒ”แƒ•แƒก แƒ›แƒแƒ— แƒ—แƒแƒœแƒฎแƒ›แƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒแƒ แƒ แƒ›แƒแƒ แƒ—แƒšแƒฌแƒ”แƒ แƒ˜แƒ—. แƒ แƒแƒ’แƒแƒ แƒ˜ แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒšแƒ˜? แƒ แƒแƒ“แƒ’แƒแƒœ แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒš แƒกแƒแƒฎแƒ”แƒšแƒก แƒ แƒแƒ› แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘, แƒ˜แƒขแƒงแƒ•แƒ˜แƒแƒœ, แƒ แƒแƒ› แƒ”แƒก แƒ แƒ”แƒ™แƒšแƒแƒ›แƒแƒ. แƒ แƒแƒขแƒแƒ› แƒแƒ  แƒ’แƒแƒแƒ’แƒ แƒซแƒ”แƒšแƒแƒ— แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ? แƒฏแƒ”แƒ  แƒ”แƒ แƒ—แƒ˜, แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ›แƒ˜แƒกแƒ˜ แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒ˜แƒกแƒ แƒ แƒ˜แƒ—แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ˜แƒกแƒแƒก แƒ—แƒแƒœแƒฎแƒ›แƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”, แƒ˜แƒก แƒ›แƒแƒ˜แƒœแƒช แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒแƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒก แƒ™แƒ•แƒแƒ“แƒ แƒแƒขแƒ”แƒ‘แƒก. แƒ›แƒ”แƒแƒ แƒ”แƒช, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒœแƒ“แƒ แƒ˜แƒคแƒ˜แƒฅแƒ แƒแƒ— แƒขแƒ•แƒ˜แƒœแƒ˜แƒ—, แƒ“แƒแƒฎแƒแƒ แƒฏแƒแƒ— แƒ“แƒ แƒ แƒฉแƒแƒœแƒแƒ แƒ—แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒแƒ–แƒ” แƒ“แƒ แƒ”แƒœแƒ”แƒ แƒ’แƒ˜แƒ แƒกแƒ˜แƒ”แƒ‘แƒจแƒ˜ แƒ’แƒแƒœแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒแƒ›แƒแƒฎแƒกแƒแƒ•แƒ แƒ”แƒ‘แƒšแƒแƒ“, แƒ แƒแƒ› แƒ˜แƒžแƒแƒ•แƒแƒ— แƒ แƒ˜แƒ—แƒ›แƒ แƒแƒ แƒ˜ แƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒซแƒšแƒ˜แƒ”แƒ แƒ˜ แƒ แƒ˜แƒ—แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ

แฒ แƒ แƒ•แƒ˜แƒชแƒ˜? แƒ›แƒ” แƒ•แƒ˜แƒชแƒ˜ แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ wget, ะบะพั‚ะพั€ะฐั ัะบะฐั‡ะธะฒะฐะตั‚ ัั‚ั€ะฐะฝะธั†ัƒ ะฟะพ ัƒะบะฐะทะฐะฝะฝะพะผัƒ URL. ะฅะพั€ะพัˆะพ, ะฒั‹ะฟะพะปะฝัะตะผ ะทะฐะฟั€ะพั โ€” ะฟะพะปัƒั‡ะฐะตะผ HTML ัั‚ั€ะฐะฝะธั†ัƒ ะฒ ั„ะฐะนะปะต, ะบะพั‚ะพั€ั‹ะน ะฝะฐะทะฒะฐะฝ ัะปะพะฒะพะผ ะดะปั ั€ะธั„ะผั‹. ะš ะฟั€ะธะผะตั€ัƒ, ะฟะพะธั‰ะตะผ ะฟะพ ัะปะพะฒัƒ ยซะทะดะตััŒยป:

wget https://HOST/rifma/ะทะดะตััŒ

แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒ” แƒ›แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ, แƒ แƒแƒ’แƒแƒ  แƒ›แƒแƒ•แƒ˜แƒจแƒแƒ แƒ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœแƒ˜? แƒฉแƒ•แƒ”แƒœ แƒ•แƒฃแƒงแƒฃแƒ แƒ”แƒ‘แƒ— แƒ“แƒ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ แƒคแƒแƒ แƒ›แƒแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ แƒแƒช แƒแƒ  แƒฃแƒœแƒ“แƒ แƒฃแƒชแƒœแƒแƒฃแƒ แƒ˜ แƒ˜แƒงแƒแƒก, แƒกแƒ˜แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ— แƒ“แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜ แƒขแƒ”แƒ’แƒ”แƒ‘แƒจแƒ˜แƒ. . แƒ™แƒแƒ แƒ’แƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ. sed -แƒ›แƒแƒ“แƒ˜ แƒแƒกแƒ” แƒฉแƒแƒ•แƒฌแƒ”แƒ แƒแƒ—:

cat $word | grep '<li>' | sed -e "s%<li>%%" | sed -e "s%</li>%%" | sed -e "s/ //g" | sed -e "/^$/d" 1> $word

ะกะฝะฐั‡ะฐะปะฐ ะธะท ั„ะฐะนะปะฐ word ะฒั‹ะฑะธั€ะฐะตะผ ัั‚ั€ะพะบะธ, ะฒ ะบะพั‚ะพั€ั‹ั… ัะพะดะตั€ะถะธั‚ัั ั‚ะตะณ <li> โ€” ะฟะพะปัƒั‡ะฐะตะผ ะบัƒั‡ัƒ ะฟัƒัั‚ั‹ั… ั‚ะตะณะพะฒ ะธ ัั‚ั€ะพะบะธ ัะพ ัะปะพะฒะฐะผะธ. ะฃะฑะธั€ะฐะตะผ ัะฐะผ ั‚ะตะณ ะธ ะตะณะพ ะทะฐะบั€ั‹ะฒะฐัŽั‰ะธะน โ€” ะทะดะตััŒ ัะธะผะฒะพะปั‹ ะฟั€ะพั†ะตะฝั‚ะฐ ะธัะฟะพะปัŒะทะพะฒะฐะฝั‹ ะฒะผะตัั‚ะพ ัะปะตัˆะตะน ะฟะพั‚ะพะผัƒ, ั‡ั‚ะพ ะฒ ัะฐะผะพะผ ั‚ะตะณะต </li> ัƒะถะต ะตัั‚ัŒ ัะปะตัˆ, ะพั‚ั‡ะตะณะพ sed แƒชแƒแƒขแƒ แƒแƒ  แƒ›แƒ”แƒกแƒ›แƒ˜แƒก แƒจแƒ”แƒœแƒ˜. แƒ“แƒ แƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ˜แƒ— แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ™แƒแƒ แƒ’แƒแƒ“แƒแƒ. แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒกแƒœแƒ˜แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒ“แƒแƒœ, แƒ•แƒจแƒšแƒ˜แƒ— แƒชแƒแƒ แƒ˜แƒ”แƒš แƒฎแƒแƒ–แƒ”แƒ‘แƒก. Voila - แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ–แƒ แƒกแƒ˜แƒ.

แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒแƒ›แƒแƒ˜แƒฆแƒแƒ— แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ แƒ˜แƒ—แƒ›แƒแƒ‘แƒ”แƒœ แƒ‘แƒแƒšแƒ แƒแƒกแƒแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒแƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— แƒ‘แƒแƒšแƒ แƒแƒ แƒ˜ แƒแƒกแƒ แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒ“แƒแƒœ แƒ“แƒ แƒ’แƒแƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ— แƒกแƒ˜แƒ:

squad=${word:((${#word}-2)):2}
cat $word | sed -e "/.$squad$/d" 1> $word

แƒ•แƒฃแƒงแƒฃแƒ แƒ”แƒ‘แƒ—, แƒ•แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ— - แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก... แƒ›แƒแƒจ, แƒกแƒแƒ“ แƒแƒ แƒ˜แƒก แƒกแƒ˜แƒขแƒงแƒ•แƒ โ€žแƒ—แƒแƒ›แƒแƒจแƒ˜แƒกโ€œ แƒกแƒ˜แƒ? แƒ“แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ "แƒ›แƒ” แƒ›แƒ˜แƒ•แƒ“แƒ˜แƒ•แƒแƒ "? แƒคแƒแƒ˜แƒšแƒ˜ แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜แƒ! แƒ“แƒ แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒ›แƒ˜แƒขแƒแƒ› แƒฎแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒ› แƒ”แƒก แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜ แƒ–แƒ›แƒœแƒ”แƒ‘แƒ˜แƒ แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒชแƒ˜แƒ—, แƒ แƒแƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ”แƒœ แƒ˜แƒกแƒ˜แƒœแƒ˜, แƒ•แƒ˜แƒœแƒช แƒ–แƒ›แƒœแƒ”แƒ‘แƒก แƒ แƒ˜แƒ—แƒ›แƒแƒ‘แƒก. แƒ–แƒ›แƒœแƒ˜แƒก แƒ แƒ˜แƒ—แƒ›แƒ แƒฃแƒแƒ แƒ”แƒกแƒ˜แƒ แƒ—แƒฃแƒœแƒ“แƒแƒช แƒ™แƒ•แƒแƒ“แƒ แƒแƒขแƒฃแƒš แƒ แƒ˜แƒ—แƒ›แƒแƒ–แƒ”, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ แƒฃแƒกแƒฃแƒš แƒ”แƒœแƒแƒก แƒแƒฅแƒ•แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒ–แƒ›แƒœแƒ แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒ’แƒแƒœแƒก แƒแƒฅแƒ•แƒก แƒ”แƒ แƒ—แƒ˜ แƒ“แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ“แƒแƒ‘แƒแƒšแƒแƒ”แƒ‘แƒ, แƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒช แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ  แƒ˜แƒงแƒ แƒ‘แƒแƒšแƒ แƒคแƒแƒ˜แƒšแƒจแƒ˜ แƒ“แƒแƒ‘แƒแƒšแƒแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’.

แƒ—แƒฃแƒ›แƒชแƒ, แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒ•แƒ”แƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ แƒ˜แƒ—แƒ›แƒ”แƒ‘แƒ˜, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒแƒกแƒแƒœแƒแƒœแƒกแƒ”แƒ‘แƒ˜แƒช, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒ แƒ˜แƒ—แƒ›แƒแƒ–แƒ” แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒแƒ“ แƒŸแƒฆแƒ”แƒ แƒก - แƒแƒ›แƒ˜แƒขแƒแƒ›แƒแƒช แƒแƒ แƒ˜แƒแƒœ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒกแƒแƒœแƒแƒœแƒกแƒ”แƒ‘แƒ˜ (แƒคแƒ แƒแƒœแƒ’แƒฃแƒšแƒ˜ แƒแƒกแƒแƒœแƒแƒœแƒกแƒ˜, แƒšแƒแƒ—แƒ˜แƒœแƒฃแƒ แƒ˜แƒ“แƒแƒœ assono - แƒ›แƒ” แƒŸแƒฆแƒ”แƒ แƒก แƒฐแƒแƒ แƒ›แƒแƒœแƒ˜แƒแƒจแƒ˜).

แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒแƒกแƒแƒœแƒแƒœแƒกแƒ”แƒ‘แƒก

แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒฅ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ แƒ’แƒแƒ แƒ—แƒแƒ‘แƒ: แƒแƒกแƒแƒœแƒแƒœแƒกแƒ”แƒ‘แƒ˜ แƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒชแƒแƒšแƒ™แƒ” URL-แƒ–แƒ” แƒ“แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ”, แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒ—, HTTP แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒ— แƒ“แƒ แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ˜แƒ—. แƒ แƒแƒ’แƒแƒ  แƒ•แƒ—แƒฅแƒ•แƒ wget'แƒฆแƒ˜แƒšแƒแƒ™แƒก แƒแƒญแƒ”แƒ แƒ—? แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒแƒœแƒแƒ˜แƒ แƒแƒ“. แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“.

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒจแƒ”แƒ•แƒแƒ›แƒฉแƒœแƒ˜แƒ”, แƒ แƒแƒ› แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒจแƒ˜ URL แƒ แƒแƒขแƒแƒ›แƒฆแƒแƒช แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒแƒ“แƒ, แƒ›แƒ” แƒ“แƒแƒ•แƒแƒ™แƒแƒžแƒ˜แƒ แƒ” แƒ˜แƒก, แƒ แƒแƒช แƒ˜แƒงแƒ แƒ˜แƒฅ แƒแƒกแƒแƒœแƒแƒœแƒกแƒ”แƒ‘แƒ–แƒ” แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒ แƒฉแƒแƒกแƒ•แƒ˜แƒ— แƒ˜แƒ’แƒ˜ แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜แƒก แƒแƒฎแƒแƒš แƒฉแƒแƒœแƒแƒ แƒ—แƒจแƒ˜ - แƒ’แƒแƒ˜แƒฎแƒกแƒœแƒ แƒซแƒšแƒ˜แƒ”แƒ แƒ˜ แƒ แƒ˜แƒ—แƒ›แƒ”แƒ‘แƒ˜. แƒแƒ แƒ แƒ”แƒก.

แƒแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—แƒแƒ“, แƒ›แƒ” แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘แƒ“แƒ˜, แƒ แƒแƒ› แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ  แƒฃแƒœแƒ“แƒ แƒฐแƒฅแƒแƒœแƒ“แƒ”แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ, แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒก แƒฃแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก, แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ—แƒฃ แƒžแƒ˜แƒ แƒ˜ แƒแƒ™แƒ แƒ˜แƒคแƒ”แƒ‘แƒก แƒ›แƒแƒก แƒฎแƒ”แƒšแƒ˜แƒ—. แฒ˜แƒกแƒ”? แƒ•แƒ˜แƒœ แƒ˜แƒชแƒ˜แƒก, แƒ›แƒแƒ“แƒ˜แƒ—, แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ—.

แƒกแƒแƒ“ แƒ’แƒแƒ•แƒแƒ’แƒ–แƒแƒ•แƒœแƒ? แƒ แƒ แƒ’แƒแƒ•แƒแƒ’แƒ–แƒแƒ•แƒœแƒ? HTTP แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก IP-แƒ–แƒ”, แƒแƒ แƒ˜แƒก แƒ แƒแƒฆแƒแƒช GET... แƒ›แƒ”แƒ แƒ” แƒแƒ แƒ˜แƒก แƒ แƒแƒฆแƒแƒช HTTP/1.1... แƒฃแƒœแƒ“แƒ แƒ•แƒœแƒแƒฎแƒแƒ— แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜ แƒ แƒแƒก แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒ“แƒ แƒกแƒแƒ“. แฒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ wireshark, แƒจแƒ”แƒฎแƒ”แƒ“แƒ”แƒ— แƒ›แƒแƒซแƒ แƒแƒแƒ‘แƒแƒก:

0040 37 5d a3 84 27 e7 fb 13 6d 93 ed cd 56 04 9d 82 7]ยฃ.'รงรป.m.รญรV...
0050 32 7c fb 67 46 71 dd 36 4d 42 3d f3 62 1b e0 ad 2|รปgFqร6MB=รณb.ร .
0060 ef 87 be 05 6a f9 e1 01 41 fc 25 5b c0 77 d3 94 รฏ.ยพ.jรนรก.Aรผ%[ร€wร“.

แƒฐแƒ›... แƒ แƒ? แƒ“แƒ˜แƒแƒฎ, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก HTTPS. แฒ แƒ แƒฃแƒœแƒ“แƒ แƒ•แƒฅแƒœแƒ? แƒฌแƒแƒ›แƒแƒ˜แƒฌแƒงแƒแƒ— MITM แƒจแƒ”แƒขแƒ”แƒ•แƒ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ  แƒ—แƒแƒ•แƒ–แƒ”? แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ  แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ›แƒกแƒฎแƒ•แƒ”แƒ แƒžแƒšแƒ˜ แƒ—แƒแƒ•แƒแƒ“ แƒ“แƒแƒ’แƒ•แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ.

ะ’ ะพะฑั‰ะตะผ, ะดะพะณะฐะดะฐะฒัˆะธััŒ ะฟะพะปะฐะทะธั‚ัŒ ะฟะพ ะฑั€ะฐัƒะทะตั€ัƒ, ั-ั‚ะฐะบะธ ะฝะฐัˆั‘ะป ัะฐะผ ะทะฐะฟั€ะพั, ะธ ะฐะดั€ะตัะฐั‚ะฐ. ะŸะพะตั…ะฐะปะธ:

แƒ“แƒ˜แƒแƒšแƒแƒ’แƒ˜ แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒแƒšแƒ—แƒแƒœ

telnet IP PORT
Trying IP...
Connected to IP.
Escape character is '^]'.
GET /rifma/%D0%BC%D0%B0%D1%82%D1%8C?mode=block&type=asn HTTP/1.1
Host: HOST
Accept-Language: en-US,en;q=0.5
X-Requested-With: XMLHttpRequest
Connection: close

HTTP/1.1 400 Bad Request
Server: nginx/1.8.0
Date: Sun, 03 Nov 2019 20:06:59 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 270
Connection: close

<html>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx/1.8.0</center>
</body>
</html>
Connection closed by foreign host.

แƒฐแƒ”แƒ˜. แƒฐแƒ”แƒฐแƒ”แƒฐแƒ”. แƒ›แƒแƒ แƒ—แƒšแƒแƒช, แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒ›แƒแƒก แƒ•แƒ”แƒšแƒแƒ“แƒ˜ HTTPS แƒžแƒแƒ แƒขแƒจแƒ˜ แƒจแƒ˜แƒจแƒ•แƒ”แƒšแƒ˜ HTTP แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒกแƒแƒก. แƒแƒฎแƒšแƒ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ•แƒจแƒ˜แƒคแƒ แƒแƒ—? แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ”แƒก แƒแƒฃแƒ แƒ–แƒแƒฃแƒ แƒ˜ RSA แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒ—, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ SHA256-แƒ˜แƒ—. แƒ แƒแƒขแƒแƒ›, แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก OpenSSL ะดะปั ั‚ะฐะบะธั… ะดะตะป. ะงั‚ะพะถ, ัƒะถะต ะทะฝะฐะตะผ, ั‡ั‚ะพ ะดะตะปะฐั‚ัŒ, ั‚ะพะปัŒะบะพ ะฟั€ะตะดะฒะฐั€ะธั‚ะตะปัŒะฝะพ ัƒะฑะตั€ั‘ะผ ะฟะพะปั Referer ะธ Cookie โ€” ะดัƒะผะฐัŽ, ะพะฝะธ ะฝะต ัะธะปัŒะฝะพ ะฟะพะฒะปะธััŽั‚ ะฝะฐ ะดะตะปะพ:

แƒ“แƒ˜แƒแƒšแƒแƒ’แƒ˜ แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒแƒšแƒ—แƒแƒœ

openssl s_client -connect IP:PORT
{ะ’ััะบะธะต ะบะปัŽั‡ะธ, ัะตั€ั‚ะธั„ะธะบะฐั‚ั‹}
GET /rifma/%D0%B7%D0%B4%D0%B5%D1%81%D1%8C?mode=block&type=asn HTTP/1.1
Host: HOST
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0
Accept: text/javascript,text/html,application/xml,text/xml,*/*
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
X-Requested-With: XMLHttpRequest
Connection: keep-alive

HTTP/1.1 200 OK
Content-Type: text/html;charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Status: 200 OK
Date: Sun, 03 Nov 2019 20:34:33 GMT
Set-Cookie: COOKIE
X-Powered-By: Phusion Passenger 5.0.16
Server: nginx/1.8.0 + Phusion Passenger 5.0.16
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-cache
Strict-Transport-Security: max-age=31536000
Content-Security-Policy: block-all-mixed-content
Content-Encoding: gzip

แƒ แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒกแƒขแƒฃแƒ“แƒ”แƒœแƒขแƒ˜แƒก แƒขแƒ•แƒ˜แƒœแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒฌแƒแƒ•แƒšแƒแƒ‘แƒก แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒกแƒแƒ›แƒงแƒแƒ แƒแƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘?

แƒ”แƒก แƒ แƒ แƒแƒ แƒ˜แƒก, แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒ’แƒ˜แƒœแƒ”แƒ‘แƒ? แƒ˜แƒกแƒ” แƒ›แƒแƒ˜แƒœแƒช 200 OK แƒ›แƒ˜แƒžแƒแƒกแƒฃแƒฎแƒ”แƒก, แƒ แƒแƒช แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก แƒ แƒแƒ› แƒฅแƒฃแƒฅแƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ แƒ”แƒคแƒ”แƒ แƒ”แƒ แƒ˜ แƒแƒ แƒแƒคแƒ”แƒ แƒ–แƒ” แƒแƒ  แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก. แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ แƒแƒ แƒ˜แƒก gzip, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก ASCII แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒแƒ”แƒ‘แƒ˜ แƒ™แƒแƒžแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ. แƒ–แƒฃแƒกแƒขแƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒ›แƒแƒ˜แƒฆแƒแƒ— แƒฎแƒแƒ–แƒ˜ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ-แƒ“แƒแƒจแƒ˜แƒคแƒ•แƒ แƒ. ะ’ัั‘ ะฟั€ะตะบั€ะฐัะฝะพ โ€” ะฟะพะปัƒั‡ะฐะตะผ HTML ะดะพะบัƒะผะตะฝั‚, ั‚ะตะฟะตั€ัŒ ัƒะถะต ั ะฐััะพะฝะฐะฝัะฐะผะธ. ะะพ ะฒะพั‚ ะดะฒะฐ ะฒะพะฟั€ะพัะฐ: ะบะฐะบ ะทะฐะฟัƒัะบะฐั‚ัŒ OpenSSL ะธ ะฟะตั€ะตะดะฐะฒะฐั‚ัŒ ะตะผัƒ ะดะฐะฝะฝั‹ะต ัะบั€ะธะฟั‚ะพะผ? ะ˜ ะบะฐะบ ัั‡ะธั‚ั‹ะฒะฐั‚ัŒ ะฒั‹ะฒะพะด, ะตัะปะธ ะฟะพัะปะต ะฟะพะปัƒั‡ะตะฝะธั ะพั‚ะฒะตั‚ะฐ ะผั‹ ะพัั‚ะฐะตะผัั ะบะฐะบ ะฑั‹ ะฒ ยซะพะฑะพะปะพั‡ะบะตยป OpenSSL? ะ•ัะปะธ ัะพ ะฒั‚ะพั€ั‹ะผ ะผะพะถะฝะพ ั‡ั‚ะพ-ั‚ะพ ะฟั€ะธะดัƒะผะฐั‚ัŒ, ะฝะพ ะฒะพั‚ ั ะฟะตั€ะฒั‹ะผโ€ฆ

แƒ™แƒแƒ แƒ’แƒ˜แƒ แƒ แƒแƒ› แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒฐแƒแƒ‘แƒ แƒกแƒแƒ“แƒแƒช แƒฌแƒแƒ•แƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ” แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ•แƒ”แƒšแƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒ˜แƒ–แƒ˜แƒ แƒ”แƒ‘แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒ—แƒแƒœ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒ”แƒšแƒ˜แƒก แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ˜แƒก แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒแƒก. แƒ’แƒฃแƒœแƒ“แƒ˜แƒก แƒงแƒแƒšแƒ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒ›แƒ˜แƒ›แƒ–แƒ˜แƒ“แƒ•แƒ”แƒšแƒ˜แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ›แƒแƒšแƒแƒ“แƒ˜แƒœแƒ˜, แƒฌแƒแƒ แƒ›แƒแƒฅแƒ›แƒœแƒ˜แƒก แƒ•แƒ”แƒšแƒ˜แƒ— แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒ”แƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒ‘แƒก. แƒ™แƒแƒ แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒ˜แƒ—, แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒ แƒแƒฅ แƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜. แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ“แƒ˜แƒ“แƒ˜ แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒ›แƒ˜แƒขแƒแƒ› OpenSSL แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒกแƒ”แƒ แƒ—แƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ”แƒ‘แƒก, แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒก แƒ“แƒ แƒ•แƒ”แƒšแƒ˜แƒ— แƒ”แƒšแƒ˜แƒก แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒก. แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ”แƒก? แƒแƒ แƒ. แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒกแƒœแƒ˜แƒ— แƒ›แƒ—แƒ”แƒš แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก แƒ“แƒ แƒ•แƒขแƒแƒ•แƒ”แƒ‘แƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ‘แƒแƒšแƒ แƒฎแƒแƒ–แƒ˜แƒก แƒจแƒ”แƒกแƒ•แƒ”แƒœแƒ”แƒ‘แƒแƒก "r". แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒ•แƒฎแƒกแƒœแƒ˜แƒ— แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒแƒ’แƒ”แƒœแƒขแƒ˜แƒก แƒ“แƒ Accept แƒ•แƒ”แƒšแƒ”แƒ‘แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒ“แƒแƒœ - แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ แƒแƒคแƒ”แƒ แƒ–แƒ” แƒแƒ  แƒ˜แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒœ. แƒ›แƒแƒจ แƒแƒกแƒ”, แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ—. แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒแƒ“ แƒแƒ แƒ˜แƒก แƒซแƒ•แƒ˜แƒ แƒคแƒแƒกแƒ˜ HTML แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒ˜? แƒ•แƒ”แƒšแƒแƒ“แƒแƒ— แƒจแƒ”แƒญแƒแƒ›แƒ. แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒ˜แƒก แƒ’แƒแƒ›แƒแƒคแƒฃแƒ แƒ—แƒฎแƒแƒœ, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒงแƒ”แƒœแƒแƒ—:

set results $expect_out(buffer)

แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ›แƒ“แƒ” - แƒแƒกแƒ” แƒฉแƒแƒ˜แƒฌแƒ”แƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ“แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒ•แƒ”แƒšแƒ˜แƒ—'om แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒ แƒ”แƒ™แƒ แƒแƒœแƒ–แƒ”. แƒ›แƒแƒ™แƒšแƒ”แƒ“, แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒ แƒแƒ›:

แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒ›แƒแƒšแƒแƒ“แƒ˜แƒœแƒ˜

#!/usr/bin/expect -f

set timeout -1
spawn openssl s_client -connect IP:PORT
match_max 100000
expect -exact "
---r
"
send -- "GET /rifma/%d0%b7%d0%b4%d0%b5%d1%81%d1%8c?mode=block&type=asn HTTP/1.1rHost: HOSTrAccept-Language: en-US,en;q=0.5rX-Requested-With: XMLHttpRequestrConnection: close"
expect -exact "GET /rifma/%d0%b7%d0%b4%d0%b5%d1%81%d1%8c?mode=block&type=asn HTTP/1.1r
Host: HOSTr
Accept-Language: en-US,en;q=0.5r
X-Requested-With: XMLHttpRequestr
Connection: close"
send -- "r"
set results $expect_out(buffer)
expect -exact "r
"
send -- "r"
expect eof

แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก! แƒ แƒแƒ’แƒแƒ แƒช แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒจแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก URL แƒ˜แƒงแƒ แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ แƒ˜แƒก URL, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ˜แƒ›แƒแƒ–แƒ”, แƒ—แƒฃ แƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒกแƒ˜แƒขแƒงแƒ•แƒ แƒแƒกแƒแƒชแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒแƒกแƒแƒœแƒแƒœแƒกแƒ”แƒ‘แƒ—แƒแƒœ. แƒแƒกแƒ” แƒ แƒแƒ›, แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ•แƒ”แƒซแƒ”แƒ‘แƒ— แƒกแƒ˜แƒขแƒงแƒ•แƒแƒก "%d0%b7%d0%b4%d0%b5%d1%81%d1%8c" ASCII-แƒจแƒ˜ แƒแƒœ "แƒแƒฅ" UTF-8-แƒจแƒ˜. แฒ แƒ แƒฃแƒœแƒ“แƒ แƒ•แƒฅแƒœแƒ? แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒแƒฎแƒแƒšแƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒงแƒแƒ•แƒ”แƒš แƒฏแƒ”แƒ แƒ–แƒ”, แƒ›แƒ”แƒ’แƒแƒ‘แƒ แƒ”แƒ‘แƒ! แฒฃแƒ™แƒ•แƒ” แƒแƒฆแƒแƒ  แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ›แƒแƒšแƒแƒ“แƒ˜แƒœแƒ˜แƒแƒฐ แƒ“แƒ แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒ— echo, แƒ˜แƒ›แƒ˜แƒขแƒแƒ› แƒฉแƒ•แƒ”แƒœแƒก แƒแƒฎแƒแƒšแƒจแƒ˜ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒก แƒ’แƒแƒ แƒ“แƒ. แƒ’แƒแƒฃแƒ›แƒแƒ แƒฏแƒแƒก แƒแƒฎแƒแƒš แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก: แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒฃแƒ แƒแƒ“ แƒ’แƒแƒ“แƒแƒ•แƒ—แƒแƒ แƒ’แƒ›แƒœแƒแƒ— แƒกแƒ˜แƒขแƒงแƒ•แƒ แƒ™แƒ˜แƒ แƒ˜แƒšแƒ˜แƒชแƒ˜แƒ“แƒแƒœ URL แƒคแƒแƒ แƒ›แƒแƒขแƒจแƒ˜? แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒแƒ แƒแƒคแƒ”แƒ แƒ˜แƒ แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜. แƒ™แƒแƒ แƒ’แƒ˜, แƒแƒ แƒ แƒฃแƒจแƒแƒ•แƒก, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ, แƒแƒ แƒ? แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ:

แƒœแƒแƒฎแƒ” แƒ แƒ แƒจแƒ”แƒ›แƒ˜แƒซแƒšแƒ˜แƒ!

function furl {
furl=$(echo "$word" | sed 's:ะ:%d0%90:g;s:ะ‘:%d0%91:g;s:ะ’:%d0%92:g;s:ะ“:%d0%93:g;s:ะ”:%d0%94:g;s:ะ•:%d0%95:g;s:ะ–:%d0%96:g;s:ะ—:%d0%97:g;s:ะ˜:%d0%98:g;s:ะ™:%d0%99:g;s:ะš:%d0%9a:g;s:ะ›:%d0%9b:g;s:ะœ:%d0%9c:g;s:ะ:%d0%9d:g;s:ะž:%d0%9e:g;s:ะŸ:%d0%9f:g;s:ะ :%d0%a0:g;s:ะก:%d0%a1:g;s:ะข:%d0%a2:g;s:ะฃ:%d0%a3:g;s:ะค:%d0%a4:g;s:ะฅ:%d0%a5:g;s:ะฆ:%d0%a6:g;s:ะง:%d0%a7:g;s:ะจ:%d0%a8:g;s:ะฉ:%d0%a9:g;s:ะช:%d0%aa:g;s:ะซ:%d0%ab:g;s:ะฌ:%d0%ac:g;s:ะญ:%d0%ad:g;s:ะฎ:%d0%ae:g;s:ะฏ:%d0%af:g;s:ะฐ:%d0%b0:g;s:ะฑ:%d0%b1:g;s:ะฒ:%d0%b2:g;s:ะณ:%d0%b3:g;s:ะด:%d0%b4:g;s:ะต:%d0%b5:g;s:ะถ:%d0%b6:g;s:ะท:%d0%b7:g;s:ะธ:%d0%b8:g;s:ะน:%d0%b9:g;s:ะบ:%d0%ba:g;s:ะป:%d0%bb:g;s:ะผ:%d0%bc:g;s:ะฝ:%d0%bd:g;s:ะพ:%d0%be:g;s:ะฟ:%d0%bf:g;s:ั€:%d1%80:g;s:ั:%d1%81:g;s:ั‚:%d1%82:g;s:ัƒ:%d1%83:g;s:ั„:%d1%84:g;s:ั…:%d1%85:g;s:ั†:%d1%86:g;s:ั‡:%d1%87:g;s:ัˆ:%d1%88:g;s:ั‰:%d1%89:g;s:ัŠ:%d1%8a:g;s:ั‹:%d1%8b:g;s:ัŒ:%d1%8c:g;s:ั:%d1%8d:g;s:ัŽ:%d1%8e:g;s:ั:%d1%8f:g;s:ั‘:%d1%91:g;s:ะ:%d0%81:g')}

แƒกแƒแƒ”แƒ แƒ—แƒ แƒฏแƒแƒ›แƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ™แƒแƒœแƒ•แƒ”แƒ แƒขแƒ”แƒ‘แƒก แƒกแƒ˜แƒขแƒงแƒ•แƒแƒก ASCII แƒขแƒ”แƒฅแƒกแƒขแƒแƒ“, แƒฌแƒแƒ แƒ›แƒแƒฅแƒ›แƒœแƒ˜แƒก แƒกแƒฎแƒ•แƒ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒก แƒแƒกแƒแƒœแƒแƒœแƒกแƒ”แƒ‘แƒ˜แƒ— แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒ“แƒแƒœ OpenSSL-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒงแƒ•แƒแƒœแƒ— แƒ‘แƒแƒšแƒ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒก แƒคแƒแƒ˜แƒšแƒ–แƒ” แƒ“แƒ แƒซแƒ•แƒ”แƒšแƒ”แƒ‘แƒฃแƒ แƒแƒ“ แƒ’แƒแƒ“แƒแƒ•แƒชแƒ”แƒ›แƒ— แƒ›แƒแƒก "แƒคแƒ˜แƒšแƒขแƒ แƒ”แƒ‘แƒ˜" แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ™แƒ•แƒแƒ“แƒ แƒแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒฉแƒแƒฌแƒ”แƒ แƒ”แƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒคแƒแƒ˜แƒšแƒจแƒ˜.

แƒ‘แƒ”แƒ•แƒ แƒ˜แƒก แƒ™แƒ•แƒ”แƒ—แƒ. แƒฅแƒ•แƒ”แƒ“แƒ แƒฎแƒแƒ–แƒ˜

แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒก, แƒ แƒแƒช แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒก. แƒ–แƒ”แƒ›แƒแƒแƒฆแƒœแƒ˜แƒจแƒœแƒฃแƒš แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ”แƒ‘แƒก แƒ•แƒแƒขแƒแƒ แƒ”แƒ‘แƒ— แƒแƒ แƒ˜ แƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒแƒ แƒ˜ แƒกแƒ˜แƒ˜แƒ“แƒแƒœ แƒ•แƒแƒ“แƒแƒ แƒ”แƒ‘แƒ— แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒกแƒ˜แƒขแƒงแƒ•แƒแƒก แƒ“แƒ แƒ—แƒฃ แƒจแƒ”แƒกแƒแƒขแƒงแƒ•แƒ˜แƒกแƒ˜ แƒแƒฆแƒ›แƒแƒ•แƒแƒฉแƒ˜แƒœแƒ”แƒ—, แƒ’แƒแƒ›แƒแƒ•แƒงแƒแƒ•แƒ˜แƒ—. แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒฆแƒ”แƒ‘แƒก แƒแƒ  แƒกแƒ˜แƒขแƒงแƒ•แƒแƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒแƒ“ แƒ“แƒ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ แƒ˜แƒ—แƒ›แƒแƒ‘แƒ”แƒœ แƒแƒ แƒ˜แƒ•แƒ”แƒก, แƒ“แƒ แƒ—แƒแƒœแƒแƒช แƒแƒกแƒแƒœแƒแƒœแƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ“แƒ แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒแƒ—แƒฎ แƒฉแƒแƒœแƒแƒ แƒ—แƒก แƒจแƒแƒ แƒ˜แƒก แƒฎแƒ”แƒšแƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒก โ€žแƒ—แƒ•แƒแƒšแƒ˜แƒ—โ€œ แƒ“แƒแƒ›แƒแƒฎแƒกแƒแƒ•แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” - แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒแƒฆแƒ แƒ˜แƒชแƒฎแƒฃแƒšแƒ˜ แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ’แƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ. แƒ›แƒจแƒ•แƒ”แƒœแƒ˜แƒ”แƒ แƒ˜แƒ.

แƒแƒ› แƒžแƒฃแƒ‘แƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒ–แƒแƒœแƒ˜ แƒ˜แƒงแƒ แƒ˜แƒ›แƒ˜แƒก แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ› แƒ—แƒฃ แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒก แƒ แƒแƒ›แƒ” แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ, แƒ˜แƒก แƒ›แƒแƒ˜แƒœแƒช แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก. แƒซแƒแƒšแƒ˜แƒแƒœ แƒแƒ แƒแƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒ˜, แƒ›แƒ แƒฃแƒ“แƒ”, แƒ›แƒชแƒแƒชแƒแƒ•แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ