ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° () Π² ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° UPnP, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΠΊ Π΄ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π», ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° "SUBSCRIBE" ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π° Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ°. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΎΡΠΎ ΠΈΠΌΠ΅ . Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΌΡΠ΅ΠΆΠΈ, Π·Π°ΡΠΈΡΠ΅Π½ΠΈ Ρ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ (DLP), Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠΎΠ²Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠΈ Π² Π²ΡΡΡΠ΅ΡΠ½Π° ΠΌΡΠ΅ΠΆΠ°, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈ Π·Π° ΡΡΠΈΠ»Π²Π°Π½Π΅ Π½Π° DDoS Π°ΡΠ°ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΊΡΠΌ Π³Π»ΠΎΠ±Π°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° UPnP, ΠΊΠ°ΡΠΎ ΠΊΠ°Π±Π΅Π»Π½ΠΈ ΠΌΠΎΠ΄Π΅ΠΌΠΈ, Π΄ΠΎΠΌΠ°ΡΠ½ΠΈ ΡΡΡΠ΅ΡΠΈ, ΠΈΠ³ΡΠΎΠ²ΠΈ ΠΊΠΎΠ½Π·ΠΎΠ»ΠΈ, IP ΠΊΠ°ΠΌΠ΅ΡΠΈ, TV ΠΏΡΠΈΡΡΠ°Π²ΠΊΠΈ, ΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ ΡΠ΅Π½ΡΡΠΎΠ²Π΅ ΠΈ ΠΏΡΠΈΠ½ΡΠ΅ΡΠΈ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅, ΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π°ΡΠ° Π²ΡΠ² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ "SUBSCRIBE" ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ½ΡΠ΅Π½ Π°ΡΠ°ΠΊΡΠ²Π°Ρ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° HTTP ΠΏΠ°ΠΊΠ΅ΡΠΈ Ρ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ Callback ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° UPnP ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠΊΡΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ Π΄ΡΡΠ³ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅. Π€ΡΠ½ΠΊΡΠΈΡΡΠ° "SUBSCRIBE" Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° UPnP ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Π΄ΡΡΠ³ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΡΡΠ»ΡΠ³ΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° HTTP Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ Callback ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ URL, ΠΊΡΠΌ ΠΊΠΎΠΉΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅.
ΠΠΎΠ΄Π°ΡΠ»ΠΈΠ²ΠΈ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ° ΠΏΠΎΡΡΠΈ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° UPnP, ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈ Π½Π° , ΠΈΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΏΡΠ΅Π΄ΠΈ 17 Π°ΠΏΡΠΈΠ». ΠΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² ΠΎΡΠΊΡΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π±Π΅Π·ΠΆΠΈΡΠ½Π° ΡΠΎΡΠΊΠ° Π·Π° Π΄ΠΎΡΡΡΠΏ (WPS AP). ΠΠΎΠΏΡΠ°Π²ΠΊΠ°ΡΠ° Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ Π½Π°Π»ΠΈΡΠ½Π° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° . Π Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΈΡΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° ΠΈΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ (, , , , , , ). ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ UPnP ΡΡΠ΅ΠΊ , ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΊΠΎΠΈΡΠΎ Π·Π° ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π»ΠΈΠΏΡΠ²Π°.
ΠΡΠΎΡΠΎΠΊΠΎΠ»ΡΡ UPnP ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΡΠΌ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΡΠΊΡΠΈΡΠΈΠ΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΡΡΡ
. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΡΡ Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² Π²ΡΡΡΠ΅ΡΠ½ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΡΠΎΡΠΌΠΈ Π½Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° UPnP Π½Π° Π²ΡΠ½ΡΠ½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ ΠΈ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΎΡ Π³Π»ΠΎΠ±Π°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. ΠΡΠ°ΠΊΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½Π° ΡΡΠ΅Π· Π²ΡΡΠΊΠΎ ΡΠ°ΠΊΠΎΠ²Π° UPnP ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΡΡΠ°Π²ΠΊΠΈΡΠ΅ Xbox One ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π°ΡΠ°ΠΊΡΠ²Π°Π½ΠΈ ΠΏΡΠ΅Π· ΠΌΡΠ΅ΠΆΠΎΠ² ΠΏΠΎΡΡ 2869, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π° SUBSCRIBE.
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Open Connectivity Foundation (OCF) Π±Π΅ΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ΅Π½Π° Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΊΡΠ°Ρ Π½Π° ΠΌΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°, Π½ΠΎ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ ΠΎΡΠΊΠ°Π·Π° Π΄Π° Π³ΠΎ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ°. Π‘Π»Π΅Π΄ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½, ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π΅Π½ Π΄ΠΎΠΊΠ»Π°Π΄, Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±Π΅ΡΠ΅ ΠΏΡΠΈΠ·Π½Π°ΡΠΎ ΠΈ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° Π±Π΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° UPnP ΡΠ°ΠΌΠΎ Π½Π° LAN ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈΡΠ΅. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅ ΠΏΡΠΈΡΠΈΠ½Π΅Π½ ΠΎΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ°, ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠ½Π΅ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π° Π·Π° ΠΏΠΎ-ΡΡΠ°ΡΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅ ΠΈ Π΄Π° Π½Π΅ Π±ΡΠ΄Π°Ρ Π½Π°Π»ΠΈΡΠ½ΠΈ.
ΠΠ°ΡΠΎ ΠΎΠ±Ρ
ΠΎΠ΄Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° Π·Π°ΡΠΈΡΠ° ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° UPnP ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΡΠ° ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΡΡΠ΅Π· Π·Π°ΡΠΈΡΠ½Π° ΡΡΠ΅Π½Π°, Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ½ΡΠ½ΠΈ HTTP Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ "SUBSCRIBE" ΠΈ "NOTIFY" Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° Π°ΡΠ°ΠΊΠΈ ΠΈΠ»ΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° UPnP Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΠ° ΠΏΠΎΡΡΠ²Π΅ΡΠ²Π°Π½ΠΈ Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡΡΠ° SUBSCRIBE Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈ Π΄Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Ρ ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΌΠΎ ΠΎΡ Π²ΡΡΡΠ΅ΡΠ½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅.
ΠΠ° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Python ΠΈ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Π½ ΠΏΠΎΠ΄ MIT Π»ΠΈΡΠ΅Π½Π·.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
