Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
‫ﺒﺴﻡ ﺍﷲ ﺍﻟﺭﺤﻤﻥ ﺍﻟﺭﺤﻴﻡ‬
                                                                            ‫•‬
                                                                ‫ﺍﻹﺘﻔﺎﻗﻴﺔ.‬
                                                                            ‫•‬
                             ‫ﻤﺎﻫﻭ ﺍﻟﻤﻘﺼﻭﺩ ﺒﻜﻠﻤﺔ ﺒﺭﻭﺘﻭﻜﻭل )‪.(protocol‬‬
                                                                            ‫•‬
                                  ‫ﻤﻘﺩﻤﺔ ﻋﻥ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ )‪.(ftp‬‬
                                                                            ‫•‬
                                      ‫ﺃﻭﺍﻤﺭ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ )‪.(ftp‬‬
                                                                            ‫•‬
‫ﻓﻬﻡ ﺍﻷﻜﻭﺍﺩ ﺍﻟﺭﻗﻤﻴﺔ ﺍﻟﺘﻲ ﻴﺼﺩﺭﻫﺎ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﺃﺜﻨﺎﺀ ﻋﻤﻠﻴﺔ ﺇﺭﺴﺎل‬
                                                        ‫ﻭﺇﺴﺘﻘﺒﺎل ﺍﻷﻭﺍﻤﺭ.‬
                                                                            ‫•‬
     ‫ﻜﻴﻑ ﻴﺘﻡ ﺍﻹﺘﺼﺎل ﺒﻴﻥ ﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ )‪ (server‬ﻭﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل )‪.(client‬‬
                                                                            ‫•‬
                           ‫ﺒﻌﺽ ﺍﻷﻤﺜﻠﺔ ﻋﻠﻰ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ )‪.(ftp‬‬
                                                                            ‫•‬
                                                             ‫ﻜﻠﻤﺔ ﺃﺨﻴﺭﺓ.‬

                                                                 ‫• ﺍﻹﺘﻔﺎﻗﻴﺔ:‬
‫ﻟﻘﺩ ﻜﺘﺒﺕ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻟﻐﺭﺽ ﺘﺜﻘﻴﻑ ﺍﻟﺸﺒﺎﺏ ﺍﻟﻌﺭﺒﻲ ﻓﻲ ﻤﺠﺎل ﻋﻠﻭﻡ ﺍﻟﺤﺎﺴﺏ ﺍﻵﻟﻲ.‬
‫ﻭﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻤﺠﺎﻨﻲ ﻟﻠﺠﻤﻴﻊ ﻭﻻ ﺃﺭﻴﺩ ﻤﻥ ﻭﺭﺍﺌﻪ ﺇﻻ ﺸﻲﺀ ﺒﺴﻴﻁ ﺠﺩﺍ ﻭﻫﻭ ﺩﻋﻭﺓ‬
           ‫ﹰ‬
‫ﺼﺎﻟﺤﺔ ﻓﻲ ﻅﻬﺭ ﺍﻟﻐﻴﺏ ﻟﻲ ﻭﻟﺠﻤﻴﻊ ﺃﺨﻭﺍﻨﻨﺎ ﺍﻟﻤﺴﻠﻤﻴﻥ ﻓﻲ ﺃﻨﺤﺎﺀ ﺍﻟﻌﺎﻟﻡ.ﻜﻤﺎ ﺃﺭﺠﻭﺍ ﺃﻥ‬
‫ﻻ ﻴﺘﻡ ﺍﻟﺘﻌﺩﻴل ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻭﺇﻨﺴﺎﺒﻪ ﺇﻟﻰ ﻏﻴﺭﻱ ﻷﻨﻲ ﻗﺩ ﺘﻌﺒﺕ ﻓﻴﻪ ﻜﺜﻴﺭﺍ. ﻜﻤﺎ‬
     ‫ﹰ‬
‫ﺃﻨﻨﻲ ﺃﺅﺅﻜﺩ ﺃﻨﻨﻲ ﺃﺭﺤﺏ ﻭﺒﻜل ﺴﻌﺔ ﺼﺩﺭ ﺒﺎﻟﻨﻘﺩ ﺍﻟﺒﻨﺎﺀ ﺍﻟﺫﻱ ﻴﺴﺘﻔﻴﺩ ﻤﻨﻪ ﺍﻟﺠﻤﻴﻊ. ﻜﻤﺎ‬
‫ﺃﻨﻪ ﺇﺫﺍ ﻭﺠﺩﺕ ﻋﺯﻴﺯﻱ ﺍﻟﻘﺎﺭﺉ ﺃﻱ ﺃﺨﻁﺎﺀ ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻴﺭﺠﻰ ﺃﺨﺒﺎﺭﻱ ﺒﻬﺎ‬
                           ‫ﻤﺸﻜﻭﺭﺍ ﻭﺴﻴﺘﻡ ﻭﻀﻊ ﺃﺴﻤﻙ ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻤﻊ ﺍﻟﺘﻌﺩﻴل.‬
                                                                      ‫ﹰ‬

                            ‫• ﻤﺎﻫﻭ ﺍﻟﻤﻘﺼﻭﺩ ﺒﻜﻠﻤﺔ ﺒﺭﻭﺘﻭﻜﻭل )‪:(protocol‬‬
‫ﺍﻟﺒﺭﻭﺘﻭﻜﻭل ﻫﻭ ﻋﺒﺎﺭﺓ ﻋﻥ ﻟﻐﺔ ﺍﻟﺘﻔﺎﻫﻡ ﺒﻴﻥ ﺃﺠﻬﺯﺓ ﺍﻟﻜﻤﺒﻴﻭﺘﺭ. ﺤﻴﺙ ﺃﻨﻪ ﺇﺫﺍ ﻜﺎﻥ‬
‫ﻫﻨﺎﻙ ﺍﺨﺘﻼﻑ ﻓﻲ ﻨﻭﻉ ﺍﻟﺒﺭﻭﺘﻭﻜﻭل ﺍﻟﻤﺴﺘﺨﺩﻡ ﺒﻴﻥ ﺍﻷﺠﻬﺯﺓ ﻓﺈﻨﻪ ﻟﻥ ﻴﺘﻡ ﺍﻟﺘﺨﺎﻁﺏ‬
‫ﻭﻨﻘل ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻴﻤﺎ ﺒﻴﻨﻬﺎ ﻭﺫﻟﻙ ﻷﻥ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺼﺎﺩﺭﺓ ﻤﻥ ﻜﻼ ﺍﻟﺠﻬﺎﺯﻴﻥ ﻟﻥ ﻴﺘﻡ‬
‫ﺍﻟﺘﻌﺭﻑ ﻋﻠﻴﻬﺎ ﻤﻥ ﻗﺒل ﺍﻟﻁﺭﻑ ﺍﻵﺨﺭ. ﻭﻴﻤﻜﻨﻨﺎ ﺘﺸﺒﻴﻪ ﺍﻟﺒﺭﻭﺘﻭﻜﻭل ﺒﺎﻟﻠﻐﺔ ﻋﻨﺩ‬
‫ﺍﻹﻨﺴﺎﻥ ﻓﻠﻭ ﻤﺜﻼ ﺸﺨﺹ ﻴﺘﻜﻠﻡ ﺍﻟﻌﺭﺒﻴﺔ ﻭﻴﺭﻴﺩ ﺃﻥ ﻴﺘﻜﻠﻡ ﻤﻊ ﺸﺨﺹ ﺁﺨﺭ ﻭﻟﻜﻥ ﻫﺫﺍ‬
                                                           ‫ﹰ‬
‫ﺍﻟﺸﺨﺹ ﻻ ﻴﻌﺭﻑ ﺍﻟﻌﺭﺒﻴﺔ ﻭﺇﻨﻤﺎ ﻴﻌﺭﻑ ﻟﻐﺔ ﺃﺨﺭﻯ ﻏﻴﺭﻫﺎ ﻭﻟﻴﻜﻥ ﻤﺜﻼ ﺍﻟﻠﻐﺔ‬
      ‫ﹰ‬
‫ﺍﻹﻨﺠﻠﻴﺯﻴﺔ . ﻓﻲ ﻫﺫﻩ ﺍﻟﺤﺎﻟﺔ ﻋﻨﺩﻤﺎ ﻴﺘﺤﺩﺙ ﺃﺤﺩ ﻫﺎﺫﻴﻥ ﺍﻟﻁﺭﻓﻴﻥ ﻟﻥ ﻴﺘﻡ ﻓﻬﻤﻪ ﻤﻥ ﻗﺒل‬
‫ﺍﻟﻁﺭﻑ ﺍﻵﺨﺭ ﻭﺫﻟﻙ ﻹﺨﺘﻼﻑ ﻋﻨﺼﺭ ﺍﻟﺘﻭﺤﻴﺩ ﺒﻴﻥ ﺍﻟﻠﻐﺘﻴﻥ. ﺃﻤﺎ ﺇﺫﺍ ﻜﺎﻥ ﻜﻼ‬
‫ﺍﻟﻁﺭﻓﻴﻥ ﻴﺘﺤﺩﺜﻭﻥ ﺍﻟﻠﻐﺔ ﺍﻟﻌﺭﺒﻴﺔ ﻓﺴﻴﺴﻬل ﻋﻠﻰ ﻜل ﻁﺭﻑ ﻓﻬﻡ ﻁﻠﺏ ﺍﻵﺨﺭ.ﻜﺫﻟﻙ ﻫﻭ‬
                                           ‫ﺍﻟﺤﺎل ﻓﻲ ﺃﻨﻅﻤﺔ ﺍﻟﻜﻤﺒﻴﻭﺘﺭ.‬

                                  ‫• ﻤﻘﺩﻤﺔ ﻋﻥ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ )‪.(ftp‬‬
‫ﺒﺭﻭﺘﻭﻜﻭل )‪ (ftp‬ﻭﻫﻭ ﺇﺨﺘﺼﺎﺭﺍ ل ) ‪ (file transfer protocol‬ﺃﻱ ﺒﺭﻭﺘﻭﻜﻭل‬
                                              ‫ﹰ‬
‫ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ .ﻭﻫﺫﺍ ﺍﻟﺒﺭﻭﺘﻭﻜﻭل ﻋﺒﺎﺭﺓ ﻋﻥ ﺘﻁﺒﻴﻕ ﻴﻌﻤل ﻓﻲ ﺍﻟﻁﺒﻘﺔ ﺍﻟﺭﺍﺒﻌﺔ ﻤﻥ‬
‫ﻁﺒﻘﺎﺕ )‪ (tcp/ip‬ﻭﻫﺫﻩ ﺍﻟﻁﺒﻘﺔ ﺘﺩﻋﻰ ﺒﻁﺒﻘﺔ ﺍﻟﺘﻁﺒﻴﻘﺎﺕ)‪.(application layer‬‬
‫ﻭﻴﻘﻭﻡ ﻫﺫﺍ ﺍﻟﺒﺭﻭﺘﻭﻜﻭل ﻋﺎﺩﺓ ﺒﻨﻘل ﻨﺴﺨﺔ ﻤﻥ ﺍﻟﻤﻠﻔﺎﺕ ﺇﻟﻰ ﺍﻟﺠﻬﺎﺯ ﺍﻟﻬﺩﻑ ﻤﻊ ﺘﺭﻙ‬
‫ﻨﺴﺨﺔ ﻤﻨﻬﺎ ﻓﻲ ﺍﻟﺠﻬﺎﺯ ﺍﻟﻤﺼﺩﺭ. ﻭﻗﺩ ﺼﻤﻡ ﻫﺫﺍ ﺍﻟﺒﺭﺘﻭﻜﻭل ﻟﻜﻲ ﻴﻌﻤل ﺒﻴﻥ ﺃﺠﻬﺯﺓ‬
‫ﹰ‬
‫ﻤﺨﺘﻠﻔﺔ ﻓﻲ ﺍﻟﻨﻭﻉ. ﻜﺫﻟﻙ ﻟﻴﻌﻤل ﺒﻴﻥ ﺠﻬﺎﺯﻴﻥ ﻴﻌﻤﻼﻥ ﺒﻨﻅﺎﻤﻴﻥ ﺘﺸﻐﻠﻴﻴﻥ ﻤﺨﺘﻠﻔﻴﻥ ﻤﺜﻼ‬
‫ﻴﻤﻜﻥ ﻟﺠﻬﺎﺯ ﻴﺴﺘﺨﺩﻡ ﻨﻅﺎﻡ ﺍﻟﻭﻴﻨﺩﻭﺯ )‪ ،(windows‬ﻭﺠﻬﺎﺯ ﺁﺨﺭ ﻴﻌﻤل ﺒﻨﻅﺎﻡ )‬
‫‪ (Linux‬ﺃﻥ ﻴﺘﻡ ﺍﻟﺭﺒﻁ ﺒﻴﻨﻬﻤﺎ ﺩﻭﻥ ﺍﻟﺘﺄﺜﻴﺭ ﻋﻠﻰ ﻋﻤل ﺍﻟﺒﺭﻭﺘﻭﻜﻭل. ﻭﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل‬
‫ﺍﻟﻤﻠﻔﺎﺕ ﻴﺴﺘﻁﻴﻊ ﺃﻥ ﻴﻨﻘل ﻓﻘﻁ ﺃﻨﻭﺍﻉ ﻤﺤﺩﻭﺩﺓ ﻤﻥ ﺍﻟﻤﻠﻔﺎﺕ )‪(binary, ASCII‬‬
‫.ﻭﻟﻜﻲ ﺘﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻟﺒﺭﺘﻭﻜﻭل ﻻﺒﺩ ﺃﻥ ﻴﻜﻭﻥ ﻟﻙ ﺤﺴﺎﺏ ﻋﻠﻰ ﺍﻟﺨﺎﺩﻡ )‪(server‬‬
‫ﹰ‬
‫ﻭﻫﺫﺍ ﺍﻟﺤﺴﺎﺏ ﻴﻜﻭﻥ ﺒﺎﺴﻡ ﻤﺴﺘﺨﺩﻡ ﺨﺎﺹ ﺒﻙ ﻭﻜﺫﻟﻙ ﻜﻠﻤﺔ ﻤﺭﻭﺭ . ﻭﻴﻭﺠﺩ ﺃﻴﻀﺎ‬
‫ﻫﻨﺎﻙ ﺒﻌﺽ ﺍﻟﺨﻭﺍﺩﻡ ﺍﻟﺘﻲ ﺘﻘﺩﻡ ﻫﺫﻩ ﺍﻟﺨﺩﻤﺔ ﺒﻭﻀﻌﻴﺔ ﺍﻟﺘﺨﻔﻲ )‪(anonymous‬‬
                                             ‫ﻭﺴﻴﺘﻡ ﻤﻨﺎﻗﺸﺘﻬﺎ ﻻﺤﻘﺎ ﻓﻲ ﺍﻷﻤﺜﻠﺔ.‬
                                                         ‫ﹰ‬
‫ﻭﻴﺘﻤﻴﺯ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻋﻥ ﺒﺎﻗﻲ ﺍﻟﺒﺭﻭﺘﻭﻜﻭﻻﺕ ﺍﻷﺨﺭﻯ ﻓﻲ ﺃﻨﻪ ﻭﻋﻨﺩ ﻗﻴﺎﻤﻪ‬
                                      ‫ﺒﻌﻤﻠﻴﺔ ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻴﻨﺸﺊ ﺇﺘﺼﺎﻟﻴﻥ ﻭﻫﻤﺎ:‬
                                ‫١. ﺇﺘﺼﺎل ﺍﻟﺘﺤﻜﻡ )‪:(control connection‬‬
‫ﻭﻫﺫﺍ ﺍﻹﺘﺼﺎل ﺨﺎﺹ ﺒﻨﻘل ﺍﻷﻭﺍﻤﺭ ﺒﻴﻥ ﺠﻬﺎﺯﻱ ﺍﻟﺨﺎﺩﻡ )‪ (server‬ﻭﺍﻟﻌﻤﻴل )‬
‫‪ .(client‬ﻭﻫﺫﺍ ﺍﻹﺘﺼﺎل ﻴﺄﺨﺫ ﺍﻟﻤﻨﻔﺫ )12( ﻜﺈﻓﺘﺭﺍﻀﻲ ﻟﻪ ﺤﻴﺙ ﺃﻥ ﺍﻟﺨﺎﺩﻡ ﻴﻔﺘﺢ ﻫﺫﺍ‬
‫ﺍﻟﺒﻭﺭﺕ ﻭﻴﻨﺘﻅﺭ ﺃﻥ ﻴﺠﺭﻱ ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل ﺍﻹﺘﺼﺎل ﻤﻥ ﺨﻼﻟﻪ ﺃﻱ ﺃﻥ ﺍﻟﺒﻭﺭﺕ )12(‬
‫ﻴﻜﻭﻥ ﻓﻲ ﻭﻀﻊ )‪ (listen‬ﺃﻱ ﺇﻨﺼﺎﺕ ﻷﻱ ﺇﺘﺼﺎل ﻗﺎﺩﻡ. ﻭﻫﺫﺍ ﺍﻟﻨﻭﻉ ﻤﻥ ﺍﻹﺘﺼﺎل‬
‫ﻴﻜﻭﻥ ﺩﺍﺌﻡ ﺃﻱ ﻻ ﻴﻨﻘﻁﻊ ﺇﻻ ﺇﺫﺍ ﻗﺎﻡ ﺃﺤﺩ ﺍﻟﻁﺭﻓﻴﻥ ﺒﻘﻁﻊ ﺍﻹﺘﺼﺎل ﻋﻥ ﺍﻟﻁﺭﻑ ﺍﻵﺨﺭ‬
                                          ‫ﺒﺨﻼﻑ ﺍﻟﻨﻭﻉ ﺍﻟﺜﺎﻨﻲ ﻤﻥ ﺍﻹﺘﺼﺎﻻﺕ.‬
                                  ‫٢. ﺇﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ )‪:(data connection‬‬
‫ﻭﻫﺫﺍ ﺍﻹﺘﺼﺎل ﻴﻨﺸﺄ ﻋﻨﺩﻤﺎ ﻴﺘﻡ ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻤﻥ ﺍﻟﻌﻤﻴل ﺇﻟﻰ ﺍﻟﺨﺎﺩﻡ ﺃﻭ ﺍﻟﻌﻜﺱ. ﺃﻱ ﺃﻥ‬
‫ﻫﺫﺍ ﺍﻹﺘﺼﺎل ﻴﻌﺘﺒﺭ ﻤﺅﻗﺘﺎ ﻓﻘﻁ ﺇﻟﻰ ﺃﻥ ﻴﺘﻡ ﺇﻨﻬﺎﺀ ﺍﻟﻤﻬﻤﺔ ﺍﻟﺫﻱ ﻴﻘﻭﻡ ﺒﻬﺎ ﻭﻫﻲ ﻋﻤﻠﻴﺔ‬
                                                     ‫ﹰ‬
‫ﺍﻟﻨﻘل ﻟﻠﻤﻠﻔﺎﺕ. ﻭﺴﻭﻑ ﻨﺘﺤﺩﺙ ﻋﻥ ﻫﺫﻴﻥ ﺍﻟﻨﻭﻋﻴﻥ ﻤﻥ ﺍﻹﺘﺼﺎﻻﺕ ﻓﻲ ﺍﻟﻔﻘﺭﺍﺕ‬
                                                        ‫ﺍﻟﻘﺎﺩﻤﺔ ﻤﻥ ﻫﺫﺍ ﺍﻟﻤﻠﻑ.‬

                                       ‫• ﺃﻭﺍﻤﺭ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ )‪:(ftp‬‬
‫ﻓﻲ ﺤﻴﻘﻴﻘﺔ ﺍﻷﻤﺭ ﺃﻥ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﻲ ﻴﻘﻭﻡ ﺍﻟﻤﺴﺘﺨﺩﻡ ﺒﻜﺘﺎﺒﺘﻬﺎ ﻋﻨﺩ ﺍﻟﻘﻴﺎﻡ ﺒﻌﻤﻠﻴﺎﺕ ﻨﻘل‬
‫ﺍﻟﻤﻠﻔﺎﺕ ﺒﻴﻥ ﺍﻟﺨﺎﺩﻡ ﻭﺍﻟﻌﻤﻴل ﺘﺨﺘﻠﻑ ﻋﻥ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﻲ ﻴﺘﻡ ﺇﺭﺴﺎﻟﻬﺎ ﻤﻥ ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل‬
‫ﺇﻟﻰ ﺠﻬﺎﺯ ﺍﻟﺴﻴﺭﻓﺭ ﻤﺜﻼ ﺍﻷﻤﺭ )‪ (cd‬ﻴﺴﺘﺨﺩﻡ ﻟﻠﺘﻨﻘل ﺒﻴﻥ ﺍﻷﺩﻟﺔ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻓﻌﻨﺩﻤﺎ‬
                                                         ‫ﹰ‬
‫ﺘﻜﺘﺒﻪ ﻓﻲ ﻤﻭﺠﻪ ﺍل )‪ (ftp‬ﻓﺈﻨﻪ ﻴﺘﺤﻭل ﺇﻟﻰ ﺍﻷﻤﺭ )‪ (CWD‬ﺃﻱ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﺴﻭﻑ‬
‫ﻴﺭﺴل ﻤﻥ ﺠﻬﺎﺯﻙ )ﺍﻟﻌﻤﻴل(ﺇﻟﻰ ﺍﻟﺠﻬﺎﺯ ﺍﻵﺨﺭ )ﺍﻟﺨﺎﺩﻡ( ﻫﻭ ﺍﻷﻤﺭ )‪. (CWD‬ﻭﺴﻭﻑ‬
   ‫ﻨﻭﻀﺢ ﻫﻨﺎ ﺒﻌﺽ ﺃﻫﻡ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﻲ ﺘﺴﺘﺨﺩﻡ ﺒﻜﺜﺭﺓ ﻋﻨﺩ ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ ﺍﻟﺒﺭﻭﺘﻭﻜﻭل.‬
                                                                ‫• ﺍﻷﻤﺭ )‪:(lcd‬‬
‫ﻭﻫﺫﺍ ﺍﻷﻤﺭ ﻴﺴﺘﺨﺩﻡ ﻟﻠﺘﻨﻘل ﺒﻴﻥ ﺍﻷﺩﻟﺔ ﻋﻠﻰ ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل )‪ (client‬ﺃﻱ ﺠﻬﺎﺯﻙ ﺍﻟﺫﻱ‬
                                                 ‫ﺘﻌﻤل ﻋﻠﻴﻪ.ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ.‬
‫1‪ftp> lcd dir‬‬
‫.1‪Local directory now C:dir‬‬
‫ﻻﺤﻅ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﺴﺎﺒﻕ ﻗﺩ ﺘﻡ ﺍﻹﻨﺘﻘﺎل ﺇﻟﻰ ﺍﻟﻤﺠﻠﺩ )1‪ (dir‬ﻋﻠﻰ ﺠﻬﺎﺯﻙ ﻭﻻﺤﻅ ﻫﻨﺎ‬
‫ﺃﻨﻪ ﻟﻥ ﻴﺘﻡ ﺇﺭﺴﺎل ﺍﻷﻤﺭ ﻟﻠﺴﻴﺭﻓﺭ ﻷﻥ ﺫﻟﻙ ﻤﺘﻌﻠﻕ ﺒﺠﻬﺎﺯﻙ ﺃﻨﺕ . ﻭﻟﻴﺱ ﺒﺎﻟﺴﻴﺭﻓﺭ.‬
‫ﻭﻴﺴﺘﺨﺩﻡ ﺍﻷﻤﺭ ).. ‪ (lcd‬ﻟﻺﻨﺘﻘﺎل ﺇﻟﻰ ﺍﻟﺩﻟﻴل ﺍﻟﺫﻱ ﻴﻌﻠﻭ ﺍﻟﺩﻟﻴل ﺍﻟﺫﻱ ﺘﻌﻤل ﻋﻠﻴﻪ ﺃﻨﺕ‬
                                                                        ‫ﺤ ﺎﻟ ﻴ ﺎ.‬
                                                                         ‫ﹰ‬
‫ﻤﻼﺤﻅﺔ: ﻓﻲ ﺠﻤﻴﻊ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﺎﻟﻴﺔ ﺴﻭﻑ ﻴﺘﻡ ﻤﻨﺎﻗﺸﺘﻬﺎ ﺒﻌﺩ ﻗﻠﻴل ﺴﻭﻑ ﺘﺭﺴل‬
‫ﻟﻠﺴﻴﺭﻓﺭ ﻭﺫﻟﻙ ﻟﺘﻌﻠﻘﻬﺎ ﺒﻪ ﻟﺫﻟﻙ ﺴﻭﻑ ﻴﻜﻭﻥ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﺘﻜﺘﺒﻪ ﺃﻨﺕ ﻫﻭ ﺍﻟﺫﻱ ﻴﻠﻲ‬
‫ﺍﻟﻤﻭﺠﻪ )>‪ (ftp‬ﺃﻤﺎ ﺍﻟﺫﻱ ﻴﻠﻲ ﺍﻟﻌﻼﻤﺔ )>---( ﻓﻬﻭ ﺍﻷﻤﺭ ﺍﻟﻔﻌﻠﻲ ﺍﻟﺫﻱ ﻴﺭﺴل ﻤﻥ‬
                                                              ‫ﺠﻬﺎﺯﻙ ﻟﻠﺴﻴﺭﻓﺭ.‬
                                                               ‫• ﺍﻷﻤﺭ )‪:(cd‬‬
‫ﻭﻫﺫﺍ ﺍﻷﻤﺭ ﻴﺴﺘﺨﺩﻡ ﻟﻠﺘﻨﻘل ﺒﻴﻥ ﺃﺩﻟﺔ ﺍﻟﻤﺴﺘﺨﺩﻡ ﻋﻠﻰ ﺍﻟﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ)‪ (server‬ﻭﻫﺫﺍ‬
‫ﺍﻷﻤﺭ ﻫﻭ ﺍﻷﻤﺭ ﻫﻭ ﺍﻟﺫﻱ ﻨﻜﺘﺒﻪ ﻋﻨﺩ ﺇﺴﺘﺨﺩﺍﻤﻨﺎ ﻟﻬﺫﺍ ﺍﻷﻤﺭ ﻭﻟﻜﻥ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﻴﺭﺴل‬
‫ﻤﻥ ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل )‪ (client‬ﻫﻭ ﺍﻷﻤﺭ )‪.(CWD‬ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ ﺃﻨﻪ ﻋﻨﺩﻤﺎ‬
         ‫ﺇﺴﺘﺨﺩﻤﻨﺎ ﺍﻷﻤﺭ )‪ (cd‬ﻓﺈﻥ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﺃﺭﺴل ﻟﻠﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ ﻫﻭ )‪.(CWD‬‬
‫‪ftp> cd downloads‬‬
‫‪---> CWD downloads‬‬
‫ﻻﺤﻅ ﺃﻥ ﺍﻟﺴﻁﺭ ﺍﻷﻭل ﻫﻭ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﻨﻜﺘﺒﻪ ﻨﺤﻥ، ﺃﻤﺎ ﺍﻟﺴﻁﺭ ﺍﻟﺜﺎﻨﻲ ﻓﻬﻭ ﺍﻷﻤﺭ‬
‫ﺍﻟﺤﻘﻴﻘﻲ ﺍﻟﺫﻱ ﺃﺭﺴل ﻟﻠﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ )‪ (server‬ﻭﻻﺤﻅ ﻫﻨﺎ ﺃﻨﻪ )‪ (CWD‬ﻜﻤﺎ ﺫﻜﺭﻨﺎ‬
‫. ﻭﺴﻨﺘﻌﺭﻑ ﻓﻲ ﻓﻘﺭﺓ ﺍﻷﻤﺜﻠﺔ ﻜﻴﻑ ﻨﺘﻌﺭﻑ ﻋﻠﻰ ﺍﻷﻭﺍﻤﺭ ﺍﻟﻤﺭﺴﻠﺔ ﻤﻥ ﺃﺠﻬﺯﺘﻨﺎ ﺇﻟﻰ‬
                                                            ‫ﺃﺠﻬﺯﺓ ﺍﻟﺴﻴﺭﻓﺭ.‬
                                                         ‫• ﺍﻷﻤﺭ ).. ‪:(cd‬‬
‫ﻭﻫﻭ ﻴﺴﺘﺨﺩﻡ ﻟﻺﻨﺘﻘﺎل ﺇﻟﻰ ﺍﻟﺩﻟﻴل ﺍﻟﺫﻱ ﻴﻌﻠﻭ ﺍﻟﺩﻟﻴل ﺍﻟﺤﺎﻟﻲ. ﻭﺃﻋﺘﻘﺩ ﺃﻥ ﻫﺫﺍ ﺍﻷﻤﺭ‬
               ‫ﻤﻌﺭﻭﻑ ﻟﺩﻯ ﻤﺴﺘﺨﺩﻤﻲ ﺍﻟﺩﻭﺱ ﺃﻭ ﺍﻟﻠﻴﻨﻭﻜﺱ. ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬
‫.. ‪ftp> cd‬‬
‫.. ‪---> CWD‬‬
                                                              ‫• ﺍﻷﻤﺭ )‪:(pwd‬‬
‫ﻭﻴﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻟﻠﻌﺭﺽ ﺍﻟﻤﺴﺎﺭ ﺍﻟﻤﺘﻭﺍﺠﺩ ﻋﻠﻴﻪ ﺤﺎﻟﻴﺎ ﻤﺜل:‬
                        ‫ﹰ‬
‫‪ftp> pwd‬‬
‫‪---> XPWD‬‬
                                                   ‫• ﺍﻷﻤﺭ )‪:(ASCII‬‬
‫ﻭﻫﺫﺍ ﺍﻷﻤﺭ ﻟﺘﺤﺩﻴﺩ ﻨﻭﻉ ﺍﻟﻤﻠﻑ ﺍﻟﻤﺭﺴل ﻭﻴﺴﺘﺨﺩﻡ ﻋﺎﺩﺓ ﺍﻟﻨﻭﻉ )‪ (ASCII‬ﺇﺫﺍ ﻜﺎﻥ‬
‫ﺍﻟﻤﻠﻑ ﺍﻟﺫﻱ ﺘﺭﻴﺩ ﻨﻘﻠﻪ ﻫﻭ ﻤﻠﻑ ﻨﺼﻲ .ﻓﻼﺒﺩ ﺃﻥ ﻴﻜﻭﻥ ﻨﻭﻉ ﺍﻟﻨﻘل ﻫﻭ )‪ASCII‬‬
                                                  ‫(.ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬
‫‪ftp> ascii‬‬
‫‪---> TYPE A‬‬
         ‫ﻻﺤﻅ ﺃﻥ ﺍﻷﻤﺭ ﺍﻟﻤﺭﺴل ﻤﻥ ﺃﺠﻬﺯﺘﻨﺎ ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻫﻭ ﺍﻷﻤﺭ )‪.(TYPE A‬‬
                                                    ‫• ﺍﻷﻤﺭ )‪:(binary‬‬
‫ﻭﻫﺫﺍ ﺍﻷﻤﺭ ﺃﻴﻀﺎ ﻴﺴﺘﺨﺩﻡ ﻟﺘﺤﺩﻴﺩ ﻨﻭﻉ ﺍﻟﻤﻠﻑ ﺍﻟﻤﺭﺴل ﻭﻴﺴﺘﺨﺩﻡ ﻋﺎﺩﺓ ﺍﻟﻨﻭﻉ )‬
         ‫ﹰ‬                                             ‫ﹰ‬
‫‪ (binary‬ﻤﻊ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﻤﻀﻐﻭﻁﺔ ﻭﺍﻟﺒﺭﺍﻤﺞ ﺍﻟﺘﻁﺒﻴﻘﻴﺔ ﻭﺍﻟﺼﻭﺭ.ﻭﻋﻨﺩ ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ‬
                   ‫ﺍﻷﻤﺭ ﻴﺭﺴل ﻟﻠﺴﻴﺭﻓﺭ ﺍﻷﻤﺭ )‪ (TYPE I‬ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬
‫‪ftp> binary‬‬
‫‪---> TYPE I‬‬
                                                           ‫• ﺍﻷﻤﺭ )‪:(dir‬‬
‫ﻭﻴﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻋﺎﺩﺓ ﻟﺴﺭﺩ ﻤﺤﺘﻭﻴﺎﺕ ﺩﻟﻴل ﻤﺎ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻭﻓﻲ ﺤﻘﻴﻘﺔ ﺍﻷﻤﺭ‬
                                                  ‫ﹰ‬
‫ﺃﻨﻪ ﻋﻨﺩﻤﺎ ﻨﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻓﺈﻨﻪ ﻴﺭﺴل ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﺃﻤﺭﻴﻥ ﻭﻟﻴﺱ ﺃﻤﺭ ﻭﺍﺤﺩ ﻜﻤﺎ‬
                                             ‫ﻜﺘﺒﻨﺎ ﻨﺤﻥ ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬
‫‪ftp> dir‬‬
‫62,4,1,0,0,721 ‪---> PORT‬‬
‫‪200 PORT command okay‬‬
‫‪---> LIST‬‬
‫.‪150 File Listing Follows in ASCII mode‬‬
‫13 ‪total‬‬
‫‪drwxrwxrwx 1 noone nogroup‬‬              ‫‪0 Jul 31 16:26 bin‬‬
‫‪-rwxrwxrwx 1 noone nogroup‬‬           ‫‪5243 Mar 24 2001 dmlogo.gif‬‬
‫‪drwxrwxrwx 1 noone nogroup‬‬              ‫‪0 Jul 31 16:25 html‬‬
‫‪drwxrwxrwx 1 noone nogroup‬‬              ‫‪0 Jul 31 16:25 include‬‬
‫‪drwxrwxrwx 1 noone nogroup‬‬              ‫‪0 Jul 31 16:26 lib‬‬
‫‪-rwxrwxrwx 1 noone nogroup‬‬           ‫‪2483 Feb 6 02:01 license.txt‬‬
‫‪-rwxrwxrwx 1 noone nogroup‬‬           ‫‪2279 Mar 17 16:46 readme.html‬‬
‫‪-rwxrwxrwx 1 noone nogroup‬‬           ‫‪1544 Jan 29 2002 readme.txt‬‬
‫‪drwxrwxrwx 1 noone nogroup‬‬              ‫‪0 Jul 31 16:26 stl‬‬
‫‪-rwxrwxrwx 1 noone nogroup‬‬            ‫928‪40 Aug 30 2001 v‬‬
‫ﻻﺤﻅ ﺃﻨﻪ ﻋﻨﺩﻤﺎ ﺇﺴﺘﺨﺩﻤﻨﺎ ﺍﻷﻤﺭ )‪ (dir‬ﺘﻡ ﺇﺭﺴﺎل ﺍﻷﻤﺭ )‪ (port‬ﻟﻠﺴﻴﺭﻓﺭ ﻭﺫﻟﻙ‬
‫ﺤﺘﻰ ﻴﺘﻡ ﻓﺘﺢ ﺇﺘﺼﺎل ﻟﻨﻘل ﺍﻟﺒﻴﺎﻨﺎﺕ ﺤﻴﺙ ﺃﻥ ﺍﻟﺴﺭﺩ ﻴﻌﺭﺽ ﺩﺍﺌﻤﺎ ﻋﻠﻰ ﺇﺘﺼﺎل ﻨﻘل‬
                ‫ﹰ‬
‫ﺍﻟﺒﻴﺎﻨﺎﺕ. ﺜﻡ ﺒﻌﺩ ﺘﺤﺩﻴﺩ ﺍﻟﻤﻨﻔﺫ ﺍﻟﺨﺎﺹ ﺒﺈﺘﺼﺎل ﻨﻘل ﺍﻟﺒﻴﺎﻨﺎﺕ ﻴﺘﻡ ﺇﺭﺴﺎل ﺍﻷﻤﺭ )‪list‬‬
‫( ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻭﺫﻟﻙ ﻟﻜﻲ ﻴﻌﺭﺽ ﻤﺤﺘﻭﻴﺎﺕ ﺍﻟﺩﻟﻴل.ﻭﻴﻭﺠﺩ ﺃﻴﻀﺎ ﻫﻨﺎﻙ ﺃﻤﺭ ﻴﻘﻭﻡ‬
              ‫ﹰ‬
‫ﺒﻨﻔﺱ ﻤﻬﻤﺔ ﺍﻷﻤﺭ )‪ (dir‬ﻭﻫﻭ ﺍﻷﻤﺭ )‪ (ls‬ﻭﻟﻙ ﺤﺭﻴﺔ ﺍﻹﺨﺘﻴﺎﺭ ﻓﻲ ﻓﻲ ﺇﺴﺘﻌﻤﺎل ﺃﻱ‬
‫ﻤﻨﻬﻤﺎ . ﻭﺃﻋﺘﻘﺩ ﺃﻨﻙ ﺇﺫﺍ ﻜﻨﺕ ﻤﻥ ﻤﺴﺘﺨﺩﻤﻴﻥ ﻨﻅﺎﻡ ﺍﻟﺘﺸﻐﻴل ﺩﻭﺱ ﻓﺈﻨﻙ ﺴﻭﻑ‬
‫ﺘﺴﺘﺨﺩﻡ ﺍﻷﻤﺭ )‪ (dir‬ﺃﻤﺎ ﺇﺫﺍ ﻜﻨﺕ ﻤﻥ ﻤﺴﺘﺨﺩﻤﻲ ﺃﻨﻅﻤﺔ ﺍﻟﻴﻭﻨﻜﺱ ﻓﺈﻨﻪ ﻤﻥ ﺍﻟﻤﺅﻜﺩ‬
                                            ‫ﺃﻨﻙ ﺴﻭﻑ ﺘﺨﺘﺎﺭ ﺍﻷﻤﺭ )‪.(ls‬‬
                                                    ‫• ﺍﻷﻤﺭ )‪:(mkdir‬‬
‫ﻭﻴﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻹﻨﺸﺎﺀ ﻤﺠﻠﺩ ﺠﺩﻴﺩ ﻋﻠﻰ ﺍﻟﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ )‪ .(server‬ﻭﻋﻨﺩ‬
‫ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻓﺈﻥ ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل ﺴﻭﻑ ﻴﺭﺴل ﺍﻷﻤﺭ )‪ .(XMKD‬ﻻﺤﻅ ﺍﻟﻤﺜﺎل‬
                                                                ‫ﺍﻟ ﺘ ﺎ ﻟ ﻲ:‬
‫1‪ftp> mkdir dir‬‬
‫1‪---> XMKD dir‬‬
                                         ‫ﺤﻴﺙ ﻫﻨﺎ ﺃﻥ ﺇﺴﻡ ﺍﻟﻤﺠﻠﺩ ﻫﻭ )1‪.(dir‬‬
                                                       ‫• ﺍﻷﻤﺭ )‪:(rmdir‬‬
‫ﻭﻴﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻟﺤﺫﻑ ﻤﻠﻑ ﻤﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ . ﻭﻋﻨﺩ ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻓﺈﻥ‬
                     ‫ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل ﺴﻴﺭﺴل ﺍﻷﻤﺭ )‪.(XRMD‬ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬
‫1‪ftp> rmdir dir‬‬
‫1‪---> XRMD dir‬‬
                                  ‫ﺤﻴﺙ ﺃﻥ ﺇﺴﻡ ﺍﻟﻤﺠﻠﺩ ﺍﻟﻤﺭﺍﺩ ﺤﺫﻓﻪ ﻫﻭ )1‪.(dir‬‬
                                                      ‫• ﺍﻷﻤﺭ )‪:(rename‬‬
‫ﻭﻴﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻹﻋﺎﺩﺓ ﺘﺴﻤﻴﺔ ﺍﻷﺩﻟﺔ ﻭﺍﻟﻤﻠﻔﺎﺕ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ .ﻭﻋﻨﺩ ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ‬
                       ‫ﺍﻷﻤﺭ ﻓﺈﻨﻪ ﻴﺭﺴل ﺃﻤﺭﻴﻥ ﻤﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬
‫1‪ftp> rename dir dir‬‬
‫‪---> RNFR dir‬‬
‫...‪350 Enter the name to rename it to‬‬
‫1‪---> RNTO dir‬‬
‫ﻻﺤﻅ ﺃﻥ )‪ (dir‬ﻫﻭ ﺍﺴﻡ ﺍﻟﺩﻟﻴل ﺍﻟﺤﺎﻟﻲ ﺃﻤﺎ )1‪ (dir‬ﻓﻬﻭ ﺇﺴﻡ ﺍﻟﺩﻟﻴل ﺍﻟﺫﻱ ﺴﺘﻐﻴﺭ ﺍﺴﻡ‬
‫ﺍﻟﺩﻟﻴل ﺇﻟﻴﻪ.ﻭﻜﻤﺎ ﻗﻠﻨﺎ ﺴﺎﺒﻘﺎ ﺃﻥ ﻫﺫﺍ ﺍﻷﻤﺭ ﻴﺭﺴل ﺃﻤﺭﻴﻥ ﻭﻫﻤﺎ )‪ (RNFR‬ﻭﻫﻲ‬
                                                   ‫ﹰ‬
‫ﺇﺨﺘﺼﺎﺭ )‪ (rename from‬ﺃﻱ ﺃﻋﺩ ﺘﺴﻤﻴﺔ ﻫﺫﺍ ﺍﻟﺩﻟﻴل ﻤﻥ ﻫﺫﺍ ﺍﻻﺴﻡ ﺇﻟﻰ ﺍﻟﺫﻱ‬
                                                    ‫ﺴﻴﺭﺴﻠﻪ ﺍﻷﻤﺭ )‪. (RNTO‬‬
                                                            ‫• ﺍﻷﻤﺭ )‪:(get‬‬
‫ﻭﻫﺫﺍ ﺍﻷﻤﺭ ﻴﺴﺘﺨﺩﻡ ﻷﺨﺫ ﻤﻠﻑ ﻤﻌﻴﻥ ﻤﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ . ﻭﻋﻨﺩ ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ‬
‫ﺍﻷﻤﺭ ﺴﻭﻑ ﻴﺭﺴل ﺃﻤﺭﻴﻥ ﺍﻷﻭل ﻫﻭ ﺍﻷﻤﺭ )‪ (PORT‬ﻭﺫﻟﻙ ﻟﺘﺤﺩﻴﺩ ﺍﻟﺒﻭﺭﺕ‬
‫ﺍﻟﺫﻱ ﺴﻭﻑ ﻴﻔﺘﺢ ﻤﻥ ﺨﻼﻟﻪ ﺇﺘﺼﺎل ﻨﻘل ﺍﻟﺒﻴﺎﻨﺎﺕ. ﺃﻤﺎ ﺍﻷﻤﺭ ﺍﻵﺨﺭ ﻓﻬﻡ ﺍﻷﻤﺭ )‬
‫‪ (RETR‬ﻭﻫﻭ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﻴﺨﺒﺭ ﺍﻟﺴﻴﺭﻓﺭ ﺃﻥ ﻴﺠﻠﺏ ﺍﻟﻤﻠﻑ ﺍﻟﻤﻌﻴﻥ.ﻻﺤﻅ ﺍﻟﻤﺜﺎل‬
                                                                   ‫ﺍﻟ ﺘ ﺎ ﻟ ﻲ:‬
‫‪ftp> GET TEXT11.TXT‬‬
‫51,4,1,0,0,721 ‪---> PORT‬‬
‫‪200 PORT command okay‬‬
‫‪---> RETR TEXT11.TXT‬‬
‫ﻭﻴﻭﺠﺩ ﻫﻨﺎﻙ ﺃﻤﺭ ﺁﺨﺭ ﻴﻘﻭﻡ ﺒﻨﻔﺱ ﺍﻟﻤﻬﻤﺔ ﻭﻫﻭ ﺍﻷﻤﺭ )‪ .(recv‬ﺃﻤﺎ ﺇﺫﺍ ﻜﻨﺕ ﺘﺭﻴﺩ ﺃﻥ‬
‫ﺘﻨﻘل ﺃﻜﺜﺭ ﻤﻥ ﻤﻠﻑ ﻓﻲ ﻭﻗﺕ ﻭﺍﺤﺩ ﻓﺈﻨﻪ ﻴﻤﻜﻨﻙ ﺇﺴﺘﺨﺩﺍﻡ ﺍﻷﻤﺭ )‪ (mget‬ﺤﻴﺙ ﺃﻨﻪ‬
‫ﻋﻨﺩ ﻨﻘل ﻜل ﻤﻠﻑ ﺴﻭﻑ ﻴﺘﻡ ﻓﺘﺢ ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﺠﺩﻴﺩ، ﻭﺴﻭﻑ ﻨﻼﺤﻅ ﺃﻤﺜﻠﺔ ﻟﻬﺫﺍ‬
                                        ‫ﺍﻷﻤﺭ ﻓﻲ ﻓﻘﺭﺓ ﺍﻷﻤﺜﻠﺔ ﻋﻠﻰ ﺍﻟﺒﺭﻭﺘﻭﻜﻭل.‬
                                                             ‫• ﺍﻷﻤﺭ )‪:(put‬‬
‫ﻭﻴﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻟﻭﻀﻊ ﻤﻠﻑ ﻤﻌﻴﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ . ﺃﻱ ﺃﻨﻪ ﻴﺘﻡ ﺃﺨﺫ ﻨﺴﺨﺔ ﻤﻥ‬
‫ﺍﻟﻤﻠﻑ ﺍﻟﻤﻭﺠﻭﺩ ﻋﻠﻰ ﺠﻬﺎﺯﻙ ﻭﻭﻀﻌﻬﺎ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ. ﻭﻋﻨﺩ ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ ﺍﻷﻤﺭ‬
‫ﺴﻭﻑ ﻴﺭﺴل ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﺃﻤﺭﻴﻥ ﻭﻫﻤﺎ )‪ (PORT‬ﻭﺫﻟﻙ ﻟﻔﺘﺢ ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ، ﺃﻤﺎ‬
                         ‫ﺍﻷﻤﺭ ﺍﻵﺨﺭ ﻓﻬﻭ ﺍﻷﻤﺭ )‪ .(STOR‬ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬
‫‪ftp> put text11.txt‬‬
‫81,4,1,0,0,721 ‪---> PORT‬‬
‫‪200 PORT command okay‬‬
‫‪---> STOR text11.txt‬‬
‫ﻭﻫﻨﺎﻙ ﺃﻤﺭ ﺁﺨﺭ ﻴﻘﻭﻡ ﺒﻨﻔﺱ ﺍﻟﻤﻬﻤﺔ ﻭﻫﻭ ﺍﻷﻤﺭ )‪.(send‬ﺃﻤﺎ ﺇﺫﺍ ﻜﻨﺕ ﺘﺭﻴﺩ ﺃﻥ ﺘﻀﻊ‬
‫ﺃﻜﺜﺭ ﻤﻥ ﻤﻑ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻓﻲ ﻭﻗﺕ ﻭﺍﺤﺩ ﻓﺈﻨﻪ ﻴﻤﻜﻨﻙ ﻤﻥ ﺇﺴﺘﺨﺩﺍﻡ ﺍﻷﻤﺭ )‪mput‬‬
‫(ﺤﻴﺙ ﺃﻨﻪ ﻋﻨﺩ ﺘﺤﻤﻲ ﻜل ﻤﻠﻑ ﺴﻭﻑ ﻴﻔﺘﺢ ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﺠﺩﻴﺩ، ﻭﺴﻭﻑ ﻨﺭﻯ ﺃﻤﺜﻠﺔ‬
                                                ‫ﻫﺫﺍ ﺍﻷﻤﺭ ﻓﻲ ﻓﻘﺭﺓ ﺍﻷﻤﺜﻠﺔ.‬
                                                      ‫• ﺍﻷﻤﺭ )‪: (open‬‬
               ‫ﻭﻫﻭ ﻴﺴﺘﺨﺩﻡ ﻹﻨﺸﺎﺀ ﺇﺘﺼﺎل ﺠﺩﻴﺩ ﻭﻴﺴﺘﺨﺩﻡ ﻋﻠﻰ ﺍﻟﺼﻭﺭﺓ ﺍﻟﺘﺎﻟﻴﺔ:‬
‫‪ftp> open server_name‬‬
             ‫ﺤﻴﺙ ﺃﻥ )‪ (server_name‬ﻫﻭ ﺇﺴﻡ ﺍﻟﺴﻴﺭﻓﺭ ﺍﻟﺫﻱ ﺘﺭﻴﺩ ﺍﻹﺘﺼﺎل ﺒﻪ.‬
                                                        ‫• ﺍﻷﻤﺭ )‪:(close‬‬
                  ‫ﻭﻫﻭ ﻴﺴﺘﺨﺩﻡ ﻹﻨﻬﺎﺀ ﺇﺘﺼﺎﻟﻙ ﻤﻊ ﺍﻟﺴﻴﺭﻓﺭ ﻭﻴﺴﺘﺨﺩﻡ ﻋﻠﻰ ﺍﻟﺼﻭﺭﺓ:‬
‫‪ftp> close‬‬
                 ‫ﻭﻴﻭﺠﺩ ﺃﻴﻀﺎ ﺍﻷﻤﺭ )‪ (disconnect‬ﺍﻟﺫﻱ ﻴﻘﻭﻡ ﺒﻨﻔﺱ ﺍﻟﻤﻬﻤﺔ.‬
                                                           ‫ﹰ‬
                                                      ‫• ﺍﻷﻤﺭ )‪:(bye‬‬
‫ﻭﻴﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻹﻨﻬﺎﺀ ﺇﺘﺼﺎﻟﻙ ﻤﻊ ﺍﻟﺴﻴﺭﻓﺭ ﻭﺇﺭﺠﺎﻋﻙ ﻟﻤﻭﺠﺔ ﺍﻟﺩﻭﺱ ﻭﻟﻴﺱ ﺇﻟﻰ‬
‫ﻤﻭﺠﺔ )‪ .(ftp‬ﻭﻫﺫﺍ ﺍﻟﻔﺭﻕ ﺒﻴﻨﻪ ﻭﺒﻴﻥ ﺍﻷﻤﺭ )‪.(close‬ﻭﻴﺴﺘﺨﺩﻡ ﻋﻠﻰ ﺍﻟﺼﻭﺭﺓ‬
                                                                ‫ﺍﻟ ﺘ ﺎ ﻟ ﻴﺔ:‬
‫‪ftp> bye‬‬
‫‪---> QUIT‬‬
‫ﻭﻴﻭﺠﺩ ﻫﻨﺎﻙ ﺃﻴﻀﺎ ﺒﻌﺽ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﻲ ﻟﻡ ﻴﺘﻡ ﻤﻨﺎﻗﺸﺘﻬﺎ ﻫﻨﺎ ﻭﻴﻤﻜﻨﻙ ﻤﻌﺭﻓﺔ ﻫﺫﻩ‬
                                                     ‫ﹰ‬
‫ﺍﻷﻭﺍﻤﺭ ﻤﻥ ﺨﻼل ﺇﺴﺘﺨﺩﺍﻡ ﺍﻷﻤﺭ )‪ (help‬ﻋﻨﺩ ﻤﻭﺠﺔ ﺍل)‪ .(ftp‬ﻋﻠﻰ ﺍﻟﺼﻭﺭﺓ‬
                                                               ‫ﺍﻟ ﺘ ﺎ ﻟ ﻴﺔ:‬
‫‪ftp> help‬‬
‫:‪Commands may be abbreviated. Commands are‬‬
‫!‬          ‫‪delete‬‬      ‫‪literal‬‬    ‫‪prompt‬‬        ‫‪send‬‬
‫?‬          ‫‪debug‬‬         ‫‪ls‬‬        ‫‪put‬‬         ‫‪status‬‬
‫‪append‬‬         ‫‪dir‬‬        ‫‪mdelete‬‬       ‫‪pwd‬‬         ‫‪trace‬‬
‫‪ascii‬‬       ‫‪disconnect‬‬     ‫‪mdir‬‬        ‫‪quit‬‬       ‫‪type‬‬
‫‪bell‬‬       ‫‪get‬‬         ‫‪mget‬‬         ‫‪quote‬‬        ‫‪user‬‬
‫‪binary‬‬        ‫‪glob‬‬        ‫‪mkdir‬‬       ‫‪recv‬‬        ‫‪verbose‬‬
‫‪bye‬‬          ‫‪hash‬‬         ‫‪mls‬‬        ‫‪remotehelp‬‬
‫‪cd‬‬          ‫‪help‬‬        ‫‪mput‬‬        ‫‪rename‬‬
‫‪close‬‬        ‫‪lcd‬‬        ‫‪open‬‬        ‫‪rmdir‬‬
                                           ‫ﻭﻟﺭﺅﻴﺔ ﻭﻅﻴﻔﺔ ﻜل ﺃﻤﺭ ﺇﺴﺘﺨﺩﻡ ﺍﻷﻤﺭ :‬
‫‪ftp>? Command‬‬
                     ‫ﺤﻴﺙ ﺃﻥ )‪ (command‬ﻫﻭ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﺘﺭﻴﺩ ﺍﻹﺴﺘﻌﻼﻡ ﻋﻨﻪ.‬

‫• ﻓﻬﻡ ﺍﻷﻜﻭﺍﺩ ﺍﻟﺭﻗﻤﻴﺔ ﺍﻟﺘﻲ ﻴﺼﺩﺭﻫﺎ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﺃﺜﻨﺎﺀ ﻋﻤﻠﻴﺔ ﺇﺭﺴﺎل‬
                                                              ‫ﻭﺇﺴﺘﻘﺒﺎل ﺍﻷﻭﺍﻤﺭ.‬
‫ﻋﻨﺩﻤﺎ ﻴﺭﺴل ﺍﻟﻤﺴﺘﺨﺩﻡ ﺃﻤﺭﺍ ﻤﺎ ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻓﺈﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻻﺒﺩ ﺃﻥ ﻴﺭﺩ ﻋﻠﻰ‬
                                                     ‫ﹰ‬
‫ﺍﻟﻤﺴﺘﺨﺩﻡ ﺒﻤﺎ ﻗﺩ ﻓﻌل ﺍﻟﺴﻴﺭﻓﺭ ﻭﻴﺘﻜﻭﻥ ﻫﺫﺍ ﺍﻟﺭﺩ ﻋﺎﺩﺓ ﻤﻥ ﻜﻭﺩ ﺭﻗﻤﻲ ﻤﻜﻭﻥ ﻤﻥ‬
                          ‫ﹰ‬
‫ﺜﻼﺜﺔ ﺨﺎﻨﺎﺕ ﺤﻴﺙ ﺃﻥ ﺍﻟﺨﺎﻨﺔ ﺍﻷﻭﻟﻰ ﻴﻜﻭﻥ ﺃﺼﻐﺭ ﺭﻗﻡ ﻤﺤﺘﻤل ﻓﻲ ﻫﺫﻩ ﺍﻟﺨﺎﻨﺔ ﻫﻭ )‬
‫1( ﺃﻤﺎ ﺃﻜﺒﺭ ﻋﺩﺩ ﻓﻬﻭ )5(. ﺃﻤﺎ ﺍﻟﺨﺎﻨﺔ ﺍﻟﺜﺎﻨﻴﺔ ﻭﺍﻟﺜﺎﻟﺜﺔ ﻓﺄﻗل ﻋﺩﺩ ﻫﻭ )0( ﻭﺃﻜﺒﺭ ﻋﺩﺩ‬
‫ﻫﻭ )5(.ﻭﻜل ﺨﺎﻨﺔ ﻓﻲ ﻫﺫﺍ ﺍﻟﻜﻭﺩ ﺍﻟﺭﻗﻤﻲ ﻟﻬﺎ ﻤﻌﻨﻰ ﻭﺍﻟﺠﺩﻭل ﺍﻟﺘﺎﻟﻲ ﻴﺒﻴﻥ ﻤﻌﺎﻨﻲ ﻫﺫﻩ‬
                                                                        ‫ﺍﻟﺸﻔﺭﺍﺕ:‬
                     ‫ﻤﺜﺎل‬                                       ‫ﺸﺭﺤﻬﺎ‬        ‫ﺍﻟﻜﻭﺩ‬
‫521‬               ‫--1 ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﺒﺩﺍﻴﺔ ﻓﺈﻨﻪ ﻴﺭﻤﺯ ‪data‬‬
                            ‫ﺇﻟﻰ ﺃﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻴﻘﻭﻡ ﺒﻌﻤل ﻤﺎ ﻭﻟﻜﻥ‬
‫‪connection‬‬
                ‫ﻻﺘﺴﺘﻁﻴﻊ ﺃﻨﺕ ﺃﻥ ﺘﺩﺨل ﺃﻤﺭ ﺁﺨﺭ ﺤﺘﻰ ;‪open‬‬
‫‪already‬‬
                                                ‫ﻴﻨﺘﻬﻲ ﻤﻥ ﻫﺫﺍ ﺍﻷﻤﺭ .‬
‫.‪transfer string‬‬
‫--2 ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﺒﺩﺍﻴﺔ ﻓﺈﻨﻪ ﻴﺭﻤﺯ .‪200 command ok‬‬
                            ‫ﺇﻟﻰ ﺃﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻗﺎﻡ ﺒﻌﻤل ﻤﺎ ﻭﺘﺴﺘﻁﻴﻊ ﺃﻥ‬
                                          ‫ﺘﺭﺴل ﺃﻤﺭﺍ ﺁﺨﺭ ﻟﻴﺘﻡ ﺘﻨﻔﻴﺫﻩ.‬
                                                            ‫ﹰ‬
‫--3 ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﺒﺩﺍﻴﺔ ﻓﺈﻨﻪ ﻴﺭﻤﺯ ‪331 Give me your‬‬
‫ﺃﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻗﺩ ﻗﺒل ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﺃﺩﺨﻠﺘﻪ ‪password, please‬‬
                            ‫ﻭﻟﻜﻨﻪ ﻴﺤﺘﺎﺝ ﺇﻟﻰ ﺃﻤﺭ ﺁﺨﺭ ﺤﺘﻰ ﻴﺘﻡ ﺇﻜﻤﺎ‬
                            ‫ﻋﻤﻠﻪ ﻭﻏﺎﻟﺒﺎ ﻤﺎ ﻴﺭﻯ ﻤﺜل ﻫﺫﺍ ﺍﻟﻜﻭﺩ ﻋﻨﺩﻤﺎ‬
                                                          ‫ﹰ‬
                            ‫ﻴﺩﺨل ﺍﻟﻤﺴﺘﺨﺩﻡ ﺍﺴﻡ ﺍﻟﻤﺴﺘﺨﺩﻡ ﺍﻟﺨﺎﺹ ﺒﻪ‬
                            ‫ﻓﺈﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻻﻴﺴﺘﻁﻴﻊ ﺃﻥ ﻴﻜﻤل ﺤﺘﻰ ﻴﺘﻡ‬
                                                    ‫ﺇﺭﺴﺎل ﻜﻠﻤﺔ ﺍﻟﺴﺭ.‬
‫--4 ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﺒﺩﺍﻴﺔ ﻓﺈﻨﻪ ﻴﺭﻤﺯ ‪425 can`t open‬‬
‫.‪data connection‬‬         ‫ﺇﻟﻰ ﺃﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻴﻘﺒل ﻫﺫﺍ ﺍﻷﻤﺭ ﻭﻟﻜﻨﻙ ﻻ‬
                         ‫ﺘﺴﺘﻁﻴﻊ ﺘﻨﻔﻴﺫﻩ ﺤﺎﻟﻴﺎ. ﻭﻟﻜﻥ ﻴﻤﻜﻨﻙ ﺘﻨﻔﻴﺫﻩ‬
                                              ‫ﹰ‬
                                                    ‫ﻓﻲ ﻭﻗﺕ ﻻﺤﻕ.‬
‫‪500 Unidentified‬‬         ‫--5 ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﺒﺩﺍﻴﺔ ﻓﺈﻨﻪ ﻴﺭﻤﺯ‬
                         ‫ﺇﻟﻰ ﺃﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻻﻴﻘﺒل ﺒﻬﺫﺍ ﺍﻷﻤﺭ ﻭﺘﺭﻯ‬
‫‪command hello‬‬
                         ‫ﻋﺎﺩﺓ ﻫﺫﺍ ﺍﻟﻨﻭﻉ ﻤﻥ ﺍﻟﺭﺴﺎﺌل ﻋﻨﺩﻤﺎ ﻴﻜﻭﻥ‬
                         ‫ﺍﻷﻤﺭ ﺍﻟﻤﺭﺴل ﻻ ﻴﻌﻤل ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﺃﻭ‬
                         ‫ﺃﻥ ﻫﺫﺍ ﺍﻷﻤﺭ ﻻ ﻴﻌﻤل ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ. ﻜﻤﺎ‬
                         ‫ﺴﺘﻼﺤﻅ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ ﻋﻨﺩﻤﺎ ﺃﺭﺴﻠﻨﺎ‬
                                  ‫ﺃﻤﺭﺍ ﻏﻴﺭ ﺼﺤﻴﺢ ﻭﻫﻭ )‪.(hello‬‬   ‫ﹰ‬
‫‪500 Unidentified‬‬         ‫-0- ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﻤﻨﺘﺼﻑ ﻓﺈﻨﻪ‬
                         ‫ﻴﺭﻤﺯ ﺇﻟﻰ ﺃﻨﻪ ﻫﻨﺎﻙ ﺨﻁﺄ ﻓﻲ ﺍﻷﻤﺭ‬
‫‪command hello‬‬
                                                          ‫ﺍﻟﻤﺭﺴل.‬
‫‪214-The following‬‬        ‫-1- ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﻤﻨﺘﺼﻑ ﻓﺈﻨﻪ‬
                         ‫ﻴﺭﻤﺯ ﺇﻟﻰ ﺃﻥ ﻫﺫﻩ ﺍﻟﺭﺴﺎﻟﺔ ﻫﻲ ﻋﺒﺎﺭﺓ ﻋﻥ‬
‫‪commands‬‬         ‫‪are‬‬
                                                  ‫ﺭﺴﺎﻟﺔ ﻟﻠﻤﺴﺎﻋﺩﺓ.‬
‫‪recognized‬‬        ‫*(‬
‫‪=>'s‬‬
‫.)‪unimplemented‬‬
‫521‬            ‫‪data‬‬      ‫-2- ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﻤﻨﺘﺼﻑ ﻓﺈﻨﻪ‬
                         ‫ﻴﺭﻤﺯ ﺇﻟﻰ ﺃﻥ ﻫﺫﺍ ﺍﻟﺭﺩ ﻤﺘﻌﻠﻕ ﺒﺎﻹﺘﺼﺎﻻﺕ‬
‫‪connection‬‬
                             ‫ﻤﺜﻼ ﺇﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ ﺃﻭ ﺇﺘﺼﺎل ﺍﻟﺘﺤﻜﻡ.‬
                                                             ‫ﹰ‬
‫‪already‬‬       ‫;‪open‬‬
‫.‪transfer string‬‬
‫‪331 Give me your‬‬         ‫-3- ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﻤﻨﺘﺼﻑ ﻓﺈﻨﻪ‬
                         ‫ﻴﺭﻤﺯ ﺇﻟﻰ ﺘﺼﺎﺭﻴﺢ ﺍﻟﺩﺨﻭل ﻟﻠﺴﻴﺭﻓﺭ ﺃﻭ‬
‫‪password, please‬‬
                         ‫ﻤﻠﻑ ﻤﺎ. ﺃﻱ ﺃﻥ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻤﺴﺅﺅل ﻋﻥ‬
                                                    ‫ﺍﻟﺘﺼﺎﺭﻴﺢ.‬
‫-4- ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﻤﻨﺘﺼﻑ ﻓﺈﻨﻪ ﻻ ﻴﻭﺠﺩ ﻤﺜﺎل ﻭﺫﻟﻙ ﻟﻘﻠﺔ‬
     ‫ﻴﺭﻤﺯ ﺇﻟﻰ ﺸﻲﺀ ﻏﻴﺭ ﻤﺤﺩﺩ ﻭﺍﻟﺼﺭﺍﺤﺔ ﻟﻡ ﻭﺠﻭﺩ ﻫﺫﺍ ﺍﻹﺤﺘﻤﺎل.‬
                                     ‫ﺘﻤﺭ ﻋﻠﻲ ﺃﺤﺩ ﻫﺫﻩ ﺍﻟﺤﺎﻻﺕ.‬
‫051‬                      ‫-5- ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﻤﻨﺘﺼﻑ ﻓﺈﻨﻪ‬
‫ﻴﺭﻤﺯ ﺇﻟﻰ ﺤﺎﻟﺔ ﻤﻠﻔﺎﺕ ﺍﻟﻨﻅﺎﻡ. ﻭﺘﺭﻯ ﻋﺎﺩﺓ ‪quot;C:/text11.txtquot; file‬‬
‫ﻫﺫﻩ ﺍﻟﻨﻭﻉ ﻤﻥ ﺍﻟﺭﺴﺎﺌل ﻓﻲ ﺤﺎﻟﺔ ﻨﻘل ‪ready to receive in‬‬
                                              ‫ﻭﺘﺨﺯﻴﻥ ﺍﻟﻤﻠﻔﺎﺕ.‬
‫‪ASCII mode‬‬
                ‫ﺃﻤﺎ ﺍﻟﺨﺎﻨﺔ ﺍﻟﺜﺎﻟﺜﺔ ﻤﻥ ﺍﻟﺭﺩ ﻓﻬﻲ ﺘﻌﻁﻲ ﺃﻜﺜﺭ ﺘﻭﻀﻴﺤﺎ ﻟﻤﻌﻨﻰ ﺍﻟﺭﺩ.‬
                             ‫ﹰ‬
‫• ﻜﻴﻑ ﻴﺘﻡ ﺍﻹﺘﺼﺎل ﺒﻴﻥ ﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ )‪ (server‬ﻭﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل )‪.(client‬‬
‫ﻋﻨﺩﻤﺎ ﻴﻬﻴﺊ ﺠﻬﺎﺯ ﻤﺎ ﻋﻠﻰ ﺃﻨﻪ ﻴﻌﻤل ﻜﺨﺎﺩﻡ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ )‪(ftp server‬‬
‫ﻓﺈﻨﻪ ﻴﺘﻡ ﻓﺘﺢ ﻤﻨﻔﺫ ﻓﻲ ﻫﺫﺍ ﺍﻟﺠﻬﺎﺯ )‪ (sever‬ﺤﺘﻰ ﻴﺘﺴﻨﻰ ﻟﻸﺠﻬﺯﺓ ﺍﻷﺨﺭﻯ ﺍﻹﺘﺼﺎل‬
‫ﺒﻪ ﻤﻥ ﺨﻼل ﻫﺫﺍ ﺍﻟﻤﻨﻔﺫ ﻭﻴﺴﺘﻤﻊ ﻋﺎﺩﺓ ﺴﻴﺭﻓﺭ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻋﻠﻰ ﺍﻟﻤﻨﻔﺫ )‬
‫12(. ﻭﻴﺘﻡ ﺍﻹﺘﺼﺎل ﺒﻴﻨﻪ ﻭﺒﻴﻥ ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل ﺒﻁﺭﻴﻘﺔ ﺃﻨﻪ ﻋﻨﺩﻤﺎ ﻴﺘﻡ ﺘﺸﻐﻴل ﺴﻴﺭﻓﺭ‬
‫ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻓﺈﻨﻪ ﻴﻔﺘﺢ ﺍﻟﺒﻭﺭﺕ )12( ﻭﻴﻨﺘﻅﺭ ﺃﻱ ﺇﺘﺼﺎل ﻗﺎﺩﻡ ﺇﻟﻴﻪ‬
‫ﻭﻋﻨﺩﻤﺎ ﻴﻘﻭﻡ ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل ﺒﻁﻠﺏ ﺍﻹﺘﺼﺎل ﺒﺎﻟﺴﻴﺭﻓﺭ ﻓﺈﻨﻪ ﻴﻘﻭﻡ ﺒﺈﺘﻤﺎﻡ ﻫﺫﺍ ﺍﻹﺘﺼﺎل‬
‫ﻤﺒﺩﺌﻴﺎ ﺤﻴﺙ ﺃﻨﻪ ﺴﻴﻁﻠﺏ ﻤﻨﻪ ﺍﺴﻡ ﺍﻟﻤﺴﺘﺨﺩﻡ ﻭﻜﻠﻤﺔ ﺍﻟﻤﺭﻭﺭ ﺍﻟﺫﻱ ﺘﺼﺭﺡ ﻟﻪ ﺒﺎﻟﺩﺨﻭل‬‫ﹰ‬
‫ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻓﺈﺫﺍ ﻜﺎﻨﺕ ﺼﺤﻴﺤﺔ ﺃﺘﻡ ﺍﻹﺘﺼﺎل ﻭﺘﺼﺒﺢ ﺤﺎﻟﺔ ﺍﻹﺘﺼﺎل ﻫﻲ )‬
‫‪ (established‬ﺃﻱ ﺘﻡ ﺍﻹﺘﺼﺎل ﻭﻫﻜﺫﺍ ﻴﺘﻡ ﻋﻤل ﺇﺘﺼﺎل ﺍﻟﺘﺤﻜﻡ ﻭﺍﻟﺫﻱ ﻜﻤﺎ ﻗﻠﻨﺎ ﺃﻨﻪ‬
‫ﻴﺴﺘﺨﺩﻡ ﻟﻜﻲ ﻴﻜﻭﻥ ﺤﻠﻘﺔ ﻭﺼل ﺒﻴﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻭﺍﻟﻤﺴﺘﺨﺩﻡ . ﻭﻴﺘﻡ ﺇﻨﺸﺎﺀ ﺃﻴﻀﺎ ﺇﺘﺼﺎل‬
         ‫ﹰ‬
‫ﺁﺨﺭ ﻋﻨﺩﻤﺎ ﻴﺘﻡ ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻤﻥ ﻭ ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻭﻴﻌﺭﻑ ﻫﺫﺍ ﺍﻹﺘﺼﺎل ﺒﻤﺎ ﻴﺴﻤﻰ‬
‫ﺒﺈﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ ﺃﻱ ﺃﻨﻪ ﺨﺎﺹ ﺒﻨﻘل ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻘﻁ ﻭﻫﺫﺍ ﺍﻹﺘﺼﺎل ﻴﻜﻭﻥ ﻤﺅﻗﺕ ﻓﻘﻁ‬
‫ﹰ‬
‫ﻟﻔﺘﺭﺓ ﺍﻹﺭﺴﺎل ﻭﻴﻨﺘﻬﻲ ﻤﻬﻤﺘﻪ ﺒﻌﺩ ﺫﻟﻙ ﺒﻌﻜﺱ ﺇﺘﺼﺎل ﺍﻟﺘﺤﻜﻡ ﺍﻟﺫﻱ ﻴﻜﻭﻥ ﻤﺴﺘﻤﺭﺍ‬
‫ﺃﺜﻨﺎﺀ ﺇﺘﺼﺎﻟﻙ ﺒﺎﻟﺴﻴﺭﻓﺭ. ﻭﻴﺘﻡ ﺇﻨﺸﺎﺀ ﻫﺫﺍ ﺍﻹﺘﺼﺎل ﺒﻁﺭﻴﻘﺔ ﺃﻨﻪ ﻋﻨﺩﻤﺎ ﻤﺜﻼ ﻴﺭﻴﺩ‬
       ‫ﹰ‬
‫ﺍﻟﻤﺴﺘﺨﺩﻡ ﺃﻥ ﻴﺄﺨﺫ ﻤﻠﻔﺎ ﻤﺎ ﻤﻥ ﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ ﻓﺈﻨﻪ ﻴﺭﺴل ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﺍﻷﻤﺭ )‪PORT‬‬
                                                      ‫ﹰ‬
‫( ﻭﺍﻟﺼﻴﻐﺔ ﺍﻟﻌﺎﻤﺔ ﻟﻬﺫﺍ ﺍﻷﻤﺭ ﻫﻭ )6‪ (PORT n1,n2,n3,n4,n5,n‬ﺤﻴﺙ ﺃﻥ )‬
‫4‪ (n1,n2,n3,n‬ﻫﻭ ﻋﻨﻭﺍﻥ ﺍﻹﻨﺘﺭﻨﺕ ﻟﻙ )ﺍﻻﻴﺒﻲ ﺍﻟﺨﺎﺹ ﺒﻙ( ﺃﻤﺎ )6‪ (n5,n‬ﻫﻭ‬
‫ﺍﻟﻁﺭﻴﻘﺔ ﺍﻟﺘﻲ ﺴﻭﻑ ﻴﺘﻡ ﻤﻥ ﺨﻼﻟﻬﺎ ﻤﻌﺭﻓﺔ ﺭﻗﻡ ﺍﻟﺒﻭﺭﺕ ﺍﻟﺫﻱ ﺴﻴﻔﺘﺤﻪ ﻫﺫﺍ ﺍﻹﺘﺼﺎل‬
                                                        ‫ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬
‫51,4,1,0,0,721 ‪---> PORT‬‬
‫ﻻﺤﻅ ﺃﻥ ﺍﻻﻴﺒﻲ ﺍﻟﺨﺎﺹ ﺒﻲ ﻫﻭ )1.0.0.721( ﻭﺫﻟﻙ ﻷﻨﻲ ﺃﻀﻊ ﺴﻴﺭﻓﺭ )‪(ftp‬‬
‫ﻋﻠﻰ ﺠﻬﺎﺯﻱ ﺍﻟﺨﺎﺹ. ﺃﻤﺎ )51,4( ﻓﻬﻲ ﺨﺎﺼﺔ ﺒﺭﻗﻡ ﺍﻟﺒﻭﺭﺕ ﺍﻟﺫﻱ ﺴﻭﻑ ﻴﻔﺘﺢ ﻓﻲ‬
                                  ‫ﺠﻬﺎﺯﻙ ﻭﻴﺘﻡ ﺤﺴﺎﺏ ﺫﻟﻙ ﻋﻠﻰ ﺍﻟﺼﻭﺭﺓ:‬
‫51+652*4‬
‫ﻻﺤﻅ ﺃﻥ ﻨﺎﺘﺞ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻟﺴﺎﺒﻘﺔ ﻫﻭ )9301( ﺇﺫﺍ ﺴﻭﻑ ﻴﺘﻡ ﻓﺘﺢ ﺍﻟﺒﻭﺭﺕ )9301( ﻓﻲ‬
                                 ‫ﹰ‬
‫ﺠﻬﺎﺯﻙ ﻭﺫﻟﻙ ﺇﺴﺘﻌﺩﺍﺩﺍ ﻟﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ.ﻭﻻﺤﻅ ﺃﻨﻪ ﺴﻭﻑ ﻴﺘﻡ ﻓﺘﺢ ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﺠﺩﻴﺩ‬
                                                    ‫ﹰ‬
‫ﻜﻠﻤﺎ ﺃﺭﺩﺕ ﺃﻥ ﺘﻨﻘل ﻤﻠﻑ ﺁﺨﺭ ﻏﻴﺭ ﺍﻹﺘﺼﺎل ﺍﻟﺴﺎﺒﻕ ﻭﺫﻟﻙ ﻷﻨﻪ ﻋﻨﺩﻤﺎ ﻴﺘﻡ ﺍﻹﻨﺘﻬﺎﺀ‬
‫ﻤﻥ ﻋﻤﻠﻴﺔ ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻓﺈﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻴﻨﻬﻲ ﻫﺫﺍ ﺍﻹﺘﺼﺎل ﻤﻥ ﺨﻼل ﺍﻟﺒﻭﺭﺕ ﺭﻗﻡ )02‬
                 ‫( ﻭﻋﺎﺩﺓ ﻴﻨﻬﻲ ﺍﻟﺴﻴﺭﻓﺭ ﺇﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ ﻤﻥ ﺨﻼل ﺍﻟﺒﻭﺭﺕ )02(.‬
                                                                 ‫ﹰ‬

                             ‫• ﺒﻌﺽ ﺍﻷﻤﺜﻠﺔ ﻋﻠﻰ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ )‪.(ftp‬‬
                                            ‫ﻤﺜﺎل ١:ﺇﺴﺘﻌﺭﺍﺽ ﻤﺤﺘﻭﻴﺎﺕ ﺩﻟﻴل ﻤﺎ.‬
‫ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻷﻭل ﺴﻭﻑ ﻨﺴﺘﻌﺭﺽ ﻓﻘﻁ ﻤﺤﺘﻭﻴﺎﺕ ﺍﻟﺩﻟﻴل ﺍﻟﺭﺌﻴﺴﻲ ﻟﻤﺴﺘﺨﺩﻡ‬
‫ﻭﻴﻤﻜﻨﻙ ﺘﻁﺒﻴﻕ ﻫﺫﺍ ﺍﻷﻤﺭ ﻋﻠﻰ ﺠﻤﻴﻊ ﺃﺩﻟﺔ ﺍﻟﺴﻴﺭﻓﺭ. ﻻﺤﻅ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ ﺃﻨﻨﺎ ﻗﻤﻨﺎ‬
‫ﺒﺈﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ ﺍﻟﺒﺭﻭﺘﻭﻜﻭل ﻤﻥ ﺨﻼل ﺒﻴﺌﺔ ﺍﻟﻭﻴﻨﺩﻭﺯ )ﺩﻭﺱ( ﻭﻴﻤﻜﻥ ﺘﻁﺒﻴﻕ ﻨﻔﺱ‬
‫ﺍﻟﻤﻬﺎﻡ ﻋﻠﻰ ﺒﻴﺌﺔ ﺃﻨﻅﻤﺔ ﺍل )‪ (*nix‬ﺃﻴﻀﺎ . ﻻﺤﻅ ﺃﻨﻨﺎ ﺒﻌﺩ ﺃﻥ ﻗﻤﻨﺎ ﺒﺘﺸﻐﻴل ﻏﻼﻑ‬
                                    ‫ﹰ‬
‫ﺍﻟﺩﻭﺱ ﻜﺘﺒﻨﺎ ﺍﻷﻤﺭ )161.59.411.26 ‪ (C:>ftp -d‬ﻭﻻﺤﻅ ﺃﻨﻨﺎ ﺃﻀﻔﻨﺎ ﺍﻟﺨﻴﺎﺭ‬
‫)‪ (d‬ﻟﻬﺫﺍ ﺍﻷﻤﺭ ﺤﺘﻰ ﻴﺘﺴﻨﻰ ﻟﻨﺎ ﺭﺅﻴﺔ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺤﻘﻴﻘﺔ ﺍﻟﺘﻲ ﺘﺭﺴل ﻟﺴﻴﺭﻓﺭ ﻭﻫﺫﻩ‬
‫ﺍﻷﻭﺍﻤﺭ ﺘﺘﻤﺜل ﻓﻲ ﻜل ﻤﺎﻴﻠﻲ ﺍﻟﻌﻼﻤﺔ )>---( . ﺒﻌﺩ ﺫﻟﻙ ﺇﻨﺘﻅﺭﻨﺎ ﺃﻥ ﻴﺘﻡ ﺍﻹﺘﺼﺎل‬
                                           ‫ﺒﻴﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻭﺍﻟﻌﻤﻴل )ﺠﻬﺎﺯﻙ(.‬
‫161.59.411.26 ‪C:>ftp -d‬‬
‫.161.59.411.26 ‪Connected to‬‬
‫...‪220 Serv-U FTP Server v4.0 for WinSock ready‬‬
‫‪User (62.114.95.161:(none)): tt‬‬
‫‪---> USER tt‬‬
‫.‪331 User name okay, need password‬‬
‫:‪Password‬‬
‫‪---> PASS tt‬‬
‫.‪230 User logged in, proceed‬‬
‫‪ftp> dir‬‬
‫56,6,551,461,39,212 ‪---> PORT‬‬
‫.‪200 PORT Command successful‬‬
‫‪---> LIST‬‬
‫.‪150 Opening ASCII mode data connection for /bin/ls‬‬
‫‪drw-rw-rw- 1 user‬‬       ‫‪group‬‬       ‫. 13:60 1 ‪0 Jan‬‬
‫‪drw-rw-rw- 1 user‬‬       ‫‪group‬‬       ‫.. 13:60 1 ‪0 Jan‬‬
‫‪-rw-rw-rw- 1 user‬‬      ‫‪group‬‬     ‫‪28827 Oct 1 1994 BOOKMARK.HTM‬‬
‫‪drw-rw-rw- 1 user‬‬       ‫‪group‬‬       ‫‪0 Jan 17 20:17 Fav‬‬
‫‪drw-rw-rw- 1 user‬‬       ‫‪group‬‬       ‫‪0 Jan 1 06:31 Hacking‬‬
‫‪-r--r--r-- 1 user‬‬    ‫‪group‬‬     ‫‪38912 Oct 17 1994 Scrap.shs‬‬
‫.‪226 Transfer complete‬‬
‫.‪ftp: 376 bytes received in 0.12Seconds 3.11Kbytes/sec‬‬
‫‪ftp> bye‬‬
‫‪---> QUIT‬‬
‫!‪221 Goodbye‬‬
‫ﻻﺤﻅ ﺃﻨﻪ ﻭﻜﻤﺎ ﻗﻠﻨﺎ ﺃﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻻﺒﺩ ﺃﻥ ﻴﺴﺄﻟﻙ ﻋﻥ ﺍﺴﻡ ﺍﻟﻤﺴﺘﺨﺩﻡ ﻭﻜﻠﻤﺔ ﺍﻟﻤﺭﻭﺭ‬
‫ﻭﺫﻟﻙ ﺤﺘﻰ ﻴﺭﻯ ﺇﻥ ﻜﻨﺕ ﻤﻤﻥ ﻴﺼﺭﺡ ﻟﻬﻡ ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ ﺍﻟﺴﻴﺭﻓﺭ ﻭﻻﺤﻅ ﺃﻥ ﺍﺴﻡ‬
‫ﺍﻟﻤﺴﺘﺨﺩﻡ ﻫﻨﺎ ﻫﻭ )‪ (tt‬ﻭﻜﻠﻤﺔ ﺍﻟﻤﺭﻭﺭ ﻫﻲ )‪ (tt‬ﻜﻤﺎ ﻫﻭ ﻭﺍﻀﺢ ﻓﻲ ﺍﻟﺠﻤﻠﺔ ) >---‬
‫‪ (PASS tt‬ﺃﻱ ﺃﻨﻪ ﻴﺭﺴل ﻜﻠﻤﺔ ﺍﻟﻤﺭﻭﺭ ﺒﺩﻭﻥ ﺃﻱ ﺘﺸﻔﻴﺭ.ﺜﻡ ﺒﻌﺩ ﺫﻟﻙ ﺇﺴﺘﺨﺩﻤﻨﺎ ﺍﻷﻤﺭ‬
‫)‪ (dir‬ﻟﻌﺭﺽ ﻤﺤﺘﻭﻴﺎﺕ ﺍﻟﺩﻟﻴل ﻭﻻﺤﻅ ﺃﻨﻪ ﻭﺒﻌﺩ ﺃﻥ ﺍﺴﺘﺨﺩﻤﻨﺎ ﺍﻷﻤﺭ )‪ (dir‬ﺘﻡ‬
‫ﺇﺭﺴﺎل ﺍﻷﻤﺭ )56,6,551,461,39,212 ‪ (---> PORT‬ﻭﺫﻟﻙ ﺤﺘﻰ ﻴﺘﻡ ﻓﺘﺢ‬
‫ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﺠﺩﻴﺩ ﻭﻻﺤﻅ ﺃﻥ ﺍﻻﻴﺒﻲ ﺍﻟﺨﺎﺹ ﺒﻲ ﻫﻭ )551.461.39.212( ﺃﻤﺎ‬
‫ﺍﻟﺒﻭﺭﺕ ﺍﻟﺫﻱ ﺴﻭﻑ ﻴﺘﻡ ﻓﺘﺤﻪ ﻋﻠﻰ ﺠﻬﺎﺯﻱ ﻫﻭ )56+652*6( ﺃﻱ ﺴﻴﺘﻡ ﻓﺘﺢ‬
‫ﺍﻟﺒﻭﺭﺕ ﺭﻗﻡ )1061( ﻹﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ. ﻭﻗﺩ ﺇﺴﺘﺨﺩﻤﺕ ﺍﻷﻤﺭ ) ‪(a- netstat‬‬
                ‫ﺤﺘﻰ ﺃﺭﻯ ﺍﻹﺘﺼﺎﻻﺕ ﺍﻟﺘﻲ ﺘﻡ ﻤﻊ ﺍﻟﺴﻴﺭﻓﺭ ﻓﻭﺠﺩﺕ ﺍﻟﻨﺎﺘﺞ ﺍﻟﺘﺎﻟﻲ:‬
TCP   unix:ftp-data       212.93.164.155:1601 TIME_WAIT
TCP   unix:ftp           212.93.164.155:1597 ESTABLISHED
‫ﻜﺎﻥ ﻫﺫﺍ ﺍﻟﻨﺎﺘﺞ ﻤﻥ ﺍﻟﺠﻬﺎﺯ ﺍﻟﺫﻱ ﻴﻌﻤل ﻋﻠﻴﻪ ﺍﻟﺴﻴﺭﻓﺭ ﻻﺤﻅ ﺃﻨﻪ ﻜﻤﺎ ﻗﻠﻨﺎ ﺃﻥ ﺍﻟﺴﻴﺭﻓﺭ‬
ftp-) ‫ﺩﺍﺌﻤﺎ ﻴﻨﻬﻲ ﺇﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ ﻤﻥ ﺨﻼل ﺍﻟﺒﻭﺭﺕ ﺭﻗﻡ )02( ﺃﻭ ﻜﻤﺎ ﻴﺩﻋﻰ ﺏ‬     ‫ﹰ‬
‫( ﺃﻱ ﺃﻨﻪ ﻗﺩ ﺘﻡ ﺍﻹﻨﺘﻬﺎﺀ ﻤﻥ ﻫﺫﺍ ﺍﻟﻤﻨﻔﺫ ﻭﺴﻴﺘﻡ‬TIME_WAIT) ‫(.ﻭﺘﻌﻨﻲ ﻜﻠﻤﺔ‬data
‫ﺇﻏﻼﻗﻪ. ﻭﻟﻭ ﺩﻗﻘﺕ ﺠﻴﺩﺍ ﻟﻭﺠﺩﺕ ﺃﻨﻪ ﻗﺩ ﺘﻡ ﺇﻨﻬﺎﺀ ﺇﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ ﻭﻟﻜﻥ ﻟﻡ ﻴﺘﻡ ﺇﻨﻬﺎﺀ‬
                                                        ‫ﹰ‬
‫( ﺃﻱ ﺘﺎﻡ . ﻭﻫﻜﺫﺍ ﺘﺤﻘﻘﻨﺎ ﻤﻥ‬established) ‫ﺇﺘﺼﺎل ﺍﻟﺘﺤﻜﻡ ﺍﻟﺫﻱ ﻫﻭ ﻓﻲ ﻭﻀﻊ‬
‫ﺼﺤﺔ ﺃﻥ ﺇﺘﺼﺎل ﺍﻟﺘﺤﻜﻡ ﺘﺎﻡ ﻤﺎﻟﻡ ﻴﻘﻁﻊ ﻤﻥ ﺍﻟﺴﻴﺭﻓﺭ ﺃﻤﺎ ﺇﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻴﻨﺘﻬﻲ ﻜﻠﻤﺎ‬
                                                         .‫ﺍﻨﺘﻬﻰ ﻤﻥ ﻨﻘل ﻤﻠﻑ ﻤﺎ‬
                                      :‫ﻤﺜﺎل ٢: ﺃﺨﺫ ﻤﻠﻑ ﻨﺼﻲ ﻤﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ‬
‫ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﺜﺎل ﺴﻭﻑ ﻨﺘﻌﻠﻡ ﻜﻴﻑ ﻨﺄﺨﺫ ﻤﻠﻑ ﻭﺍﺤﺩ ﻓﻘﻁ ﻤﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ. ﻻﺤﻅ ﻤﺎ‬
                                                                         : ‫ﻴﻠ ﻲ‬
C:>ftp -d 62.114.95.161
Connected to 62.114.95.161.
220 Serv-U FTP Server v4.0 for WinSock ready...
User (62.114.95.161:(none)): uu
---> USER uu
331 User name okay, need password.
Password:
---> PASS uu
230 User logged in, proceed.
ftp> dir
---> PORT 212,93,164,155,6,140
200 PORT Command successful.
---> LIST
150 Opening ASCII mode data connection for /bin/ls.
drw-rw-rw- 1 user       group        0 Feb 16 06:54 .
drw-rw-rw- 1 user       group        0 Feb 16 06:54 ..
-rw-rw-rw- 1 user      group      45856 Jul 25 2001 DOS.TXT
-rw-rw-rw- 1 user      group       8540 Jul 23 2001 Ports.txt
-r--r--r-- 1 user    group      4357 Mar 14 2001 happy99.txt
-r--r--r-- 1 user    group      1630 Mar 14 2001 mcafee.txt
226 Transfer complete.
ftp: 382 bytes received in 0.16Seconds 2.39Kbytes/sec.
ftp> ascii
---> TYPE A
200 Type set to A.
ftp> get mcafee.txt
---> PORT 212,93,164,155,6,141
200 PORT Command successful.
---> RETR mcafee.txt
150 Opening ASCII mode data connection for mcafee.txt (1630 bytes).
226 Transfer complete.
ftp: 1630 bytes received in 4.31Seconds 0.38Kbytes/sec.
‫‪ftp> bye‬‬
‫‪---> QUIT‬‬
‫!‪221 Goodbye‬‬
‫ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﺜﺎل ﺴﻭﻑ ﻴﻔﺘﺢ ﺍﻟﺒﻭﺭﺕ )141+652*6( ﻹﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ. ﻭﻻﺤﻅ ﺃﻨﻪ‬
‫ﻗﺒل ﺃﻥ ﻨﺴﺘﺨﺩﻡ ﺃﻤﺭ ﺃﺨﺫ ﺍﻟﻤﻠﻔﺎﺕ )‪ (get‬ﺍﻷﻤﺭ )‪ (ascii‬ﻭﺫﻟﻙ ﻷﻨﻨﺎ ﺴﻭﻑ ﻨﺄﺨﺫ‬
‫ﻤﻠﻑ ﻨﺼﻲ ﻤﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻭﻋﺎﺩﺓ ﻋﻨﺩﻤﺎ ﻴﺘﻡ ﺘﺤﻤﻴل ﻤﻠﻔﺎﺕ ﻨﺼﻴﺔ ﻤﻥ ﻋﻠﻰ‬
‫ﺍﻟﺴﻴﺭﻓﺭ ﺃﻭ ﻭﻀﻊ ﻤﻠﻔﺎﺕ ﻨﺼﻴﺔ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻓﺈﻨﻨﺎ ﻨﺴﺘﺨﺩﻡ ﻨﻅﺎﻡ ﺍﻟﻨﻘل )‪ (ascii‬ﺃﻤﺎ‬
‫ﺇﺫﺍ ﻜﺎﻥ ﺍﻟﻬﺩﻑ ﺍﻟﻤﺭﺍﺩ ﺃﺨﺫﻩ ﻤﻥ ﺍﻟﺴﻴﺭﻓﺭ ﺃﻭ ﻭﻀﻌﻪ ﻋﻠﻴﻪ ﻏﻴﺭ ﻨﺼﻲ ﻤﺜﻼ ﺼﻭﺭ ﺃﻭ‬
          ‫ﹰ‬
‫ﻤﻠﻔﺎﺕ ﺘﺸﻐﻴﻠﻴﺔ ﻓﺈﻨﻪ ﻴﺴﺘﺨﺩﻡ ﻭﺴﻴﻠﺔ ﺍﻟﻨﻘل )‪ (binary‬ﻜﻤﺎ ﺴﻨﺭﻯ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﻘﺎﺩﻡ.‬
‫ﻭﻴﺠﺏ ﻫﻨﺎ ﺃﻥ ﻨﻨﺒﻪ ﺃﻨﻪ ﺇﺫﺍ ﻜﻨﺕ ﺘﺭﻴﺩ ﺃﻥ ﺘﺄﺨﺫ ﺃﻜﺜﺭ ﻤﻥ ﻤﻠﻑ ﻤﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻓﻲ‬
‫ﻭﻗﺕ ﻭﺍﺤﺩ ﻓﺈﻨﻪ ﻴﺘﻡ ﺇﺴﺘﺨﺩﺍﻡ ﺍﻷﻤﺭ ) 2‪ftp>mget filename1 filename‬‬
‫3‪ (filename‬ﺜﻡ ﺒﻌﺩ ﺫﻟﻙ ﺴﻴﺘﻡ ﻓﺘﺢ ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﺠﺩﻴﺩ ﻟﻜل ﻤﻠﻑ ﻓﻤﺜﻼ ﺴﻴﻔﺘﺢ‬
        ‫ﹰ‬
‫ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﻟﻠﻤﻠﻑ )1‪ (filename‬ﻭﻜﺫﻟﻙ ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﺁﺨﺭ ﻟﻠﻤﻠﻑ )‬
                                                        ‫2‪ (filename‬ﻭﻫﻜﺫﺍ.‬
                                      ‫ﻤﺜﺎل ٣: ﻭﻀﻊ ﻤﻠﻑ ﺘﺸﻐﻴﻠﻲ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ.‬
‫ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﺜﺎل ﺴﻭﻑ ﻨﺭﻯ ﻜﻴﻑ ﻴﺘﻡ ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﺘﺸﻐﻴﻠﻴﺔ ﺒﺈﺴﺘﺨﺩﺍﻡ ﻨﻅﺎﻡ ﺍﻟﻨﻘل )‬
                                                     ‫‪ .(binary‬ﻻﺤﻅ ﻤﺎ ﻴﻠﻲ.‬
‫04.351.121.361 ‪C:>ftp -d‬‬
‫.04.351.121.361 ‪Connected to‬‬
‫...‪220 Serv-U FTP Server v4.0 for WinSock ready‬‬
‫‪User (163.121.153.40:(none)): uu‬‬
‫‪---> USER uu‬‬
‫.‪331 User name okay, need password‬‬
‫:‪Password‬‬
‫‪---> PASS uu‬‬
‫.‪230 User logged in, proceed‬‬
‫‪ftp> binary‬‬
‫‪---> TYPE I‬‬
‫.‪200 Type set to I‬‬
‫‪ftp> put crypt.exe‬‬
‫871,7,332,961,39,212 ‪---> PORT‬‬
‫.‪200 PORT Command successful‬‬
‫‪---> STOR crypt.exe‬‬
‫.‪150 Opening BINARY mode data connection for crypt.exe‬‬
‫.‪226 Transfer complete‬‬
‫.‪ftp: 40960 bytes sent in 0.01Seconds 4096.00Kbytes/sec‬‬
‫‪ftp> bye‬‬
‫‪---> QUIT‬‬
‫!‪221 Goodbye‬‬
‫ﻻﺤﻅ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﺴﺎﺒﻕ ﺃﻨﻪ ﻗﺩ ﺇﺴﺘﺨﺩﺍﻡ ﺍﻷﻤﺭ )‪ (binary‬ﻭﺫﻟﻙ ﻷﻨﻨﺎ ﻨﺭﻴﺩ ﺃﻥ ﻨﻨﻘل‬
‫ﻤﻠﻔﻲ ﺘﻁﺒﻴﻘﻲ ﻭﺒﻌﺩ ﺫﻟﻙ ﻗﻤﻨﺎ ﺒﺈﺴﺘﺨﺩﺍﻡ ﺍﻷﻤﺭ )‪ (PUT‬ﻭﺍﻟﺫﻱ ﻴﺴﺘﺨﺩﻡ ﻟﺘﺨﺯﻴﻥ ﻤﻠﻑ‬
‫ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ . ﻭﻻﺤﻅ ﺃﻨﻨﺎ ﻟﻭ ﺃﺭﺩﻨﺎ ﺃﻥ ﻨﺤﻤل ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻋﺩﺓ ﻤﻠﻔﺎﺕ ﻓﺈﻨﻨﺎ ﻨﺴﺘﺨﺩﻡ‬
‫( ﻭﻋﻨﺩ ﻜل ﻤﻠﻑ‬ftp>mput filename1 filename2 filename3) ‫ﺍﻷﻤﺭ‬
                          .‫ﻴﺘﻡ ﻨﻘﻠﻪ ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻓﺈﻨﻪ ﻴﺘﻡ ﻓﺘﺢ ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﺠﺩﻴﺩ‬
        :(anonymous) ‫ﻤﺜﺎل ٤: ﺘﺴﺠﻴل ﺩﺨﻭل ﻟﻠﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ ﺒﻭﻀﻊ ﺍﻟﻤﺠﻬﻭل‬
‫ﻜﻤﺎ ﺫﻜﺭﻨﺎ ﺴﺎﺒﻘﺎ ﺃﻨﻪ ﻋﻨﺩﻤﺎ ﺘﺭﻴﺩ ﺇﺴﺘﺨﺩﺍﻡ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻤﻊ ﺃﺤﺩ ﺍﻷﺠﻬﺯﺓ‬
                                                             ‫ﹰ‬
‫ﹰ‬
‫ﺍﻟﺨﺎﺩﻤﺔ ﻓﺈﻨﻪ ﻻﺒﺩ ﺃﻥ ﻴﻜﻭﻥ ﻟﻙ ﺍﺴﻡ ﻤﺴﺘﺨﺩﻡ ﻭﻜﻠﻤﺔ ﻤﺭﻭﺭ ﺃﻴﻀﺎ ﻭﻟﻜﻥ ﻴﻤﻜﻨﻙ ﺃﻴﻀﺎ‬
                   ‫ﹰ‬
(server) ‫ﺃﻥ ﺘﻘﻭﻡ ﺒﺘﺴﺠﻴل ﺍﻟﺩﺨﻭل ﺒﻭﻀﻊ ﺍﻟﺘﺨﻔﻲ ﻭﺫﻟﻙ ﺇﺫﺍ ﻜﺎﻥ ﺍﻟﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ‬
‫ﻴﺩﻋﻡ ﻫﺫﺍ ﺍﻟﻭﻀﻊ ﻻﺤﻅ ﺍﻟﺠﻠﺴﺔ ﺍﻟﺘﺎﻟﻴﺔ ﺍﻟﺘﻲ ﺃﺠﺭﻴﺘﻬﺎ ﻋﻠﻰ ﺃﺤﺩ ﺃﻨﻭﺍﻉ ﺍﻟﺴﻴﺭﻓﺭﺍﺕ‬
) ‫ﺍﻟﻤﻭﺠﻭﺩﺓ ﻋﻠﻰ ﺠﻬﺎﺯﻱ ﻭﻟﺫﻟﻙ ﺴﻭﻑ ﺘﻼﺤﻅ ﺃﻥ ﻗﺩ ﺘﻡ ﺇﺴﺘﺨﺩﺍﻡ ﺭﻗﻡ ﺍﻻﻴﺒﻲ‬
‫1.0.0.721( ﻭﻨﻅﺭﺍ ﻷﻥ ﺍﻟﻁﺭﻴﻘﺔ ﻭﺍﺤﺩﺓ ﻟﺘﺴﺠﻴل ﺍﻟﺩﺨﻭل ﻓﺈﻨﻪ ﺴﻴﻨﻁﺒﻕ ﻋﻠﻰ ﺃﻱ‬
                                                         ‫ﹰ‬
                                                                 .‫ﺴﻴﺭﻓﺭ ﺃﺨﺭ‬

C:>ftp -d 127.0.0.1
Connected to 127.0.0.1.
220-This FTP site is running a copy of WFTPD that is NOT REGISTERED
220-
220-Shareware can only improve if supported by its users.
220-The easiest way to support shareware is to register it.
220-WFTPD costs from $20 to register.
220-
220-To register this program, or receive new details on it, send email
220-to alun@texis.com (Alun Jones), or snail-mail to Texas Imperial Software,
220-1602 Harvest Moon Place, Cedar Park TX 78613-1419 USA
220-
220-As added incentive for the site owner to register, you will be restricted
220-to five (5) transfers - to get more transfers, please re-login.
220-
220-Please note - Alun Jones is only responsible for the software
220-that this site runs, and is not responsible in any way for either
220-the content of this site, nor its location on the Internet.
220 WFTPD 2.4 service (by Texas Imperial Software) ready for new user
User (127.0.0.1:(none)): anonymous
---> USER anonymous
331-Anonymous user access allowed - please enter your email
331-address as the password:
331 Give me your password, please
Password:
---> PASS anonymouse@anonymoys
230 Logged in successfully
ftp> dir
---> PORT 127,0,0,1,5,193
200 PORT command okay
---> LIST
150 File Listing Follows in ASCII mode.
‫26 ‪total‬‬
‫‪dr-xr-xr-x 1 noone nogroup‬‬           ‫‪0 Aug 16 10:59 apache‬‬
‫‪dr-xr-xr-x 1 noone nogroup‬‬           ‫‪0 Aug 19 05:58 Borland‬‬
‫‪dr-xr-xr-x 1 noone nogroup‬‬           ‫‪0 Aug 5 07:06 DevStudio‬‬
‫‪dr-xr-xr-x 1 noone nogroup‬‬           ‫‪0 Jul 31 16:25 dm‬‬
‫‪dr-xr-xr-x 1 noone nogroup‬‬           ‫‪0 Jul 29 09:21 Documents and Settings‬‬
‫‪dr-xr-xr-x 1 noone nogroup‬‬           ‫‪0 Aug 4 14:30 Downloads‬‬
‫‪-r-xr-xr-x 1 noone nogroup‬‬         ‫‪1012 Jul 31 05:58 FRUNLOG.TXT‬‬
‫‪-r-xr-xr-x 1 noone nogroup‬‬        ‫‪21504 Aug 7 23:06 get.doc‬‬
‫‪dr-xr-xr-x 1 noone nogroup‬‬           ‫‪0 Jul 31 16:17 My Music‬‬
‫‪-r-xr-xr-x 1 noone nogroup‬‬         ‫‪2063 Feb 8 05:19 my.cnf‬‬
‫‪dr-xr-xr-x 1 noone nogroup‬‬           ‫599‪0 Jul 31 06:35 pdf‬‬
‫‪dr-xr-xr-x 1 noone nogroup‬‬           ‫‪0 Aug 16 10:59 phptriad‬‬
‫‪dr-xr-xr-x 1 noone nogroup‬‬           ‫‪0 Jul 29 09:22 Program Files‬‬
‫‪dr-xr-xr-x 1 noone nogroup‬‬           ‫‪0 Jul 31 06:12 unzipped‬‬
‫‪dr-xr-xr-x 1 noone nogroup‬‬           ‫‪0 Aug 1 00:13 WINNT‬‬
‫.‪226 Transfer finished successfully‬‬
‫.‪ftp: 977 bytes received in 0.08Seconds 12.21Kbytes/sec‬‬
‫‪ftp> bye‬‬
‫‪---> QUIT‬‬
‫ﻻﺤﻅ ﺃﻨﻪ ﻟﻜﻲ ﺘﺴﺠل ﺩﺨﻭل ﻟﻠﺴﻴﺭﻓﺭ ﻓﻲ ﻭﻀﻊ ﺍﻟﺘﺨﻔﻲ ﻓﻼﺒﺩ ﻟﻙ ﺃﻥ ﺘﻘﻭﻡ ﺒﺘﺴﺠﻴل‬
‫ﺍﻟﺩﺨﻭل ﺒﺎﺴﻡ ﺍﻟﻤﺴﺘﺨﺩﻡ )‪ (anonymous‬ﻜﻤﺎ ﻫﻭ ﻭﺍﻀﺢ ﺒﺎﻷﻋﻠﻰ ﺍﻟﻠﻭﻥ ﺍﻷﺤﻤﺭ‬
‫ﺃﻤﺎ ﺒﺎﻟﻨﺴﺒﺔ ﻟﻜﻠﻤﺔ ﺍﻟﻤﺭﻭﺭ ﻓﻬﻲ ﻋﺒﺎﺭﺓ ﻋﻥ ﺍﻟﺒﺭﻴﺩ ﺍﻟﺨﺎﺹ ﺒﻙ ﻭﻫﻭ ﻓﻲ ﺍﻟﺤﻘﻴﻘﺔ‬
‫ﻻﻴﺴﺘﻠﺯﻡ ﻤﻨﻙ ﺃﻥ ﺘﻘﻭﻡ ﺒﺘﺴﺠﻴل ﺒﺭﻴﺩﻙ ﺍﻟﺤﻘﻴﻘﻲ ﻭﻟﻜﻥ ﺍﻟﺴﻴﺭﻓﺭﺍﺕ ﺍﻟﺘﻲ ﺘﻘﺩﻡ ﺨﺩﻤﺔ‬
‫ﺘﺴﺠﻴل ﺍﻟﺩﺨﻭل ﺒﻭﻀﻊ ﺍﻟﺘﺨﻔﻲ ﻓﺈﻨﻪ ﻋﻨﺩﻤﺎ ﺘﺭﻯ ﻜﻠﻤﺔ ﺍﻟﻤﺭﻭﺭ ﻟﻬﺫﺍ ﺍﻟﻭﻀﻊ ﻓﺈﻨﻬﺎ‬
‫ﺘﺒﺤﺙ ﻋﻥ ﻋﻼﻤﺔ )@( ﻓﺈﻥ ﻭﺠﺩﺘﻬﺎ ﻓﺈﻨﻬﺎ ﺘﻘﻭﻡ ﺒﺘﺴﺠﻴل ﺩﺨﻭﻟﻙ ﻟﻠﺴﻴﺭﻓﺭ ﻭﺇﻥ ﻟﻡ‬
‫ﺘﺠﺩﻫﺎ ﻓﺈﻨﻪ ﻓﻲ ﺒﻌﺽ ﺃﻨﻭﺍﻉ ﺍﻟﺴﻴﺭﻓﺭﺍﺕ ﻻ ﺘﻤﺎﻨﻊ ﻭﻓﻲ ﺍﻟﺒﻌﺽ ﺍﻵﺨﺭ ﺘﻁﺎﻟﺒﻙ ﺒﻬﺎ .‬
‫ﻭﺍﻟﺠﺩﻴﺭ ﺒﺎﻟﺫﻜﺭ ﻫﻨﺎ ﺃﻨﻪ ﺇﺫﺍ ﻗﻤﺕ ﺒﺘﺴﺠﻴل ﺍﻟﺩﺨﻭل ﺒﻬﺫﺍ ﺍﻟﻭﻀﻊ ﻓﺈﻨﻪ ﻴﻜﻭﻥ ﻟﻙ‬
‫ﺼﻼﺤﻴﺎﺕ ﻤﺤﺩﻭﺩﺓ ﻭﺫﻟﻙ ﻋﻠﻰ ﺤﺴﺏ ﺭﻏﺒﺔ ﻤﺩﻴﺭ ﺍﻟﺴﻴﺭﻓﺭ ﻭﺍﻷﻏﻠﺒﻴﺔ ﺃﻨﻪ ﻴﻌﻁﻴﻙ ﻓﻘﻁ‬
      ‫ﺘﺤﻤﻴل ﺍﻟﻤﻠﻔﺎﺕ ﻤﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻭﻴﻌﻁﻴﻙ ﺤﺭﻴﺔ ﺍﻟﺘﻨﻘل ﻟﺩﺍﺨل ﻤﺠﻠﺩﺍﺕ ﺨﺎﺼﺔ.‬

                                                            ‫• ﻜﻠﻤﺔ ﺃﺨﻴﺭﺓ:‬
‫ﻓﻲ ﻨﻬﺎﻴﺔ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﺃﺘﻤﻨﻰ ﻤﻥ ﺍﷲ ﺍﻟﻌﻠﻲ ﺍﻟﻘﺩﻴﺭ ﺃﻥ ﻴﺤﻭﺯ ﻋﻠﻰ ﺭﻀﻰ ﺍﷲ ﺃﻭﻻ ﺜﻡ‬
   ‫ﹰ‬
‫ﻋﻠﻰ ﺭﻀﺎﻜﻡ ﻭﺇﺴﺘﺤﺴﺎﻨﻜﻡ. ﻜﻤﺎ ﺃﻨﻲ ﺃﻭﺼﻴﻜﻡ ﺒﺎﻟﺩﻋﺎﺀ ﻟﺠﻤﻴﻊ ﺍﻟﻤﺴﻠﻤﻴﻥ. ﻜﻤﺎ ﺃﺤﺏ ﺃﻥ‬
‫ﺃﺸﻜﺭ ﺃﺨﻲ ﺍﻟﻌﺯﻴﺯ ﺠﺩﺍ )‪ (eXistenZ‬ﻋﻠﻰ ﻤﺴﺎﻋﺩﺘﻪ ﻟﻲ ﻓﻲ ﺘﻁﺒﻴﻕ ﻫﺫﻩ ﺍﻷﻤﺜﻠﺔ‬
                                                     ‫ﹰ‬
              ‫ﻋﻠﻰ ﺠﻬﺎﺯﻩ ﻓﻠﻪ ﺠﺯﻴل ﺍﻟﺸﻜﺭ ﻭﺍﻟﻌﺭﻓﺎﻥ ﻭﻻﺘﻨﺴﻭﻨﻪ ﺃﻴﻀ ﹰ ﻤﻥ ﺍﻟﺩﻋﺎﺀ.‬
                         ‫ﺎ‬

             ‫ﻭﺘﻘﺒﻠﻭﺍ ﺨﺎﻟﺹ ﺘﺤﻴﺎﺕ ﺃﺨﻭﻜﻡ ﺍﻟﻤﺤﺏ )‪(The-oNe‬‬
           ‫ﺍﻟﺭﺠﺎﺀ ﺇﺭﺴﺎل ﻤﻘﺘﺭﺤﺎﺘﻜﻡ ﻭﺁﺭﺍﺌﻜﻡ ﻋﻠﻰ ﺍﻟﻌﻨﺎﻭﻴﻥ ﺍﻟﺘﺎﻟﻴﺔ:‬
                       ‫‪The-one@pharaonics.net‬‬
OR
 The_o0ne@hotmail.com
         OR
The_o0one@yahoo.com

More Related Content

اف تي بي

  • 1. ‫ﺒﺴﻡ ﺍﷲ ﺍﻟﺭﺤﻤﻥ ﺍﻟﺭﺤﻴﻡ‬ ‫•‬ ‫ﺍﻹﺘﻔﺎﻗﻴﺔ.‬ ‫•‬ ‫ﻤﺎﻫﻭ ﺍﻟﻤﻘﺼﻭﺩ ﺒﻜﻠﻤﺔ ﺒﺭﻭﺘﻭﻜﻭل )‪.(protocol‬‬ ‫•‬ ‫ﻤﻘﺩﻤﺔ ﻋﻥ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ )‪.(ftp‬‬ ‫•‬ ‫ﺃﻭﺍﻤﺭ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ )‪.(ftp‬‬ ‫•‬ ‫ﻓﻬﻡ ﺍﻷﻜﻭﺍﺩ ﺍﻟﺭﻗﻤﻴﺔ ﺍﻟﺘﻲ ﻴﺼﺩﺭﻫﺎ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﺃﺜﻨﺎﺀ ﻋﻤﻠﻴﺔ ﺇﺭﺴﺎل‬ ‫ﻭﺇﺴﺘﻘﺒﺎل ﺍﻷﻭﺍﻤﺭ.‬ ‫•‬ ‫ﻜﻴﻑ ﻴﺘﻡ ﺍﻹﺘﺼﺎل ﺒﻴﻥ ﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ )‪ (server‬ﻭﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل )‪.(client‬‬ ‫•‬ ‫ﺒﻌﺽ ﺍﻷﻤﺜﻠﺔ ﻋﻠﻰ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ )‪.(ftp‬‬ ‫•‬ ‫ﻜﻠﻤﺔ ﺃﺨﻴﺭﺓ.‬ ‫• ﺍﻹﺘﻔﺎﻗﻴﺔ:‬ ‫ﻟﻘﺩ ﻜﺘﺒﺕ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻟﻐﺭﺽ ﺘﺜﻘﻴﻑ ﺍﻟﺸﺒﺎﺏ ﺍﻟﻌﺭﺒﻲ ﻓﻲ ﻤﺠﺎل ﻋﻠﻭﻡ ﺍﻟﺤﺎﺴﺏ ﺍﻵﻟﻲ.‬ ‫ﻭﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻤﺠﺎﻨﻲ ﻟﻠﺠﻤﻴﻊ ﻭﻻ ﺃﺭﻴﺩ ﻤﻥ ﻭﺭﺍﺌﻪ ﺇﻻ ﺸﻲﺀ ﺒﺴﻴﻁ ﺠﺩﺍ ﻭﻫﻭ ﺩﻋﻭﺓ‬ ‫ﹰ‬ ‫ﺼﺎﻟﺤﺔ ﻓﻲ ﻅﻬﺭ ﺍﻟﻐﻴﺏ ﻟﻲ ﻭﻟﺠﻤﻴﻊ ﺃﺨﻭﺍﻨﻨﺎ ﺍﻟﻤﺴﻠﻤﻴﻥ ﻓﻲ ﺃﻨﺤﺎﺀ ﺍﻟﻌﺎﻟﻡ.ﻜﻤﺎ ﺃﺭﺠﻭﺍ ﺃﻥ‬ ‫ﻻ ﻴﺘﻡ ﺍﻟﺘﻌﺩﻴل ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻭﺇﻨﺴﺎﺒﻪ ﺇﻟﻰ ﻏﻴﺭﻱ ﻷﻨﻲ ﻗﺩ ﺘﻌﺒﺕ ﻓﻴﻪ ﻜﺜﻴﺭﺍ. ﻜﻤﺎ‬ ‫ﹰ‬ ‫ﺃﻨﻨﻲ ﺃﺅﺅﻜﺩ ﺃﻨﻨﻲ ﺃﺭﺤﺏ ﻭﺒﻜل ﺴﻌﺔ ﺼﺩﺭ ﺒﺎﻟﻨﻘﺩ ﺍﻟﺒﻨﺎﺀ ﺍﻟﺫﻱ ﻴﺴﺘﻔﻴﺩ ﻤﻨﻪ ﺍﻟﺠﻤﻴﻊ. ﻜﻤﺎ‬ ‫ﺃﻨﻪ ﺇﺫﺍ ﻭﺠﺩﺕ ﻋﺯﻴﺯﻱ ﺍﻟﻘﺎﺭﺉ ﺃﻱ ﺃﺨﻁﺎﺀ ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻴﺭﺠﻰ ﺃﺨﺒﺎﺭﻱ ﺒﻬﺎ‬ ‫ﻤﺸﻜﻭﺭﺍ ﻭﺴﻴﺘﻡ ﻭﻀﻊ ﺃﺴﻤﻙ ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﻤﻊ ﺍﻟﺘﻌﺩﻴل.‬ ‫ﹰ‬ ‫• ﻤﺎﻫﻭ ﺍﻟﻤﻘﺼﻭﺩ ﺒﻜﻠﻤﺔ ﺒﺭﻭﺘﻭﻜﻭل )‪:(protocol‬‬ ‫ﺍﻟﺒﺭﻭﺘﻭﻜﻭل ﻫﻭ ﻋﺒﺎﺭﺓ ﻋﻥ ﻟﻐﺔ ﺍﻟﺘﻔﺎﻫﻡ ﺒﻴﻥ ﺃﺠﻬﺯﺓ ﺍﻟﻜﻤﺒﻴﻭﺘﺭ. ﺤﻴﺙ ﺃﻨﻪ ﺇﺫﺍ ﻜﺎﻥ‬ ‫ﻫﻨﺎﻙ ﺍﺨﺘﻼﻑ ﻓﻲ ﻨﻭﻉ ﺍﻟﺒﺭﻭﺘﻭﻜﻭل ﺍﻟﻤﺴﺘﺨﺩﻡ ﺒﻴﻥ ﺍﻷﺠﻬﺯﺓ ﻓﺈﻨﻪ ﻟﻥ ﻴﺘﻡ ﺍﻟﺘﺨﺎﻁﺏ‬ ‫ﻭﻨﻘل ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻴﻤﺎ ﺒﻴﻨﻬﺎ ﻭﺫﻟﻙ ﻷﻥ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺼﺎﺩﺭﺓ ﻤﻥ ﻜﻼ ﺍﻟﺠﻬﺎﺯﻴﻥ ﻟﻥ ﻴﺘﻡ‬ ‫ﺍﻟﺘﻌﺭﻑ ﻋﻠﻴﻬﺎ ﻤﻥ ﻗﺒل ﺍﻟﻁﺭﻑ ﺍﻵﺨﺭ. ﻭﻴﻤﻜﻨﻨﺎ ﺘﺸﺒﻴﻪ ﺍﻟﺒﺭﻭﺘﻭﻜﻭل ﺒﺎﻟﻠﻐﺔ ﻋﻨﺩ‬ ‫ﺍﻹﻨﺴﺎﻥ ﻓﻠﻭ ﻤﺜﻼ ﺸﺨﺹ ﻴﺘﻜﻠﻡ ﺍﻟﻌﺭﺒﻴﺔ ﻭﻴﺭﻴﺩ ﺃﻥ ﻴﺘﻜﻠﻡ ﻤﻊ ﺸﺨﺹ ﺁﺨﺭ ﻭﻟﻜﻥ ﻫﺫﺍ‬ ‫ﹰ‬ ‫ﺍﻟﺸﺨﺹ ﻻ ﻴﻌﺭﻑ ﺍﻟﻌﺭﺒﻴﺔ ﻭﺇﻨﻤﺎ ﻴﻌﺭﻑ ﻟﻐﺔ ﺃﺨﺭﻯ ﻏﻴﺭﻫﺎ ﻭﻟﻴﻜﻥ ﻤﺜﻼ ﺍﻟﻠﻐﺔ‬ ‫ﹰ‬ ‫ﺍﻹﻨﺠﻠﻴﺯﻴﺔ . ﻓﻲ ﻫﺫﻩ ﺍﻟﺤﺎﻟﺔ ﻋﻨﺩﻤﺎ ﻴﺘﺤﺩﺙ ﺃﺤﺩ ﻫﺎﺫﻴﻥ ﺍﻟﻁﺭﻓﻴﻥ ﻟﻥ ﻴﺘﻡ ﻓﻬﻤﻪ ﻤﻥ ﻗﺒل‬ ‫ﺍﻟﻁﺭﻑ ﺍﻵﺨﺭ ﻭﺫﻟﻙ ﻹﺨﺘﻼﻑ ﻋﻨﺼﺭ ﺍﻟﺘﻭﺤﻴﺩ ﺒﻴﻥ ﺍﻟﻠﻐﺘﻴﻥ. ﺃﻤﺎ ﺇﺫﺍ ﻜﺎﻥ ﻜﻼ‬
  • 2. ‫ﺍﻟﻁﺭﻓﻴﻥ ﻴﺘﺤﺩﺜﻭﻥ ﺍﻟﻠﻐﺔ ﺍﻟﻌﺭﺒﻴﺔ ﻓﺴﻴﺴﻬل ﻋﻠﻰ ﻜل ﻁﺭﻑ ﻓﻬﻡ ﻁﻠﺏ ﺍﻵﺨﺭ.ﻜﺫﻟﻙ ﻫﻭ‬ ‫ﺍﻟﺤﺎل ﻓﻲ ﺃﻨﻅﻤﺔ ﺍﻟﻜﻤﺒﻴﻭﺘﺭ.‬ ‫• ﻤﻘﺩﻤﺔ ﻋﻥ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ )‪.(ftp‬‬ ‫ﺒﺭﻭﺘﻭﻜﻭل )‪ (ftp‬ﻭﻫﻭ ﺇﺨﺘﺼﺎﺭﺍ ل ) ‪ (file transfer protocol‬ﺃﻱ ﺒﺭﻭﺘﻭﻜﻭل‬ ‫ﹰ‬ ‫ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ .ﻭﻫﺫﺍ ﺍﻟﺒﺭﻭﺘﻭﻜﻭل ﻋﺒﺎﺭﺓ ﻋﻥ ﺘﻁﺒﻴﻕ ﻴﻌﻤل ﻓﻲ ﺍﻟﻁﺒﻘﺔ ﺍﻟﺭﺍﺒﻌﺔ ﻤﻥ‬ ‫ﻁﺒﻘﺎﺕ )‪ (tcp/ip‬ﻭﻫﺫﻩ ﺍﻟﻁﺒﻘﺔ ﺘﺩﻋﻰ ﺒﻁﺒﻘﺔ ﺍﻟﺘﻁﺒﻴﻘﺎﺕ)‪.(application layer‬‬ ‫ﻭﻴﻘﻭﻡ ﻫﺫﺍ ﺍﻟﺒﺭﻭﺘﻭﻜﻭل ﻋﺎﺩﺓ ﺒﻨﻘل ﻨﺴﺨﺔ ﻤﻥ ﺍﻟﻤﻠﻔﺎﺕ ﺇﻟﻰ ﺍﻟﺠﻬﺎﺯ ﺍﻟﻬﺩﻑ ﻤﻊ ﺘﺭﻙ‬ ‫ﻨﺴﺨﺔ ﻤﻨﻬﺎ ﻓﻲ ﺍﻟﺠﻬﺎﺯ ﺍﻟﻤﺼﺩﺭ. ﻭﻗﺩ ﺼﻤﻡ ﻫﺫﺍ ﺍﻟﺒﺭﺘﻭﻜﻭل ﻟﻜﻲ ﻴﻌﻤل ﺒﻴﻥ ﺃﺠﻬﺯﺓ‬ ‫ﹰ‬ ‫ﻤﺨﺘﻠﻔﺔ ﻓﻲ ﺍﻟﻨﻭﻉ. ﻜﺫﻟﻙ ﻟﻴﻌﻤل ﺒﻴﻥ ﺠﻬﺎﺯﻴﻥ ﻴﻌﻤﻼﻥ ﺒﻨﻅﺎﻤﻴﻥ ﺘﺸﻐﻠﻴﻴﻥ ﻤﺨﺘﻠﻔﻴﻥ ﻤﺜﻼ‬ ‫ﻴﻤﻜﻥ ﻟﺠﻬﺎﺯ ﻴﺴﺘﺨﺩﻡ ﻨﻅﺎﻡ ﺍﻟﻭﻴﻨﺩﻭﺯ )‪ ،(windows‬ﻭﺠﻬﺎﺯ ﺁﺨﺭ ﻴﻌﻤل ﺒﻨﻅﺎﻡ )‬ ‫‪ (Linux‬ﺃﻥ ﻴﺘﻡ ﺍﻟﺭﺒﻁ ﺒﻴﻨﻬﻤﺎ ﺩﻭﻥ ﺍﻟﺘﺄﺜﻴﺭ ﻋﻠﻰ ﻋﻤل ﺍﻟﺒﺭﻭﺘﻭﻜﻭل. ﻭﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل‬ ‫ﺍﻟﻤﻠﻔﺎﺕ ﻴﺴﺘﻁﻴﻊ ﺃﻥ ﻴﻨﻘل ﻓﻘﻁ ﺃﻨﻭﺍﻉ ﻤﺤﺩﻭﺩﺓ ﻤﻥ ﺍﻟﻤﻠﻔﺎﺕ )‪(binary, ASCII‬‬ ‫.ﻭﻟﻜﻲ ﺘﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻟﺒﺭﺘﻭﻜﻭل ﻻﺒﺩ ﺃﻥ ﻴﻜﻭﻥ ﻟﻙ ﺤﺴﺎﺏ ﻋﻠﻰ ﺍﻟﺨﺎﺩﻡ )‪(server‬‬ ‫ﹰ‬ ‫ﻭﻫﺫﺍ ﺍﻟﺤﺴﺎﺏ ﻴﻜﻭﻥ ﺒﺎﺴﻡ ﻤﺴﺘﺨﺩﻡ ﺨﺎﺹ ﺒﻙ ﻭﻜﺫﻟﻙ ﻜﻠﻤﺔ ﻤﺭﻭﺭ . ﻭﻴﻭﺠﺩ ﺃﻴﻀﺎ‬ ‫ﻫﻨﺎﻙ ﺒﻌﺽ ﺍﻟﺨﻭﺍﺩﻡ ﺍﻟﺘﻲ ﺘﻘﺩﻡ ﻫﺫﻩ ﺍﻟﺨﺩﻤﺔ ﺒﻭﻀﻌﻴﺔ ﺍﻟﺘﺨﻔﻲ )‪(anonymous‬‬ ‫ﻭﺴﻴﺘﻡ ﻤﻨﺎﻗﺸﺘﻬﺎ ﻻﺤﻘﺎ ﻓﻲ ﺍﻷﻤﺜﻠﺔ.‬ ‫ﹰ‬ ‫ﻭﻴﺘﻤﻴﺯ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻋﻥ ﺒﺎﻗﻲ ﺍﻟﺒﺭﻭﺘﻭﻜﻭﻻﺕ ﺍﻷﺨﺭﻯ ﻓﻲ ﺃﻨﻪ ﻭﻋﻨﺩ ﻗﻴﺎﻤﻪ‬ ‫ﺒﻌﻤﻠﻴﺔ ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻴﻨﺸﺊ ﺇﺘﺼﺎﻟﻴﻥ ﻭﻫﻤﺎ:‬ ‫١. ﺇﺘﺼﺎل ﺍﻟﺘﺤﻜﻡ )‪:(control connection‬‬ ‫ﻭﻫﺫﺍ ﺍﻹﺘﺼﺎل ﺨﺎﺹ ﺒﻨﻘل ﺍﻷﻭﺍﻤﺭ ﺒﻴﻥ ﺠﻬﺎﺯﻱ ﺍﻟﺨﺎﺩﻡ )‪ (server‬ﻭﺍﻟﻌﻤﻴل )‬ ‫‪ .(client‬ﻭﻫﺫﺍ ﺍﻹﺘﺼﺎل ﻴﺄﺨﺫ ﺍﻟﻤﻨﻔﺫ )12( ﻜﺈﻓﺘﺭﺍﻀﻲ ﻟﻪ ﺤﻴﺙ ﺃﻥ ﺍﻟﺨﺎﺩﻡ ﻴﻔﺘﺢ ﻫﺫﺍ‬ ‫ﺍﻟﺒﻭﺭﺕ ﻭﻴﻨﺘﻅﺭ ﺃﻥ ﻴﺠﺭﻱ ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل ﺍﻹﺘﺼﺎل ﻤﻥ ﺨﻼﻟﻪ ﺃﻱ ﺃﻥ ﺍﻟﺒﻭﺭﺕ )12(‬ ‫ﻴﻜﻭﻥ ﻓﻲ ﻭﻀﻊ )‪ (listen‬ﺃﻱ ﺇﻨﺼﺎﺕ ﻷﻱ ﺇﺘﺼﺎل ﻗﺎﺩﻡ. ﻭﻫﺫﺍ ﺍﻟﻨﻭﻉ ﻤﻥ ﺍﻹﺘﺼﺎل‬ ‫ﻴﻜﻭﻥ ﺩﺍﺌﻡ ﺃﻱ ﻻ ﻴﻨﻘﻁﻊ ﺇﻻ ﺇﺫﺍ ﻗﺎﻡ ﺃﺤﺩ ﺍﻟﻁﺭﻓﻴﻥ ﺒﻘﻁﻊ ﺍﻹﺘﺼﺎل ﻋﻥ ﺍﻟﻁﺭﻑ ﺍﻵﺨﺭ‬ ‫ﺒﺨﻼﻑ ﺍﻟﻨﻭﻉ ﺍﻟﺜﺎﻨﻲ ﻤﻥ ﺍﻹﺘﺼﺎﻻﺕ.‬ ‫٢. ﺇﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ )‪:(data connection‬‬ ‫ﻭﻫﺫﺍ ﺍﻹﺘﺼﺎل ﻴﻨﺸﺄ ﻋﻨﺩﻤﺎ ﻴﺘﻡ ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻤﻥ ﺍﻟﻌﻤﻴل ﺇﻟﻰ ﺍﻟﺨﺎﺩﻡ ﺃﻭ ﺍﻟﻌﻜﺱ. ﺃﻱ ﺃﻥ‬ ‫ﻫﺫﺍ ﺍﻹﺘﺼﺎل ﻴﻌﺘﺒﺭ ﻤﺅﻗﺘﺎ ﻓﻘﻁ ﺇﻟﻰ ﺃﻥ ﻴﺘﻡ ﺇﻨﻬﺎﺀ ﺍﻟﻤﻬﻤﺔ ﺍﻟﺫﻱ ﻴﻘﻭﻡ ﺒﻬﺎ ﻭﻫﻲ ﻋﻤﻠﻴﺔ‬ ‫ﹰ‬ ‫ﺍﻟﻨﻘل ﻟﻠﻤﻠﻔﺎﺕ. ﻭﺴﻭﻑ ﻨﺘﺤﺩﺙ ﻋﻥ ﻫﺫﻴﻥ ﺍﻟﻨﻭﻋﻴﻥ ﻤﻥ ﺍﻹﺘﺼﺎﻻﺕ ﻓﻲ ﺍﻟﻔﻘﺭﺍﺕ‬ ‫ﺍﻟﻘﺎﺩﻤﺔ ﻤﻥ ﻫﺫﺍ ﺍﻟﻤﻠﻑ.‬ ‫• ﺃﻭﺍﻤﺭ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ )‪:(ftp‬‬
  • 3. ‫ﻓﻲ ﺤﻴﻘﻴﻘﺔ ﺍﻷﻤﺭ ﺃﻥ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﻲ ﻴﻘﻭﻡ ﺍﻟﻤﺴﺘﺨﺩﻡ ﺒﻜﺘﺎﺒﺘﻬﺎ ﻋﻨﺩ ﺍﻟﻘﻴﺎﻡ ﺒﻌﻤﻠﻴﺎﺕ ﻨﻘل‬ ‫ﺍﻟﻤﻠﻔﺎﺕ ﺒﻴﻥ ﺍﻟﺨﺎﺩﻡ ﻭﺍﻟﻌﻤﻴل ﺘﺨﺘﻠﻑ ﻋﻥ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﻲ ﻴﺘﻡ ﺇﺭﺴﺎﻟﻬﺎ ﻤﻥ ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل‬ ‫ﺇﻟﻰ ﺠﻬﺎﺯ ﺍﻟﺴﻴﺭﻓﺭ ﻤﺜﻼ ﺍﻷﻤﺭ )‪ (cd‬ﻴﺴﺘﺨﺩﻡ ﻟﻠﺘﻨﻘل ﺒﻴﻥ ﺍﻷﺩﻟﺔ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻓﻌﻨﺩﻤﺎ‬ ‫ﹰ‬ ‫ﺘﻜﺘﺒﻪ ﻓﻲ ﻤﻭﺠﻪ ﺍل )‪ (ftp‬ﻓﺈﻨﻪ ﻴﺘﺤﻭل ﺇﻟﻰ ﺍﻷﻤﺭ )‪ (CWD‬ﺃﻱ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﺴﻭﻑ‬ ‫ﻴﺭﺴل ﻤﻥ ﺠﻬﺎﺯﻙ )ﺍﻟﻌﻤﻴل(ﺇﻟﻰ ﺍﻟﺠﻬﺎﺯ ﺍﻵﺨﺭ )ﺍﻟﺨﺎﺩﻡ( ﻫﻭ ﺍﻷﻤﺭ )‪. (CWD‬ﻭﺴﻭﻑ‬ ‫ﻨﻭﻀﺢ ﻫﻨﺎ ﺒﻌﺽ ﺃﻫﻡ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﻲ ﺘﺴﺘﺨﺩﻡ ﺒﻜﺜﺭﺓ ﻋﻨﺩ ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ ﺍﻟﺒﺭﻭﺘﻭﻜﻭل.‬ ‫• ﺍﻷﻤﺭ )‪:(lcd‬‬ ‫ﻭﻫﺫﺍ ﺍﻷﻤﺭ ﻴﺴﺘﺨﺩﻡ ﻟﻠﺘﻨﻘل ﺒﻴﻥ ﺍﻷﺩﻟﺔ ﻋﻠﻰ ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل )‪ (client‬ﺃﻱ ﺠﻬﺎﺯﻙ ﺍﻟﺫﻱ‬ ‫ﺘﻌﻤل ﻋﻠﻴﻪ.ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ.‬ ‫1‪ftp> lcd dir‬‬ ‫.1‪Local directory now C:dir‬‬ ‫ﻻﺤﻅ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﺴﺎﺒﻕ ﻗﺩ ﺘﻡ ﺍﻹﻨﺘﻘﺎل ﺇﻟﻰ ﺍﻟﻤﺠﻠﺩ )1‪ (dir‬ﻋﻠﻰ ﺠﻬﺎﺯﻙ ﻭﻻﺤﻅ ﻫﻨﺎ‬ ‫ﺃﻨﻪ ﻟﻥ ﻴﺘﻡ ﺇﺭﺴﺎل ﺍﻷﻤﺭ ﻟﻠﺴﻴﺭﻓﺭ ﻷﻥ ﺫﻟﻙ ﻤﺘﻌﻠﻕ ﺒﺠﻬﺎﺯﻙ ﺃﻨﺕ . ﻭﻟﻴﺱ ﺒﺎﻟﺴﻴﺭﻓﺭ.‬ ‫ﻭﻴﺴﺘﺨﺩﻡ ﺍﻷﻤﺭ ).. ‪ (lcd‬ﻟﻺﻨﺘﻘﺎل ﺇﻟﻰ ﺍﻟﺩﻟﻴل ﺍﻟﺫﻱ ﻴﻌﻠﻭ ﺍﻟﺩﻟﻴل ﺍﻟﺫﻱ ﺘﻌﻤل ﻋﻠﻴﻪ ﺃﻨﺕ‬ ‫ﺤ ﺎﻟ ﻴ ﺎ.‬ ‫ﹰ‬ ‫ﻤﻼﺤﻅﺔ: ﻓﻲ ﺠﻤﻴﻊ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﺎﻟﻴﺔ ﺴﻭﻑ ﻴﺘﻡ ﻤﻨﺎﻗﺸﺘﻬﺎ ﺒﻌﺩ ﻗﻠﻴل ﺴﻭﻑ ﺘﺭﺴل‬ ‫ﻟﻠﺴﻴﺭﻓﺭ ﻭﺫﻟﻙ ﻟﺘﻌﻠﻘﻬﺎ ﺒﻪ ﻟﺫﻟﻙ ﺴﻭﻑ ﻴﻜﻭﻥ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﺘﻜﺘﺒﻪ ﺃﻨﺕ ﻫﻭ ﺍﻟﺫﻱ ﻴﻠﻲ‬ ‫ﺍﻟﻤﻭﺠﻪ )>‪ (ftp‬ﺃﻤﺎ ﺍﻟﺫﻱ ﻴﻠﻲ ﺍﻟﻌﻼﻤﺔ )>---( ﻓﻬﻭ ﺍﻷﻤﺭ ﺍﻟﻔﻌﻠﻲ ﺍﻟﺫﻱ ﻴﺭﺴل ﻤﻥ‬ ‫ﺠﻬﺎﺯﻙ ﻟﻠﺴﻴﺭﻓﺭ.‬ ‫• ﺍﻷﻤﺭ )‪:(cd‬‬ ‫ﻭﻫﺫﺍ ﺍﻷﻤﺭ ﻴﺴﺘﺨﺩﻡ ﻟﻠﺘﻨﻘل ﺒﻴﻥ ﺃﺩﻟﺔ ﺍﻟﻤﺴﺘﺨﺩﻡ ﻋﻠﻰ ﺍﻟﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ)‪ (server‬ﻭﻫﺫﺍ‬ ‫ﺍﻷﻤﺭ ﻫﻭ ﺍﻷﻤﺭ ﻫﻭ ﺍﻟﺫﻱ ﻨﻜﺘﺒﻪ ﻋﻨﺩ ﺇﺴﺘﺨﺩﺍﻤﻨﺎ ﻟﻬﺫﺍ ﺍﻷﻤﺭ ﻭﻟﻜﻥ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﻴﺭﺴل‬ ‫ﻤﻥ ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل )‪ (client‬ﻫﻭ ﺍﻷﻤﺭ )‪.(CWD‬ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ ﺃﻨﻪ ﻋﻨﺩﻤﺎ‬ ‫ﺇﺴﺘﺨﺩﻤﻨﺎ ﺍﻷﻤﺭ )‪ (cd‬ﻓﺈﻥ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﺃﺭﺴل ﻟﻠﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ ﻫﻭ )‪.(CWD‬‬ ‫‪ftp> cd downloads‬‬ ‫‪---> CWD downloads‬‬ ‫ﻻﺤﻅ ﺃﻥ ﺍﻟﺴﻁﺭ ﺍﻷﻭل ﻫﻭ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﻨﻜﺘﺒﻪ ﻨﺤﻥ، ﺃﻤﺎ ﺍﻟﺴﻁﺭ ﺍﻟﺜﺎﻨﻲ ﻓﻬﻭ ﺍﻷﻤﺭ‬ ‫ﺍﻟﺤﻘﻴﻘﻲ ﺍﻟﺫﻱ ﺃﺭﺴل ﻟﻠﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ )‪ (server‬ﻭﻻﺤﻅ ﻫﻨﺎ ﺃﻨﻪ )‪ (CWD‬ﻜﻤﺎ ﺫﻜﺭﻨﺎ‬ ‫. ﻭﺴﻨﺘﻌﺭﻑ ﻓﻲ ﻓﻘﺭﺓ ﺍﻷﻤﺜﻠﺔ ﻜﻴﻑ ﻨﺘﻌﺭﻑ ﻋﻠﻰ ﺍﻷﻭﺍﻤﺭ ﺍﻟﻤﺭﺴﻠﺔ ﻤﻥ ﺃﺠﻬﺯﺘﻨﺎ ﺇﻟﻰ‬ ‫ﺃﺠﻬﺯﺓ ﺍﻟﺴﻴﺭﻓﺭ.‬ ‫• ﺍﻷﻤﺭ ).. ‪:(cd‬‬ ‫ﻭﻫﻭ ﻴﺴﺘﺨﺩﻡ ﻟﻺﻨﺘﻘﺎل ﺇﻟﻰ ﺍﻟﺩﻟﻴل ﺍﻟﺫﻱ ﻴﻌﻠﻭ ﺍﻟﺩﻟﻴل ﺍﻟﺤﺎﻟﻲ. ﻭﺃﻋﺘﻘﺩ ﺃﻥ ﻫﺫﺍ ﺍﻷﻤﺭ‬ ‫ﻤﻌﺭﻭﻑ ﻟﺩﻯ ﻤﺴﺘﺨﺩﻤﻲ ﺍﻟﺩﻭﺱ ﺃﻭ ﺍﻟﻠﻴﻨﻭﻜﺱ. ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬ ‫.. ‪ftp> cd‬‬ ‫.. ‪---> CWD‬‬ ‫• ﺍﻷﻤﺭ )‪:(pwd‬‬
  • 4. ‫ﻭﻴﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻟﻠﻌﺭﺽ ﺍﻟﻤﺴﺎﺭ ﺍﻟﻤﺘﻭﺍﺠﺩ ﻋﻠﻴﻪ ﺤﺎﻟﻴﺎ ﻤﺜل:‬ ‫ﹰ‬ ‫‪ftp> pwd‬‬ ‫‪---> XPWD‬‬ ‫• ﺍﻷﻤﺭ )‪:(ASCII‬‬ ‫ﻭﻫﺫﺍ ﺍﻷﻤﺭ ﻟﺘﺤﺩﻴﺩ ﻨﻭﻉ ﺍﻟﻤﻠﻑ ﺍﻟﻤﺭﺴل ﻭﻴﺴﺘﺨﺩﻡ ﻋﺎﺩﺓ ﺍﻟﻨﻭﻉ )‪ (ASCII‬ﺇﺫﺍ ﻜﺎﻥ‬ ‫ﺍﻟﻤﻠﻑ ﺍﻟﺫﻱ ﺘﺭﻴﺩ ﻨﻘﻠﻪ ﻫﻭ ﻤﻠﻑ ﻨﺼﻲ .ﻓﻼﺒﺩ ﺃﻥ ﻴﻜﻭﻥ ﻨﻭﻉ ﺍﻟﻨﻘل ﻫﻭ )‪ASCII‬‬ ‫(.ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬ ‫‪ftp> ascii‬‬ ‫‪---> TYPE A‬‬ ‫ﻻﺤﻅ ﺃﻥ ﺍﻷﻤﺭ ﺍﻟﻤﺭﺴل ﻤﻥ ﺃﺠﻬﺯﺘﻨﺎ ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻫﻭ ﺍﻷﻤﺭ )‪.(TYPE A‬‬ ‫• ﺍﻷﻤﺭ )‪:(binary‬‬ ‫ﻭﻫﺫﺍ ﺍﻷﻤﺭ ﺃﻴﻀﺎ ﻴﺴﺘﺨﺩﻡ ﻟﺘﺤﺩﻴﺩ ﻨﻭﻉ ﺍﻟﻤﻠﻑ ﺍﻟﻤﺭﺴل ﻭﻴﺴﺘﺨﺩﻡ ﻋﺎﺩﺓ ﺍﻟﻨﻭﻉ )‬ ‫ﹰ‬ ‫ﹰ‬ ‫‪ (binary‬ﻤﻊ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﻤﻀﻐﻭﻁﺔ ﻭﺍﻟﺒﺭﺍﻤﺞ ﺍﻟﺘﻁﺒﻴﻘﻴﺔ ﻭﺍﻟﺼﻭﺭ.ﻭﻋﻨﺩ ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ‬ ‫ﺍﻷﻤﺭ ﻴﺭﺴل ﻟﻠﺴﻴﺭﻓﺭ ﺍﻷﻤﺭ )‪ (TYPE I‬ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬ ‫‪ftp> binary‬‬ ‫‪---> TYPE I‬‬ ‫• ﺍﻷﻤﺭ )‪:(dir‬‬ ‫ﻭﻴﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻋﺎﺩﺓ ﻟﺴﺭﺩ ﻤﺤﺘﻭﻴﺎﺕ ﺩﻟﻴل ﻤﺎ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻭﻓﻲ ﺤﻘﻴﻘﺔ ﺍﻷﻤﺭ‬ ‫ﹰ‬ ‫ﺃﻨﻪ ﻋﻨﺩﻤﺎ ﻨﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻓﺈﻨﻪ ﻴﺭﺴل ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﺃﻤﺭﻴﻥ ﻭﻟﻴﺱ ﺃﻤﺭ ﻭﺍﺤﺩ ﻜﻤﺎ‬ ‫ﻜﺘﺒﻨﺎ ﻨﺤﻥ ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬ ‫‪ftp> dir‬‬ ‫62,4,1,0,0,721 ‪---> PORT‬‬ ‫‪200 PORT command okay‬‬ ‫‪---> LIST‬‬ ‫.‪150 File Listing Follows in ASCII mode‬‬ ‫13 ‪total‬‬ ‫‪drwxrwxrwx 1 noone nogroup‬‬ ‫‪0 Jul 31 16:26 bin‬‬ ‫‪-rwxrwxrwx 1 noone nogroup‬‬ ‫‪5243 Mar 24 2001 dmlogo.gif‬‬ ‫‪drwxrwxrwx 1 noone nogroup‬‬ ‫‪0 Jul 31 16:25 html‬‬ ‫‪drwxrwxrwx 1 noone nogroup‬‬ ‫‪0 Jul 31 16:25 include‬‬ ‫‪drwxrwxrwx 1 noone nogroup‬‬ ‫‪0 Jul 31 16:26 lib‬‬ ‫‪-rwxrwxrwx 1 noone nogroup‬‬ ‫‪2483 Feb 6 02:01 license.txt‬‬ ‫‪-rwxrwxrwx 1 noone nogroup‬‬ ‫‪2279 Mar 17 16:46 readme.html‬‬ ‫‪-rwxrwxrwx 1 noone nogroup‬‬ ‫‪1544 Jan 29 2002 readme.txt‬‬ ‫‪drwxrwxrwx 1 noone nogroup‬‬ ‫‪0 Jul 31 16:26 stl‬‬ ‫‪-rwxrwxrwx 1 noone nogroup‬‬ ‫928‪40 Aug 30 2001 v‬‬ ‫ﻻﺤﻅ ﺃﻨﻪ ﻋﻨﺩﻤﺎ ﺇﺴﺘﺨﺩﻤﻨﺎ ﺍﻷﻤﺭ )‪ (dir‬ﺘﻡ ﺇﺭﺴﺎل ﺍﻷﻤﺭ )‪ (port‬ﻟﻠﺴﻴﺭﻓﺭ ﻭﺫﻟﻙ‬ ‫ﺤﺘﻰ ﻴﺘﻡ ﻓﺘﺢ ﺇﺘﺼﺎل ﻟﻨﻘل ﺍﻟﺒﻴﺎﻨﺎﺕ ﺤﻴﺙ ﺃﻥ ﺍﻟﺴﺭﺩ ﻴﻌﺭﺽ ﺩﺍﺌﻤﺎ ﻋﻠﻰ ﺇﺘﺼﺎل ﻨﻘل‬ ‫ﹰ‬ ‫ﺍﻟﺒﻴﺎﻨﺎﺕ. ﺜﻡ ﺒﻌﺩ ﺘﺤﺩﻴﺩ ﺍﻟﻤﻨﻔﺫ ﺍﻟﺨﺎﺹ ﺒﺈﺘﺼﺎل ﻨﻘل ﺍﻟﺒﻴﺎﻨﺎﺕ ﻴﺘﻡ ﺇﺭﺴﺎل ﺍﻷﻤﺭ )‪list‬‬ ‫( ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻭﺫﻟﻙ ﻟﻜﻲ ﻴﻌﺭﺽ ﻤﺤﺘﻭﻴﺎﺕ ﺍﻟﺩﻟﻴل.ﻭﻴﻭﺠﺩ ﺃﻴﻀﺎ ﻫﻨﺎﻙ ﺃﻤﺭ ﻴﻘﻭﻡ‬ ‫ﹰ‬
  • 5. ‫ﺒﻨﻔﺱ ﻤﻬﻤﺔ ﺍﻷﻤﺭ )‪ (dir‬ﻭﻫﻭ ﺍﻷﻤﺭ )‪ (ls‬ﻭﻟﻙ ﺤﺭﻴﺔ ﺍﻹﺨﺘﻴﺎﺭ ﻓﻲ ﻓﻲ ﺇﺴﺘﻌﻤﺎل ﺃﻱ‬ ‫ﻤﻨﻬﻤﺎ . ﻭﺃﻋﺘﻘﺩ ﺃﻨﻙ ﺇﺫﺍ ﻜﻨﺕ ﻤﻥ ﻤﺴﺘﺨﺩﻤﻴﻥ ﻨﻅﺎﻡ ﺍﻟﺘﺸﻐﻴل ﺩﻭﺱ ﻓﺈﻨﻙ ﺴﻭﻑ‬ ‫ﺘﺴﺘﺨﺩﻡ ﺍﻷﻤﺭ )‪ (dir‬ﺃﻤﺎ ﺇﺫﺍ ﻜﻨﺕ ﻤﻥ ﻤﺴﺘﺨﺩﻤﻲ ﺃﻨﻅﻤﺔ ﺍﻟﻴﻭﻨﻜﺱ ﻓﺈﻨﻪ ﻤﻥ ﺍﻟﻤﺅﻜﺩ‬ ‫ﺃﻨﻙ ﺴﻭﻑ ﺘﺨﺘﺎﺭ ﺍﻷﻤﺭ )‪.(ls‬‬ ‫• ﺍﻷﻤﺭ )‪:(mkdir‬‬ ‫ﻭﻴﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻹﻨﺸﺎﺀ ﻤﺠﻠﺩ ﺠﺩﻴﺩ ﻋﻠﻰ ﺍﻟﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ )‪ .(server‬ﻭﻋﻨﺩ‬ ‫ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻓﺈﻥ ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل ﺴﻭﻑ ﻴﺭﺴل ﺍﻷﻤﺭ )‪ .(XMKD‬ﻻﺤﻅ ﺍﻟﻤﺜﺎل‬ ‫ﺍﻟ ﺘ ﺎ ﻟ ﻲ:‬ ‫1‪ftp> mkdir dir‬‬ ‫1‪---> XMKD dir‬‬ ‫ﺤﻴﺙ ﻫﻨﺎ ﺃﻥ ﺇﺴﻡ ﺍﻟﻤﺠﻠﺩ ﻫﻭ )1‪.(dir‬‬ ‫• ﺍﻷﻤﺭ )‪:(rmdir‬‬ ‫ﻭﻴﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻟﺤﺫﻑ ﻤﻠﻑ ﻤﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ . ﻭﻋﻨﺩ ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻓﺈﻥ‬ ‫ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل ﺴﻴﺭﺴل ﺍﻷﻤﺭ )‪.(XRMD‬ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬ ‫1‪ftp> rmdir dir‬‬ ‫1‪---> XRMD dir‬‬ ‫ﺤﻴﺙ ﺃﻥ ﺇﺴﻡ ﺍﻟﻤﺠﻠﺩ ﺍﻟﻤﺭﺍﺩ ﺤﺫﻓﻪ ﻫﻭ )1‪.(dir‬‬ ‫• ﺍﻷﻤﺭ )‪:(rename‬‬ ‫ﻭﻴﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻹﻋﺎﺩﺓ ﺘﺴﻤﻴﺔ ﺍﻷﺩﻟﺔ ﻭﺍﻟﻤﻠﻔﺎﺕ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ .ﻭﻋﻨﺩ ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ‬ ‫ﺍﻷﻤﺭ ﻓﺈﻨﻪ ﻴﺭﺴل ﺃﻤﺭﻴﻥ ﻤﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬ ‫1‪ftp> rename dir dir‬‬ ‫‪---> RNFR dir‬‬ ‫...‪350 Enter the name to rename it to‬‬ ‫1‪---> RNTO dir‬‬ ‫ﻻﺤﻅ ﺃﻥ )‪ (dir‬ﻫﻭ ﺍﺴﻡ ﺍﻟﺩﻟﻴل ﺍﻟﺤﺎﻟﻲ ﺃﻤﺎ )1‪ (dir‬ﻓﻬﻭ ﺇﺴﻡ ﺍﻟﺩﻟﻴل ﺍﻟﺫﻱ ﺴﺘﻐﻴﺭ ﺍﺴﻡ‬ ‫ﺍﻟﺩﻟﻴل ﺇﻟﻴﻪ.ﻭﻜﻤﺎ ﻗﻠﻨﺎ ﺴﺎﺒﻘﺎ ﺃﻥ ﻫﺫﺍ ﺍﻷﻤﺭ ﻴﺭﺴل ﺃﻤﺭﻴﻥ ﻭﻫﻤﺎ )‪ (RNFR‬ﻭﻫﻲ‬ ‫ﹰ‬ ‫ﺇﺨﺘﺼﺎﺭ )‪ (rename from‬ﺃﻱ ﺃﻋﺩ ﺘﺴﻤﻴﺔ ﻫﺫﺍ ﺍﻟﺩﻟﻴل ﻤﻥ ﻫﺫﺍ ﺍﻻﺴﻡ ﺇﻟﻰ ﺍﻟﺫﻱ‬ ‫ﺴﻴﺭﺴﻠﻪ ﺍﻷﻤﺭ )‪. (RNTO‬‬ ‫• ﺍﻷﻤﺭ )‪:(get‬‬ ‫ﻭﻫﺫﺍ ﺍﻷﻤﺭ ﻴﺴﺘﺨﺩﻡ ﻷﺨﺫ ﻤﻠﻑ ﻤﻌﻴﻥ ﻤﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ . ﻭﻋﻨﺩ ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ‬ ‫ﺍﻷﻤﺭ ﺴﻭﻑ ﻴﺭﺴل ﺃﻤﺭﻴﻥ ﺍﻷﻭل ﻫﻭ ﺍﻷﻤﺭ )‪ (PORT‬ﻭﺫﻟﻙ ﻟﺘﺤﺩﻴﺩ ﺍﻟﺒﻭﺭﺕ‬ ‫ﺍﻟﺫﻱ ﺴﻭﻑ ﻴﻔﺘﺢ ﻤﻥ ﺨﻼﻟﻪ ﺇﺘﺼﺎل ﻨﻘل ﺍﻟﺒﻴﺎﻨﺎﺕ. ﺃﻤﺎ ﺍﻷﻤﺭ ﺍﻵﺨﺭ ﻓﻬﻡ ﺍﻷﻤﺭ )‬ ‫‪ (RETR‬ﻭﻫﻭ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﻴﺨﺒﺭ ﺍﻟﺴﻴﺭﻓﺭ ﺃﻥ ﻴﺠﻠﺏ ﺍﻟﻤﻠﻑ ﺍﻟﻤﻌﻴﻥ.ﻻﺤﻅ ﺍﻟﻤﺜﺎل‬ ‫ﺍﻟ ﺘ ﺎ ﻟ ﻲ:‬ ‫‪ftp> GET TEXT11.TXT‬‬ ‫51,4,1,0,0,721 ‪---> PORT‬‬ ‫‪200 PORT command okay‬‬
  • 6. ‫‪---> RETR TEXT11.TXT‬‬ ‫ﻭﻴﻭﺠﺩ ﻫﻨﺎﻙ ﺃﻤﺭ ﺁﺨﺭ ﻴﻘﻭﻡ ﺒﻨﻔﺱ ﺍﻟﻤﻬﻤﺔ ﻭﻫﻭ ﺍﻷﻤﺭ )‪ .(recv‬ﺃﻤﺎ ﺇﺫﺍ ﻜﻨﺕ ﺘﺭﻴﺩ ﺃﻥ‬ ‫ﺘﻨﻘل ﺃﻜﺜﺭ ﻤﻥ ﻤﻠﻑ ﻓﻲ ﻭﻗﺕ ﻭﺍﺤﺩ ﻓﺈﻨﻪ ﻴﻤﻜﻨﻙ ﺇﺴﺘﺨﺩﺍﻡ ﺍﻷﻤﺭ )‪ (mget‬ﺤﻴﺙ ﺃﻨﻪ‬ ‫ﻋﻨﺩ ﻨﻘل ﻜل ﻤﻠﻑ ﺴﻭﻑ ﻴﺘﻡ ﻓﺘﺢ ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﺠﺩﻴﺩ، ﻭﺴﻭﻑ ﻨﻼﺤﻅ ﺃﻤﺜﻠﺔ ﻟﻬﺫﺍ‬ ‫ﺍﻷﻤﺭ ﻓﻲ ﻓﻘﺭﺓ ﺍﻷﻤﺜﻠﺔ ﻋﻠﻰ ﺍﻟﺒﺭﻭﺘﻭﻜﻭل.‬ ‫• ﺍﻷﻤﺭ )‪:(put‬‬ ‫ﻭﻴﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻟﻭﻀﻊ ﻤﻠﻑ ﻤﻌﻴﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ . ﺃﻱ ﺃﻨﻪ ﻴﺘﻡ ﺃﺨﺫ ﻨﺴﺨﺔ ﻤﻥ‬ ‫ﺍﻟﻤﻠﻑ ﺍﻟﻤﻭﺠﻭﺩ ﻋﻠﻰ ﺠﻬﺎﺯﻙ ﻭﻭﻀﻌﻬﺎ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ. ﻭﻋﻨﺩ ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ ﺍﻷﻤﺭ‬ ‫ﺴﻭﻑ ﻴﺭﺴل ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﺃﻤﺭﻴﻥ ﻭﻫﻤﺎ )‪ (PORT‬ﻭﺫﻟﻙ ﻟﻔﺘﺢ ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ، ﺃﻤﺎ‬ ‫ﺍﻷﻤﺭ ﺍﻵﺨﺭ ﻓﻬﻭ ﺍﻷﻤﺭ )‪ .(STOR‬ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬ ‫‪ftp> put text11.txt‬‬ ‫81,4,1,0,0,721 ‪---> PORT‬‬ ‫‪200 PORT command okay‬‬ ‫‪---> STOR text11.txt‬‬ ‫ﻭﻫﻨﺎﻙ ﺃﻤﺭ ﺁﺨﺭ ﻴﻘﻭﻡ ﺒﻨﻔﺱ ﺍﻟﻤﻬﻤﺔ ﻭﻫﻭ ﺍﻷﻤﺭ )‪.(send‬ﺃﻤﺎ ﺇﺫﺍ ﻜﻨﺕ ﺘﺭﻴﺩ ﺃﻥ ﺘﻀﻊ‬ ‫ﺃﻜﺜﺭ ﻤﻥ ﻤﻑ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻓﻲ ﻭﻗﺕ ﻭﺍﺤﺩ ﻓﺈﻨﻪ ﻴﻤﻜﻨﻙ ﻤﻥ ﺇﺴﺘﺨﺩﺍﻡ ﺍﻷﻤﺭ )‪mput‬‬ ‫(ﺤﻴﺙ ﺃﻨﻪ ﻋﻨﺩ ﺘﺤﻤﻲ ﻜل ﻤﻠﻑ ﺴﻭﻑ ﻴﻔﺘﺢ ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﺠﺩﻴﺩ، ﻭﺴﻭﻑ ﻨﺭﻯ ﺃﻤﺜﻠﺔ‬ ‫ﻫﺫﺍ ﺍﻷﻤﺭ ﻓﻲ ﻓﻘﺭﺓ ﺍﻷﻤﺜﻠﺔ.‬ ‫• ﺍﻷﻤﺭ )‪: (open‬‬ ‫ﻭﻫﻭ ﻴﺴﺘﺨﺩﻡ ﻹﻨﺸﺎﺀ ﺇﺘﺼﺎل ﺠﺩﻴﺩ ﻭﻴﺴﺘﺨﺩﻡ ﻋﻠﻰ ﺍﻟﺼﻭﺭﺓ ﺍﻟﺘﺎﻟﻴﺔ:‬ ‫‪ftp> open server_name‬‬ ‫ﺤﻴﺙ ﺃﻥ )‪ (server_name‬ﻫﻭ ﺇﺴﻡ ﺍﻟﺴﻴﺭﻓﺭ ﺍﻟﺫﻱ ﺘﺭﻴﺩ ﺍﻹﺘﺼﺎل ﺒﻪ.‬ ‫• ﺍﻷﻤﺭ )‪:(close‬‬ ‫ﻭﻫﻭ ﻴﺴﺘﺨﺩﻡ ﻹﻨﻬﺎﺀ ﺇﺘﺼﺎﻟﻙ ﻤﻊ ﺍﻟﺴﻴﺭﻓﺭ ﻭﻴﺴﺘﺨﺩﻡ ﻋﻠﻰ ﺍﻟﺼﻭﺭﺓ:‬ ‫‪ftp> close‬‬ ‫ﻭﻴﻭﺠﺩ ﺃﻴﻀﺎ ﺍﻷﻤﺭ )‪ (disconnect‬ﺍﻟﺫﻱ ﻴﻘﻭﻡ ﺒﻨﻔﺱ ﺍﻟﻤﻬﻤﺔ.‬ ‫ﹰ‬ ‫• ﺍﻷﻤﺭ )‪:(bye‬‬ ‫ﻭﻴﺴﺘﺨﺩﻡ ﻫﺫﺍ ﺍﻷﻤﺭ ﻹﻨﻬﺎﺀ ﺇﺘﺼﺎﻟﻙ ﻤﻊ ﺍﻟﺴﻴﺭﻓﺭ ﻭﺇﺭﺠﺎﻋﻙ ﻟﻤﻭﺠﺔ ﺍﻟﺩﻭﺱ ﻭﻟﻴﺱ ﺇﻟﻰ‬ ‫ﻤﻭﺠﺔ )‪ .(ftp‬ﻭﻫﺫﺍ ﺍﻟﻔﺭﻕ ﺒﻴﻨﻪ ﻭﺒﻴﻥ ﺍﻷﻤﺭ )‪.(close‬ﻭﻴﺴﺘﺨﺩﻡ ﻋﻠﻰ ﺍﻟﺼﻭﺭﺓ‬ ‫ﺍﻟ ﺘ ﺎ ﻟ ﻴﺔ:‬ ‫‪ftp> bye‬‬ ‫‪---> QUIT‬‬ ‫ﻭﻴﻭﺠﺩ ﻫﻨﺎﻙ ﺃﻴﻀﺎ ﺒﻌﺽ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﻲ ﻟﻡ ﻴﺘﻡ ﻤﻨﺎﻗﺸﺘﻬﺎ ﻫﻨﺎ ﻭﻴﻤﻜﻨﻙ ﻤﻌﺭﻓﺔ ﻫﺫﻩ‬ ‫ﹰ‬ ‫ﺍﻷﻭﺍﻤﺭ ﻤﻥ ﺨﻼل ﺇﺴﺘﺨﺩﺍﻡ ﺍﻷﻤﺭ )‪ (help‬ﻋﻨﺩ ﻤﻭﺠﺔ ﺍل)‪ .(ftp‬ﻋﻠﻰ ﺍﻟﺼﻭﺭﺓ‬ ‫ﺍﻟ ﺘ ﺎ ﻟ ﻴﺔ:‬ ‫‪ftp> help‬‬ ‫:‪Commands may be abbreviated. Commands are‬‬
  • 7. ‫!‬ ‫‪delete‬‬ ‫‪literal‬‬ ‫‪prompt‬‬ ‫‪send‬‬ ‫?‬ ‫‪debug‬‬ ‫‪ls‬‬ ‫‪put‬‬ ‫‪status‬‬ ‫‪append‬‬ ‫‪dir‬‬ ‫‪mdelete‬‬ ‫‪pwd‬‬ ‫‪trace‬‬ ‫‪ascii‬‬ ‫‪disconnect‬‬ ‫‪mdir‬‬ ‫‪quit‬‬ ‫‪type‬‬ ‫‪bell‬‬ ‫‪get‬‬ ‫‪mget‬‬ ‫‪quote‬‬ ‫‪user‬‬ ‫‪binary‬‬ ‫‪glob‬‬ ‫‪mkdir‬‬ ‫‪recv‬‬ ‫‪verbose‬‬ ‫‪bye‬‬ ‫‪hash‬‬ ‫‪mls‬‬ ‫‪remotehelp‬‬ ‫‪cd‬‬ ‫‪help‬‬ ‫‪mput‬‬ ‫‪rename‬‬ ‫‪close‬‬ ‫‪lcd‬‬ ‫‪open‬‬ ‫‪rmdir‬‬ ‫ﻭﻟﺭﺅﻴﺔ ﻭﻅﻴﻔﺔ ﻜل ﺃﻤﺭ ﺇﺴﺘﺨﺩﻡ ﺍﻷﻤﺭ :‬ ‫‪ftp>? Command‬‬ ‫ﺤﻴﺙ ﺃﻥ )‪ (command‬ﻫﻭ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﺘﺭﻴﺩ ﺍﻹﺴﺘﻌﻼﻡ ﻋﻨﻪ.‬ ‫• ﻓﻬﻡ ﺍﻷﻜﻭﺍﺩ ﺍﻟﺭﻗﻤﻴﺔ ﺍﻟﺘﻲ ﻴﺼﺩﺭﻫﺎ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﺃﺜﻨﺎﺀ ﻋﻤﻠﻴﺔ ﺇﺭﺴﺎل‬ ‫ﻭﺇﺴﺘﻘﺒﺎل ﺍﻷﻭﺍﻤﺭ.‬ ‫ﻋﻨﺩﻤﺎ ﻴﺭﺴل ﺍﻟﻤﺴﺘﺨﺩﻡ ﺃﻤﺭﺍ ﻤﺎ ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻓﺈﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻻﺒﺩ ﺃﻥ ﻴﺭﺩ ﻋﻠﻰ‬ ‫ﹰ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ ﺒﻤﺎ ﻗﺩ ﻓﻌل ﺍﻟﺴﻴﺭﻓﺭ ﻭﻴﺘﻜﻭﻥ ﻫﺫﺍ ﺍﻟﺭﺩ ﻋﺎﺩﺓ ﻤﻥ ﻜﻭﺩ ﺭﻗﻤﻲ ﻤﻜﻭﻥ ﻤﻥ‬ ‫ﹰ‬ ‫ﺜﻼﺜﺔ ﺨﺎﻨﺎﺕ ﺤﻴﺙ ﺃﻥ ﺍﻟﺨﺎﻨﺔ ﺍﻷﻭﻟﻰ ﻴﻜﻭﻥ ﺃﺼﻐﺭ ﺭﻗﻡ ﻤﺤﺘﻤل ﻓﻲ ﻫﺫﻩ ﺍﻟﺨﺎﻨﺔ ﻫﻭ )‬ ‫1( ﺃﻤﺎ ﺃﻜﺒﺭ ﻋﺩﺩ ﻓﻬﻭ )5(. ﺃﻤﺎ ﺍﻟﺨﺎﻨﺔ ﺍﻟﺜﺎﻨﻴﺔ ﻭﺍﻟﺜﺎﻟﺜﺔ ﻓﺄﻗل ﻋﺩﺩ ﻫﻭ )0( ﻭﺃﻜﺒﺭ ﻋﺩﺩ‬ ‫ﻫﻭ )5(.ﻭﻜل ﺨﺎﻨﺔ ﻓﻲ ﻫﺫﺍ ﺍﻟﻜﻭﺩ ﺍﻟﺭﻗﻤﻲ ﻟﻬﺎ ﻤﻌﻨﻰ ﻭﺍﻟﺠﺩﻭل ﺍﻟﺘﺎﻟﻲ ﻴﺒﻴﻥ ﻤﻌﺎﻨﻲ ﻫﺫﻩ‬ ‫ﺍﻟﺸﻔﺭﺍﺕ:‬ ‫ﻤﺜﺎل‬ ‫ﺸﺭﺤﻬﺎ‬ ‫ﺍﻟﻜﻭﺩ‬ ‫521‬ ‫--1 ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﺒﺩﺍﻴﺔ ﻓﺈﻨﻪ ﻴﺭﻤﺯ ‪data‬‬ ‫ﺇﻟﻰ ﺃﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻴﻘﻭﻡ ﺒﻌﻤل ﻤﺎ ﻭﻟﻜﻥ‬ ‫‪connection‬‬ ‫ﻻﺘﺴﺘﻁﻴﻊ ﺃﻨﺕ ﺃﻥ ﺘﺩﺨل ﺃﻤﺭ ﺁﺨﺭ ﺤﺘﻰ ;‪open‬‬ ‫‪already‬‬ ‫ﻴﻨﺘﻬﻲ ﻤﻥ ﻫﺫﺍ ﺍﻷﻤﺭ .‬ ‫.‪transfer string‬‬ ‫--2 ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﺒﺩﺍﻴﺔ ﻓﺈﻨﻪ ﻴﺭﻤﺯ .‪200 command ok‬‬ ‫ﺇﻟﻰ ﺃﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻗﺎﻡ ﺒﻌﻤل ﻤﺎ ﻭﺘﺴﺘﻁﻴﻊ ﺃﻥ‬ ‫ﺘﺭﺴل ﺃﻤﺭﺍ ﺁﺨﺭ ﻟﻴﺘﻡ ﺘﻨﻔﻴﺫﻩ.‬ ‫ﹰ‬ ‫--3 ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﺒﺩﺍﻴﺔ ﻓﺈﻨﻪ ﻴﺭﻤﺯ ‪331 Give me your‬‬ ‫ﺃﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻗﺩ ﻗﺒل ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﺃﺩﺨﻠﺘﻪ ‪password, please‬‬ ‫ﻭﻟﻜﻨﻪ ﻴﺤﺘﺎﺝ ﺇﻟﻰ ﺃﻤﺭ ﺁﺨﺭ ﺤﺘﻰ ﻴﺘﻡ ﺇﻜﻤﺎ‬ ‫ﻋﻤﻠﻪ ﻭﻏﺎﻟﺒﺎ ﻤﺎ ﻴﺭﻯ ﻤﺜل ﻫﺫﺍ ﺍﻟﻜﻭﺩ ﻋﻨﺩﻤﺎ‬ ‫ﹰ‬ ‫ﻴﺩﺨل ﺍﻟﻤﺴﺘﺨﺩﻡ ﺍﺴﻡ ﺍﻟﻤﺴﺘﺨﺩﻡ ﺍﻟﺨﺎﺹ ﺒﻪ‬ ‫ﻓﺈﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻻﻴﺴﺘﻁﻴﻊ ﺃﻥ ﻴﻜﻤل ﺤﺘﻰ ﻴﺘﻡ‬ ‫ﺇﺭﺴﺎل ﻜﻠﻤﺔ ﺍﻟﺴﺭ.‬ ‫--4 ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﺒﺩﺍﻴﺔ ﻓﺈﻨﻪ ﻴﺭﻤﺯ ‪425 can`t open‬‬
  • 8. ‫.‪data connection‬‬ ‫ﺇﻟﻰ ﺃﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻴﻘﺒل ﻫﺫﺍ ﺍﻷﻤﺭ ﻭﻟﻜﻨﻙ ﻻ‬ ‫ﺘﺴﺘﻁﻴﻊ ﺘﻨﻔﻴﺫﻩ ﺤﺎﻟﻴﺎ. ﻭﻟﻜﻥ ﻴﻤﻜﻨﻙ ﺘﻨﻔﻴﺫﻩ‬ ‫ﹰ‬ ‫ﻓﻲ ﻭﻗﺕ ﻻﺤﻕ.‬ ‫‪500 Unidentified‬‬ ‫--5 ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﺒﺩﺍﻴﺔ ﻓﺈﻨﻪ ﻴﺭﻤﺯ‬ ‫ﺇﻟﻰ ﺃﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻻﻴﻘﺒل ﺒﻬﺫﺍ ﺍﻷﻤﺭ ﻭﺘﺭﻯ‬ ‫‪command hello‬‬ ‫ﻋﺎﺩﺓ ﻫﺫﺍ ﺍﻟﻨﻭﻉ ﻤﻥ ﺍﻟﺭﺴﺎﺌل ﻋﻨﺩﻤﺎ ﻴﻜﻭﻥ‬ ‫ﺍﻷﻤﺭ ﺍﻟﻤﺭﺴل ﻻ ﻴﻌﻤل ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﺃﻭ‬ ‫ﺃﻥ ﻫﺫﺍ ﺍﻷﻤﺭ ﻻ ﻴﻌﻤل ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ. ﻜﻤﺎ‬ ‫ﺴﺘﻼﺤﻅ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ ﻋﻨﺩﻤﺎ ﺃﺭﺴﻠﻨﺎ‬ ‫ﺃﻤﺭﺍ ﻏﻴﺭ ﺼﺤﻴﺢ ﻭﻫﻭ )‪.(hello‬‬ ‫ﹰ‬ ‫‪500 Unidentified‬‬ ‫-0- ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﻤﻨﺘﺼﻑ ﻓﺈﻨﻪ‬ ‫ﻴﺭﻤﺯ ﺇﻟﻰ ﺃﻨﻪ ﻫﻨﺎﻙ ﺨﻁﺄ ﻓﻲ ﺍﻷﻤﺭ‬ ‫‪command hello‬‬ ‫ﺍﻟﻤﺭﺴل.‬ ‫‪214-The following‬‬ ‫-1- ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﻤﻨﺘﺼﻑ ﻓﺈﻨﻪ‬ ‫ﻴﺭﻤﺯ ﺇﻟﻰ ﺃﻥ ﻫﺫﻩ ﺍﻟﺭﺴﺎﻟﺔ ﻫﻲ ﻋﺒﺎﺭﺓ ﻋﻥ‬ ‫‪commands‬‬ ‫‪are‬‬ ‫ﺭﺴﺎﻟﺔ ﻟﻠﻤﺴﺎﻋﺩﺓ.‬ ‫‪recognized‬‬ ‫*(‬ ‫‪=>'s‬‬ ‫.)‪unimplemented‬‬ ‫521‬ ‫‪data‬‬ ‫-2- ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﻤﻨﺘﺼﻑ ﻓﺈﻨﻪ‬ ‫ﻴﺭﻤﺯ ﺇﻟﻰ ﺃﻥ ﻫﺫﺍ ﺍﻟﺭﺩ ﻤﺘﻌﻠﻕ ﺒﺎﻹﺘﺼﺎﻻﺕ‬ ‫‪connection‬‬ ‫ﻤﺜﻼ ﺇﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ ﺃﻭ ﺇﺘﺼﺎل ﺍﻟﺘﺤﻜﻡ.‬ ‫ﹰ‬ ‫‪already‬‬ ‫;‪open‬‬ ‫.‪transfer string‬‬ ‫‪331 Give me your‬‬ ‫-3- ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﻤﻨﺘﺼﻑ ﻓﺈﻨﻪ‬ ‫ﻴﺭﻤﺯ ﺇﻟﻰ ﺘﺼﺎﺭﻴﺢ ﺍﻟﺩﺨﻭل ﻟﻠﺴﻴﺭﻓﺭ ﺃﻭ‬ ‫‪password, please‬‬ ‫ﻤﻠﻑ ﻤﺎ. ﺃﻱ ﺃﻥ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻤﺴﺅﺅل ﻋﻥ‬ ‫ﺍﻟﺘﺼﺎﺭﻴﺢ.‬ ‫-4- ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﻤﻨﺘﺼﻑ ﻓﺈﻨﻪ ﻻ ﻴﻭﺠﺩ ﻤﺜﺎل ﻭﺫﻟﻙ ﻟﻘﻠﺔ‬ ‫ﻴﺭﻤﺯ ﺇﻟﻰ ﺸﻲﺀ ﻏﻴﺭ ﻤﺤﺩﺩ ﻭﺍﻟﺼﺭﺍﺤﺔ ﻟﻡ ﻭﺠﻭﺩ ﻫﺫﺍ ﺍﻹﺤﺘﻤﺎل.‬ ‫ﺘﻤﺭ ﻋﻠﻲ ﺃﺤﺩ ﻫﺫﻩ ﺍﻟﺤﺎﻻﺕ.‬ ‫051‬ ‫-5- ﻋﻨﺩﻤﺎ ﻴﺄﺘﻲ ﻫﺫﺍ ﺍﻟﺭﻗﻡ ﻓﻲ ﺍﻟﻤﻨﺘﺼﻑ ﻓﺈﻨﻪ‬ ‫ﻴﺭﻤﺯ ﺇﻟﻰ ﺤﺎﻟﺔ ﻤﻠﻔﺎﺕ ﺍﻟﻨﻅﺎﻡ. ﻭﺘﺭﻯ ﻋﺎﺩﺓ ‪quot;C:/text11.txtquot; file‬‬ ‫ﻫﺫﻩ ﺍﻟﻨﻭﻉ ﻤﻥ ﺍﻟﺭﺴﺎﺌل ﻓﻲ ﺤﺎﻟﺔ ﻨﻘل ‪ready to receive in‬‬ ‫ﻭﺘﺨﺯﻴﻥ ﺍﻟﻤﻠﻔﺎﺕ.‬ ‫‪ASCII mode‬‬ ‫ﺃﻤﺎ ﺍﻟﺨﺎﻨﺔ ﺍﻟﺜﺎﻟﺜﺔ ﻤﻥ ﺍﻟﺭﺩ ﻓﻬﻲ ﺘﻌﻁﻲ ﺃﻜﺜﺭ ﺘﻭﻀﻴﺤﺎ ﻟﻤﻌﻨﻰ ﺍﻟﺭﺩ.‬ ‫ﹰ‬
  • 9. ‫• ﻜﻴﻑ ﻴﺘﻡ ﺍﻹﺘﺼﺎل ﺒﻴﻥ ﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ )‪ (server‬ﻭﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل )‪.(client‬‬ ‫ﻋﻨﺩﻤﺎ ﻴﻬﻴﺊ ﺠﻬﺎﺯ ﻤﺎ ﻋﻠﻰ ﺃﻨﻪ ﻴﻌﻤل ﻜﺨﺎﺩﻡ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ )‪(ftp server‬‬ ‫ﻓﺈﻨﻪ ﻴﺘﻡ ﻓﺘﺢ ﻤﻨﻔﺫ ﻓﻲ ﻫﺫﺍ ﺍﻟﺠﻬﺎﺯ )‪ (sever‬ﺤﺘﻰ ﻴﺘﺴﻨﻰ ﻟﻸﺠﻬﺯﺓ ﺍﻷﺨﺭﻯ ﺍﻹﺘﺼﺎل‬ ‫ﺒﻪ ﻤﻥ ﺨﻼل ﻫﺫﺍ ﺍﻟﻤﻨﻔﺫ ﻭﻴﺴﺘﻤﻊ ﻋﺎﺩﺓ ﺴﻴﺭﻓﺭ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻋﻠﻰ ﺍﻟﻤﻨﻔﺫ )‬ ‫12(. ﻭﻴﺘﻡ ﺍﻹﺘﺼﺎل ﺒﻴﻨﻪ ﻭﺒﻴﻥ ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل ﺒﻁﺭﻴﻘﺔ ﺃﻨﻪ ﻋﻨﺩﻤﺎ ﻴﺘﻡ ﺘﺸﻐﻴل ﺴﻴﺭﻓﺭ‬ ‫ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻓﺈﻨﻪ ﻴﻔﺘﺢ ﺍﻟﺒﻭﺭﺕ )12( ﻭﻴﻨﺘﻅﺭ ﺃﻱ ﺇﺘﺼﺎل ﻗﺎﺩﻡ ﺇﻟﻴﻪ‬ ‫ﻭﻋﻨﺩﻤﺎ ﻴﻘﻭﻡ ﺠﻬﺎﺯ ﺍﻟﻌﻤﻴل ﺒﻁﻠﺏ ﺍﻹﺘﺼﺎل ﺒﺎﻟﺴﻴﺭﻓﺭ ﻓﺈﻨﻪ ﻴﻘﻭﻡ ﺒﺈﺘﻤﺎﻡ ﻫﺫﺍ ﺍﻹﺘﺼﺎل‬ ‫ﻤﺒﺩﺌﻴﺎ ﺤﻴﺙ ﺃﻨﻪ ﺴﻴﻁﻠﺏ ﻤﻨﻪ ﺍﺴﻡ ﺍﻟﻤﺴﺘﺨﺩﻡ ﻭﻜﻠﻤﺔ ﺍﻟﻤﺭﻭﺭ ﺍﻟﺫﻱ ﺘﺼﺭﺡ ﻟﻪ ﺒﺎﻟﺩﺨﻭل‬‫ﹰ‬ ‫ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻓﺈﺫﺍ ﻜﺎﻨﺕ ﺼﺤﻴﺤﺔ ﺃﺘﻡ ﺍﻹﺘﺼﺎل ﻭﺘﺼﺒﺢ ﺤﺎﻟﺔ ﺍﻹﺘﺼﺎل ﻫﻲ )‬ ‫‪ (established‬ﺃﻱ ﺘﻡ ﺍﻹﺘﺼﺎل ﻭﻫﻜﺫﺍ ﻴﺘﻡ ﻋﻤل ﺇﺘﺼﺎل ﺍﻟﺘﺤﻜﻡ ﻭﺍﻟﺫﻱ ﻜﻤﺎ ﻗﻠﻨﺎ ﺃﻨﻪ‬ ‫ﻴﺴﺘﺨﺩﻡ ﻟﻜﻲ ﻴﻜﻭﻥ ﺤﻠﻘﺔ ﻭﺼل ﺒﻴﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻭﺍﻟﻤﺴﺘﺨﺩﻡ . ﻭﻴﺘﻡ ﺇﻨﺸﺎﺀ ﺃﻴﻀﺎ ﺇﺘﺼﺎل‬ ‫ﹰ‬ ‫ﺁﺨﺭ ﻋﻨﺩﻤﺎ ﻴﺘﻡ ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻤﻥ ﻭ ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻭﻴﻌﺭﻑ ﻫﺫﺍ ﺍﻹﺘﺼﺎل ﺒﻤﺎ ﻴﺴﻤﻰ‬ ‫ﺒﺈﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ ﺃﻱ ﺃﻨﻪ ﺨﺎﺹ ﺒﻨﻘل ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻘﻁ ﻭﻫﺫﺍ ﺍﻹﺘﺼﺎل ﻴﻜﻭﻥ ﻤﺅﻗﺕ ﻓﻘﻁ‬ ‫ﹰ‬ ‫ﻟﻔﺘﺭﺓ ﺍﻹﺭﺴﺎل ﻭﻴﻨﺘﻬﻲ ﻤﻬﻤﺘﻪ ﺒﻌﺩ ﺫﻟﻙ ﺒﻌﻜﺱ ﺇﺘﺼﺎل ﺍﻟﺘﺤﻜﻡ ﺍﻟﺫﻱ ﻴﻜﻭﻥ ﻤﺴﺘﻤﺭﺍ‬ ‫ﺃﺜﻨﺎﺀ ﺇﺘﺼﺎﻟﻙ ﺒﺎﻟﺴﻴﺭﻓﺭ. ﻭﻴﺘﻡ ﺇﻨﺸﺎﺀ ﻫﺫﺍ ﺍﻹﺘﺼﺎل ﺒﻁﺭﻴﻘﺔ ﺃﻨﻪ ﻋﻨﺩﻤﺎ ﻤﺜﻼ ﻴﺭﻴﺩ‬ ‫ﹰ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ ﺃﻥ ﻴﺄﺨﺫ ﻤﻠﻔﺎ ﻤﺎ ﻤﻥ ﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ ﻓﺈﻨﻪ ﻴﺭﺴل ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﺍﻷﻤﺭ )‪PORT‬‬ ‫ﹰ‬ ‫( ﻭﺍﻟﺼﻴﻐﺔ ﺍﻟﻌﺎﻤﺔ ﻟﻬﺫﺍ ﺍﻷﻤﺭ ﻫﻭ )6‪ (PORT n1,n2,n3,n4,n5,n‬ﺤﻴﺙ ﺃﻥ )‬ ‫4‪ (n1,n2,n3,n‬ﻫﻭ ﻋﻨﻭﺍﻥ ﺍﻹﻨﺘﺭﻨﺕ ﻟﻙ )ﺍﻻﻴﺒﻲ ﺍﻟﺨﺎﺹ ﺒﻙ( ﺃﻤﺎ )6‪ (n5,n‬ﻫﻭ‬ ‫ﺍﻟﻁﺭﻴﻘﺔ ﺍﻟﺘﻲ ﺴﻭﻑ ﻴﺘﻡ ﻤﻥ ﺨﻼﻟﻬﺎ ﻤﻌﺭﻓﺔ ﺭﻗﻡ ﺍﻟﺒﻭﺭﺕ ﺍﻟﺫﻱ ﺴﻴﻔﺘﺤﻪ ﻫﺫﺍ ﺍﻹﺘﺼﺎل‬ ‫ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ:‬ ‫51,4,1,0,0,721 ‪---> PORT‬‬ ‫ﻻﺤﻅ ﺃﻥ ﺍﻻﻴﺒﻲ ﺍﻟﺨﺎﺹ ﺒﻲ ﻫﻭ )1.0.0.721( ﻭﺫﻟﻙ ﻷﻨﻲ ﺃﻀﻊ ﺴﻴﺭﻓﺭ )‪(ftp‬‬ ‫ﻋﻠﻰ ﺠﻬﺎﺯﻱ ﺍﻟﺨﺎﺹ. ﺃﻤﺎ )51,4( ﻓﻬﻲ ﺨﺎﺼﺔ ﺒﺭﻗﻡ ﺍﻟﺒﻭﺭﺕ ﺍﻟﺫﻱ ﺴﻭﻑ ﻴﻔﺘﺢ ﻓﻲ‬ ‫ﺠﻬﺎﺯﻙ ﻭﻴﺘﻡ ﺤﺴﺎﺏ ﺫﻟﻙ ﻋﻠﻰ ﺍﻟﺼﻭﺭﺓ:‬ ‫51+652*4‬ ‫ﻻﺤﻅ ﺃﻥ ﻨﺎﺘﺞ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻟﺴﺎﺒﻘﺔ ﻫﻭ )9301( ﺇﺫﺍ ﺴﻭﻑ ﻴﺘﻡ ﻓﺘﺢ ﺍﻟﺒﻭﺭﺕ )9301( ﻓﻲ‬ ‫ﹰ‬ ‫ﺠﻬﺎﺯﻙ ﻭﺫﻟﻙ ﺇﺴﺘﻌﺩﺍﺩﺍ ﻟﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ.ﻭﻻﺤﻅ ﺃﻨﻪ ﺴﻭﻑ ﻴﺘﻡ ﻓﺘﺢ ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﺠﺩﻴﺩ‬ ‫ﹰ‬ ‫ﻜﻠﻤﺎ ﺃﺭﺩﺕ ﺃﻥ ﺘﻨﻘل ﻤﻠﻑ ﺁﺨﺭ ﻏﻴﺭ ﺍﻹﺘﺼﺎل ﺍﻟﺴﺎﺒﻕ ﻭﺫﻟﻙ ﻷﻨﻪ ﻋﻨﺩﻤﺎ ﻴﺘﻡ ﺍﻹﻨﺘﻬﺎﺀ‬ ‫ﻤﻥ ﻋﻤﻠﻴﺔ ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻓﺈﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻴﻨﻬﻲ ﻫﺫﺍ ﺍﻹﺘﺼﺎل ﻤﻥ ﺨﻼل ﺍﻟﺒﻭﺭﺕ ﺭﻗﻡ )02‬ ‫( ﻭﻋﺎﺩﺓ ﻴﻨﻬﻲ ﺍﻟﺴﻴﺭﻓﺭ ﺇﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ ﻤﻥ ﺨﻼل ﺍﻟﺒﻭﺭﺕ )02(.‬ ‫ﹰ‬ ‫• ﺒﻌﺽ ﺍﻷﻤﺜﻠﺔ ﻋﻠﻰ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ )‪.(ftp‬‬ ‫ﻤﺜﺎل ١:ﺇﺴﺘﻌﺭﺍﺽ ﻤﺤﺘﻭﻴﺎﺕ ﺩﻟﻴل ﻤﺎ.‬ ‫ﻻﺤﻅ ﺍﻟﻤﺜﺎل ﺍﻷﻭل ﺴﻭﻑ ﻨﺴﺘﻌﺭﺽ ﻓﻘﻁ ﻤﺤﺘﻭﻴﺎﺕ ﺍﻟﺩﻟﻴل ﺍﻟﺭﺌﻴﺴﻲ ﻟﻤﺴﺘﺨﺩﻡ‬ ‫ﻭﻴﻤﻜﻨﻙ ﺘﻁﺒﻴﻕ ﻫﺫﺍ ﺍﻷﻤﺭ ﻋﻠﻰ ﺠﻤﻴﻊ ﺃﺩﻟﺔ ﺍﻟﺴﻴﺭﻓﺭ. ﻻﺤﻅ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ ﺃﻨﻨﺎ ﻗﻤﻨﺎ‬
  • 10. ‫ﺒﺈﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ ﺍﻟﺒﺭﻭﺘﻭﻜﻭل ﻤﻥ ﺨﻼل ﺒﻴﺌﺔ ﺍﻟﻭﻴﻨﺩﻭﺯ )ﺩﻭﺱ( ﻭﻴﻤﻜﻥ ﺘﻁﺒﻴﻕ ﻨﻔﺱ‬ ‫ﺍﻟﻤﻬﺎﻡ ﻋﻠﻰ ﺒﻴﺌﺔ ﺃﻨﻅﻤﺔ ﺍل )‪ (*nix‬ﺃﻴﻀﺎ . ﻻﺤﻅ ﺃﻨﻨﺎ ﺒﻌﺩ ﺃﻥ ﻗﻤﻨﺎ ﺒﺘﺸﻐﻴل ﻏﻼﻑ‬ ‫ﹰ‬ ‫ﺍﻟﺩﻭﺱ ﻜﺘﺒﻨﺎ ﺍﻷﻤﺭ )161.59.411.26 ‪ (C:>ftp -d‬ﻭﻻﺤﻅ ﺃﻨﻨﺎ ﺃﻀﻔﻨﺎ ﺍﻟﺨﻴﺎﺭ‬ ‫)‪ (d‬ﻟﻬﺫﺍ ﺍﻷﻤﺭ ﺤﺘﻰ ﻴﺘﺴﻨﻰ ﻟﻨﺎ ﺭﺅﻴﺔ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺤﻘﻴﻘﺔ ﺍﻟﺘﻲ ﺘﺭﺴل ﻟﺴﻴﺭﻓﺭ ﻭﻫﺫﻩ‬ ‫ﺍﻷﻭﺍﻤﺭ ﺘﺘﻤﺜل ﻓﻲ ﻜل ﻤﺎﻴﻠﻲ ﺍﻟﻌﻼﻤﺔ )>---( . ﺒﻌﺩ ﺫﻟﻙ ﺇﻨﺘﻅﺭﻨﺎ ﺃﻥ ﻴﺘﻡ ﺍﻹﺘﺼﺎل‬ ‫ﺒﻴﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻭﺍﻟﻌﻤﻴل )ﺠﻬﺎﺯﻙ(.‬ ‫161.59.411.26 ‪C:>ftp -d‬‬ ‫.161.59.411.26 ‪Connected to‬‬ ‫...‪220 Serv-U FTP Server v4.0 for WinSock ready‬‬ ‫‪User (62.114.95.161:(none)): tt‬‬ ‫‪---> USER tt‬‬ ‫.‪331 User name okay, need password‬‬ ‫:‪Password‬‬ ‫‪---> PASS tt‬‬ ‫.‪230 User logged in, proceed‬‬ ‫‪ftp> dir‬‬ ‫56,6,551,461,39,212 ‪---> PORT‬‬ ‫.‪200 PORT Command successful‬‬ ‫‪---> LIST‬‬ ‫.‪150 Opening ASCII mode data connection for /bin/ls‬‬ ‫‪drw-rw-rw- 1 user‬‬ ‫‪group‬‬ ‫. 13:60 1 ‪0 Jan‬‬ ‫‪drw-rw-rw- 1 user‬‬ ‫‪group‬‬ ‫.. 13:60 1 ‪0 Jan‬‬ ‫‪-rw-rw-rw- 1 user‬‬ ‫‪group‬‬ ‫‪28827 Oct 1 1994 BOOKMARK.HTM‬‬ ‫‪drw-rw-rw- 1 user‬‬ ‫‪group‬‬ ‫‪0 Jan 17 20:17 Fav‬‬ ‫‪drw-rw-rw- 1 user‬‬ ‫‪group‬‬ ‫‪0 Jan 1 06:31 Hacking‬‬ ‫‪-r--r--r-- 1 user‬‬ ‫‪group‬‬ ‫‪38912 Oct 17 1994 Scrap.shs‬‬ ‫.‪226 Transfer complete‬‬ ‫.‪ftp: 376 bytes received in 0.12Seconds 3.11Kbytes/sec‬‬ ‫‪ftp> bye‬‬ ‫‪---> QUIT‬‬ ‫!‪221 Goodbye‬‬ ‫ﻻﺤﻅ ﺃﻨﻪ ﻭﻜﻤﺎ ﻗﻠﻨﺎ ﺃﻥ ﺍﻟﺴﻴﺭﻓﺭ ﻻﺒﺩ ﺃﻥ ﻴﺴﺄﻟﻙ ﻋﻥ ﺍﺴﻡ ﺍﻟﻤﺴﺘﺨﺩﻡ ﻭﻜﻠﻤﺔ ﺍﻟﻤﺭﻭﺭ‬ ‫ﻭﺫﻟﻙ ﺤﺘﻰ ﻴﺭﻯ ﺇﻥ ﻜﻨﺕ ﻤﻤﻥ ﻴﺼﺭﺡ ﻟﻬﻡ ﺇﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ ﺍﻟﺴﻴﺭﻓﺭ ﻭﻻﺤﻅ ﺃﻥ ﺍﺴﻡ‬ ‫ﺍﻟﻤﺴﺘﺨﺩﻡ ﻫﻨﺎ ﻫﻭ )‪ (tt‬ﻭﻜﻠﻤﺔ ﺍﻟﻤﺭﻭﺭ ﻫﻲ )‪ (tt‬ﻜﻤﺎ ﻫﻭ ﻭﺍﻀﺢ ﻓﻲ ﺍﻟﺠﻤﻠﺔ ) >---‬ ‫‪ (PASS tt‬ﺃﻱ ﺃﻨﻪ ﻴﺭﺴل ﻜﻠﻤﺔ ﺍﻟﻤﺭﻭﺭ ﺒﺩﻭﻥ ﺃﻱ ﺘﺸﻔﻴﺭ.ﺜﻡ ﺒﻌﺩ ﺫﻟﻙ ﺇﺴﺘﺨﺩﻤﻨﺎ ﺍﻷﻤﺭ‬ ‫)‪ (dir‬ﻟﻌﺭﺽ ﻤﺤﺘﻭﻴﺎﺕ ﺍﻟﺩﻟﻴل ﻭﻻﺤﻅ ﺃﻨﻪ ﻭﺒﻌﺩ ﺃﻥ ﺍﺴﺘﺨﺩﻤﻨﺎ ﺍﻷﻤﺭ )‪ (dir‬ﺘﻡ‬ ‫ﺇﺭﺴﺎل ﺍﻷﻤﺭ )56,6,551,461,39,212 ‪ (---> PORT‬ﻭﺫﻟﻙ ﺤﺘﻰ ﻴﺘﻡ ﻓﺘﺢ‬ ‫ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﺠﺩﻴﺩ ﻭﻻﺤﻅ ﺃﻥ ﺍﻻﻴﺒﻲ ﺍﻟﺨﺎﺹ ﺒﻲ ﻫﻭ )551.461.39.212( ﺃﻤﺎ‬ ‫ﺍﻟﺒﻭﺭﺕ ﺍﻟﺫﻱ ﺴﻭﻑ ﻴﺘﻡ ﻓﺘﺤﻪ ﻋﻠﻰ ﺠﻬﺎﺯﻱ ﻫﻭ )56+652*6( ﺃﻱ ﺴﻴﺘﻡ ﻓﺘﺢ‬ ‫ﺍﻟﺒﻭﺭﺕ ﺭﻗﻡ )1061( ﻹﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ. ﻭﻗﺩ ﺇﺴﺘﺨﺩﻤﺕ ﺍﻷﻤﺭ ) ‪(a- netstat‬‬ ‫ﺤﺘﻰ ﺃﺭﻯ ﺍﻹﺘﺼﺎﻻﺕ ﺍﻟﺘﻲ ﺘﻡ ﻤﻊ ﺍﻟﺴﻴﺭﻓﺭ ﻓﻭﺠﺩﺕ ﺍﻟﻨﺎﺘﺞ ﺍﻟﺘﺎﻟﻲ:‬
  • 11. TCP unix:ftp-data 212.93.164.155:1601 TIME_WAIT TCP unix:ftp 212.93.164.155:1597 ESTABLISHED ‫ﻜﺎﻥ ﻫﺫﺍ ﺍﻟﻨﺎﺘﺞ ﻤﻥ ﺍﻟﺠﻬﺎﺯ ﺍﻟﺫﻱ ﻴﻌﻤل ﻋﻠﻴﻪ ﺍﻟﺴﻴﺭﻓﺭ ﻻﺤﻅ ﺃﻨﻪ ﻜﻤﺎ ﻗﻠﻨﺎ ﺃﻥ ﺍﻟﺴﻴﺭﻓﺭ‬ ftp-) ‫ﺩﺍﺌﻤﺎ ﻴﻨﻬﻲ ﺇﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ ﻤﻥ ﺨﻼل ﺍﻟﺒﻭﺭﺕ ﺭﻗﻡ )02( ﺃﻭ ﻜﻤﺎ ﻴﺩﻋﻰ ﺏ‬ ‫ﹰ‬ ‫( ﺃﻱ ﺃﻨﻪ ﻗﺩ ﺘﻡ ﺍﻹﻨﺘﻬﺎﺀ ﻤﻥ ﻫﺫﺍ ﺍﻟﻤﻨﻔﺫ ﻭﺴﻴﺘﻡ‬TIME_WAIT) ‫(.ﻭﺘﻌﻨﻲ ﻜﻠﻤﺔ‬data ‫ﺇﻏﻼﻗﻪ. ﻭﻟﻭ ﺩﻗﻘﺕ ﺠﻴﺩﺍ ﻟﻭﺠﺩﺕ ﺃﻨﻪ ﻗﺩ ﺘﻡ ﺇﻨﻬﺎﺀ ﺇﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ ﻭﻟﻜﻥ ﻟﻡ ﻴﺘﻡ ﺇﻨﻬﺎﺀ‬ ‫ﹰ‬ ‫( ﺃﻱ ﺘﺎﻡ . ﻭﻫﻜﺫﺍ ﺘﺤﻘﻘﻨﺎ ﻤﻥ‬established) ‫ﺇﺘﺼﺎل ﺍﻟﺘﺤﻜﻡ ﺍﻟﺫﻱ ﻫﻭ ﻓﻲ ﻭﻀﻊ‬ ‫ﺼﺤﺔ ﺃﻥ ﺇﺘﺼﺎل ﺍﻟﺘﺤﻜﻡ ﺘﺎﻡ ﻤﺎﻟﻡ ﻴﻘﻁﻊ ﻤﻥ ﺍﻟﺴﻴﺭﻓﺭ ﺃﻤﺎ ﺇﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻴﻨﺘﻬﻲ ﻜﻠﻤﺎ‬ .‫ﺍﻨﺘﻬﻰ ﻤﻥ ﻨﻘل ﻤﻠﻑ ﻤﺎ‬ :‫ﻤﺜﺎل ٢: ﺃﺨﺫ ﻤﻠﻑ ﻨﺼﻲ ﻤﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ‬ ‫ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﺜﺎل ﺴﻭﻑ ﻨﺘﻌﻠﻡ ﻜﻴﻑ ﻨﺄﺨﺫ ﻤﻠﻑ ﻭﺍﺤﺩ ﻓﻘﻁ ﻤﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ. ﻻﺤﻅ ﻤﺎ‬ : ‫ﻴﻠ ﻲ‬ C:>ftp -d 62.114.95.161 Connected to 62.114.95.161. 220 Serv-U FTP Server v4.0 for WinSock ready... User (62.114.95.161:(none)): uu ---> USER uu 331 User name okay, need password. Password: ---> PASS uu 230 User logged in, proceed. ftp> dir ---> PORT 212,93,164,155,6,140 200 PORT Command successful. ---> LIST 150 Opening ASCII mode data connection for /bin/ls. drw-rw-rw- 1 user group 0 Feb 16 06:54 . drw-rw-rw- 1 user group 0 Feb 16 06:54 .. -rw-rw-rw- 1 user group 45856 Jul 25 2001 DOS.TXT -rw-rw-rw- 1 user group 8540 Jul 23 2001 Ports.txt -r--r--r-- 1 user group 4357 Mar 14 2001 happy99.txt -r--r--r-- 1 user group 1630 Mar 14 2001 mcafee.txt 226 Transfer complete. ftp: 382 bytes received in 0.16Seconds 2.39Kbytes/sec. ftp> ascii ---> TYPE A 200 Type set to A. ftp> get mcafee.txt ---> PORT 212,93,164,155,6,141 200 PORT Command successful. ---> RETR mcafee.txt 150 Opening ASCII mode data connection for mcafee.txt (1630 bytes). 226 Transfer complete. ftp: 1630 bytes received in 4.31Seconds 0.38Kbytes/sec.
  • 12. ‫‪ftp> bye‬‬ ‫‪---> QUIT‬‬ ‫!‪221 Goodbye‬‬ ‫ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﺜﺎل ﺴﻭﻑ ﻴﻔﺘﺢ ﺍﻟﺒﻭﺭﺕ )141+652*6( ﻹﺘﺼﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ. ﻭﻻﺤﻅ ﺃﻨﻪ‬ ‫ﻗﺒل ﺃﻥ ﻨﺴﺘﺨﺩﻡ ﺃﻤﺭ ﺃﺨﺫ ﺍﻟﻤﻠﻔﺎﺕ )‪ (get‬ﺍﻷﻤﺭ )‪ (ascii‬ﻭﺫﻟﻙ ﻷﻨﻨﺎ ﺴﻭﻑ ﻨﺄﺨﺫ‬ ‫ﻤﻠﻑ ﻨﺼﻲ ﻤﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻭﻋﺎﺩﺓ ﻋﻨﺩﻤﺎ ﻴﺘﻡ ﺘﺤﻤﻴل ﻤﻠﻔﺎﺕ ﻨﺼﻴﺔ ﻤﻥ ﻋﻠﻰ‬ ‫ﺍﻟﺴﻴﺭﻓﺭ ﺃﻭ ﻭﻀﻊ ﻤﻠﻔﺎﺕ ﻨﺼﻴﺔ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻓﺈﻨﻨﺎ ﻨﺴﺘﺨﺩﻡ ﻨﻅﺎﻡ ﺍﻟﻨﻘل )‪ (ascii‬ﺃﻤﺎ‬ ‫ﺇﺫﺍ ﻜﺎﻥ ﺍﻟﻬﺩﻑ ﺍﻟﻤﺭﺍﺩ ﺃﺨﺫﻩ ﻤﻥ ﺍﻟﺴﻴﺭﻓﺭ ﺃﻭ ﻭﻀﻌﻪ ﻋﻠﻴﻪ ﻏﻴﺭ ﻨﺼﻲ ﻤﺜﻼ ﺼﻭﺭ ﺃﻭ‬ ‫ﹰ‬ ‫ﻤﻠﻔﺎﺕ ﺘﺸﻐﻴﻠﻴﺔ ﻓﺈﻨﻪ ﻴﺴﺘﺨﺩﻡ ﻭﺴﻴﻠﺔ ﺍﻟﻨﻘل )‪ (binary‬ﻜﻤﺎ ﺴﻨﺭﻯ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﻘﺎﺩﻡ.‬ ‫ﻭﻴﺠﺏ ﻫﻨﺎ ﺃﻥ ﻨﻨﺒﻪ ﺃﻨﻪ ﺇﺫﺍ ﻜﻨﺕ ﺘﺭﻴﺩ ﺃﻥ ﺘﺄﺨﺫ ﺃﻜﺜﺭ ﻤﻥ ﻤﻠﻑ ﻤﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻓﻲ‬ ‫ﻭﻗﺕ ﻭﺍﺤﺩ ﻓﺈﻨﻪ ﻴﺘﻡ ﺇﺴﺘﺨﺩﺍﻡ ﺍﻷﻤﺭ ) 2‪ftp>mget filename1 filename‬‬ ‫3‪ (filename‬ﺜﻡ ﺒﻌﺩ ﺫﻟﻙ ﺴﻴﺘﻡ ﻓﺘﺢ ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﺠﺩﻴﺩ ﻟﻜل ﻤﻠﻑ ﻓﻤﺜﻼ ﺴﻴﻔﺘﺢ‬ ‫ﹰ‬ ‫ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﻟﻠﻤﻠﻑ )1‪ (filename‬ﻭﻜﺫﻟﻙ ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﺁﺨﺭ ﻟﻠﻤﻠﻑ )‬ ‫2‪ (filename‬ﻭﻫﻜﺫﺍ.‬ ‫ﻤﺜﺎل ٣: ﻭﻀﻊ ﻤﻠﻑ ﺘﺸﻐﻴﻠﻲ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ.‬ ‫ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﺜﺎل ﺴﻭﻑ ﻨﺭﻯ ﻜﻴﻑ ﻴﺘﻡ ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﺘﺸﻐﻴﻠﻴﺔ ﺒﺈﺴﺘﺨﺩﺍﻡ ﻨﻅﺎﻡ ﺍﻟﻨﻘل )‬ ‫‪ .(binary‬ﻻﺤﻅ ﻤﺎ ﻴﻠﻲ.‬ ‫04.351.121.361 ‪C:>ftp -d‬‬ ‫.04.351.121.361 ‪Connected to‬‬ ‫...‪220 Serv-U FTP Server v4.0 for WinSock ready‬‬ ‫‪User (163.121.153.40:(none)): uu‬‬ ‫‪---> USER uu‬‬ ‫.‪331 User name okay, need password‬‬ ‫:‪Password‬‬ ‫‪---> PASS uu‬‬ ‫.‪230 User logged in, proceed‬‬ ‫‪ftp> binary‬‬ ‫‪---> TYPE I‬‬ ‫.‪200 Type set to I‬‬ ‫‪ftp> put crypt.exe‬‬ ‫871,7,332,961,39,212 ‪---> PORT‬‬ ‫.‪200 PORT Command successful‬‬ ‫‪---> STOR crypt.exe‬‬ ‫.‪150 Opening BINARY mode data connection for crypt.exe‬‬ ‫.‪226 Transfer complete‬‬ ‫.‪ftp: 40960 bytes sent in 0.01Seconds 4096.00Kbytes/sec‬‬ ‫‪ftp> bye‬‬ ‫‪---> QUIT‬‬ ‫!‪221 Goodbye‬‬ ‫ﻻﺤﻅ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﺴﺎﺒﻕ ﺃﻨﻪ ﻗﺩ ﺇﺴﺘﺨﺩﺍﻡ ﺍﻷﻤﺭ )‪ (binary‬ﻭﺫﻟﻙ ﻷﻨﻨﺎ ﻨﺭﻴﺩ ﺃﻥ ﻨﻨﻘل‬ ‫ﻤﻠﻔﻲ ﺘﻁﺒﻴﻘﻲ ﻭﺒﻌﺩ ﺫﻟﻙ ﻗﻤﻨﺎ ﺒﺈﺴﺘﺨﺩﺍﻡ ﺍﻷﻤﺭ )‪ (PUT‬ﻭﺍﻟﺫﻱ ﻴﺴﺘﺨﺩﻡ ﻟﺘﺨﺯﻴﻥ ﻤﻠﻑ‬
  • 13. ‫ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ . ﻭﻻﺤﻅ ﺃﻨﻨﺎ ﻟﻭ ﺃﺭﺩﻨﺎ ﺃﻥ ﻨﺤﻤل ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻋﺩﺓ ﻤﻠﻔﺎﺕ ﻓﺈﻨﻨﺎ ﻨﺴﺘﺨﺩﻡ‬ ‫( ﻭﻋﻨﺩ ﻜل ﻤﻠﻑ‬ftp>mput filename1 filename2 filename3) ‫ﺍﻷﻤﺭ‬ .‫ﻴﺘﻡ ﻨﻘﻠﻪ ﺇﻟﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻓﺈﻨﻪ ﻴﺘﻡ ﻓﺘﺢ ﺇﺘﺼﺎل ﺒﻴﺎﻨﺎﺕ ﺠﺩﻴﺩ‬ :(anonymous) ‫ﻤﺜﺎل ٤: ﺘﺴﺠﻴل ﺩﺨﻭل ﻟﻠﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ ﺒﻭﻀﻊ ﺍﻟﻤﺠﻬﻭل‬ ‫ﻜﻤﺎ ﺫﻜﺭﻨﺎ ﺴﺎﺒﻘﺎ ﺃﻨﻪ ﻋﻨﺩﻤﺎ ﺘﺭﻴﺩ ﺇﺴﺘﺨﺩﺍﻡ ﺒﺭﻭﺘﻭﻜﻭل ﻨﻘل ﺍﻟﻤﻠﻔﺎﺕ ﻤﻊ ﺃﺤﺩ ﺍﻷﺠﻬﺯﺓ‬ ‫ﹰ‬ ‫ﹰ‬ ‫ﺍﻟﺨﺎﺩﻤﺔ ﻓﺈﻨﻪ ﻻﺒﺩ ﺃﻥ ﻴﻜﻭﻥ ﻟﻙ ﺍﺴﻡ ﻤﺴﺘﺨﺩﻡ ﻭﻜﻠﻤﺔ ﻤﺭﻭﺭ ﺃﻴﻀﺎ ﻭﻟﻜﻥ ﻴﻤﻜﻨﻙ ﺃﻴﻀﺎ‬ ‫ﹰ‬ (server) ‫ﺃﻥ ﺘﻘﻭﻡ ﺒﺘﺴﺠﻴل ﺍﻟﺩﺨﻭل ﺒﻭﻀﻊ ﺍﻟﺘﺨﻔﻲ ﻭﺫﻟﻙ ﺇﺫﺍ ﻜﺎﻥ ﺍﻟﺠﻬﺎﺯ ﺍﻟﺨﺎﺩﻡ‬ ‫ﻴﺩﻋﻡ ﻫﺫﺍ ﺍﻟﻭﻀﻊ ﻻﺤﻅ ﺍﻟﺠﻠﺴﺔ ﺍﻟﺘﺎﻟﻴﺔ ﺍﻟﺘﻲ ﺃﺠﺭﻴﺘﻬﺎ ﻋﻠﻰ ﺃﺤﺩ ﺃﻨﻭﺍﻉ ﺍﻟﺴﻴﺭﻓﺭﺍﺕ‬ ) ‫ﺍﻟﻤﻭﺠﻭﺩﺓ ﻋﻠﻰ ﺠﻬﺎﺯﻱ ﻭﻟﺫﻟﻙ ﺴﻭﻑ ﺘﻼﺤﻅ ﺃﻥ ﻗﺩ ﺘﻡ ﺇﺴﺘﺨﺩﺍﻡ ﺭﻗﻡ ﺍﻻﻴﺒﻲ‬ ‫1.0.0.721( ﻭﻨﻅﺭﺍ ﻷﻥ ﺍﻟﻁﺭﻴﻘﺔ ﻭﺍﺤﺩﺓ ﻟﺘﺴﺠﻴل ﺍﻟﺩﺨﻭل ﻓﺈﻨﻪ ﺴﻴﻨﻁﺒﻕ ﻋﻠﻰ ﺃﻱ‬ ‫ﹰ‬ .‫ﺴﻴﺭﻓﺭ ﺃﺨﺭ‬ C:>ftp -d 127.0.0.1 Connected to 127.0.0.1. 220-This FTP site is running a copy of WFTPD that is NOT REGISTERED 220- 220-Shareware can only improve if supported by its users. 220-The easiest way to support shareware is to register it. 220-WFTPD costs from $20 to register. 220- 220-To register this program, or receive new details on it, send email 220-to alun@texis.com (Alun Jones), or snail-mail to Texas Imperial Software, 220-1602 Harvest Moon Place, Cedar Park TX 78613-1419 USA 220- 220-As added incentive for the site owner to register, you will be restricted 220-to five (5) transfers - to get more transfers, please re-login. 220- 220-Please note - Alun Jones is only responsible for the software 220-that this site runs, and is not responsible in any way for either 220-the content of this site, nor its location on the Internet. 220 WFTPD 2.4 service (by Texas Imperial Software) ready for new user User (127.0.0.1:(none)): anonymous ---> USER anonymous 331-Anonymous user access allowed - please enter your email 331-address as the password: 331 Give me your password, please Password: ---> PASS anonymouse@anonymoys 230 Logged in successfully ftp> dir ---> PORT 127,0,0,1,5,193 200 PORT command okay ---> LIST 150 File Listing Follows in ASCII mode.
  • 14. ‫26 ‪total‬‬ ‫‪dr-xr-xr-x 1 noone nogroup‬‬ ‫‪0 Aug 16 10:59 apache‬‬ ‫‪dr-xr-xr-x 1 noone nogroup‬‬ ‫‪0 Aug 19 05:58 Borland‬‬ ‫‪dr-xr-xr-x 1 noone nogroup‬‬ ‫‪0 Aug 5 07:06 DevStudio‬‬ ‫‪dr-xr-xr-x 1 noone nogroup‬‬ ‫‪0 Jul 31 16:25 dm‬‬ ‫‪dr-xr-xr-x 1 noone nogroup‬‬ ‫‪0 Jul 29 09:21 Documents and Settings‬‬ ‫‪dr-xr-xr-x 1 noone nogroup‬‬ ‫‪0 Aug 4 14:30 Downloads‬‬ ‫‪-r-xr-xr-x 1 noone nogroup‬‬ ‫‪1012 Jul 31 05:58 FRUNLOG.TXT‬‬ ‫‪-r-xr-xr-x 1 noone nogroup‬‬ ‫‪21504 Aug 7 23:06 get.doc‬‬ ‫‪dr-xr-xr-x 1 noone nogroup‬‬ ‫‪0 Jul 31 16:17 My Music‬‬ ‫‪-r-xr-xr-x 1 noone nogroup‬‬ ‫‪2063 Feb 8 05:19 my.cnf‬‬ ‫‪dr-xr-xr-x 1 noone nogroup‬‬ ‫599‪0 Jul 31 06:35 pdf‬‬ ‫‪dr-xr-xr-x 1 noone nogroup‬‬ ‫‪0 Aug 16 10:59 phptriad‬‬ ‫‪dr-xr-xr-x 1 noone nogroup‬‬ ‫‪0 Jul 29 09:22 Program Files‬‬ ‫‪dr-xr-xr-x 1 noone nogroup‬‬ ‫‪0 Jul 31 06:12 unzipped‬‬ ‫‪dr-xr-xr-x 1 noone nogroup‬‬ ‫‪0 Aug 1 00:13 WINNT‬‬ ‫.‪226 Transfer finished successfully‬‬ ‫.‪ftp: 977 bytes received in 0.08Seconds 12.21Kbytes/sec‬‬ ‫‪ftp> bye‬‬ ‫‪---> QUIT‬‬ ‫ﻻﺤﻅ ﺃﻨﻪ ﻟﻜﻲ ﺘﺴﺠل ﺩﺨﻭل ﻟﻠﺴﻴﺭﻓﺭ ﻓﻲ ﻭﻀﻊ ﺍﻟﺘﺨﻔﻲ ﻓﻼﺒﺩ ﻟﻙ ﺃﻥ ﺘﻘﻭﻡ ﺒﺘﺴﺠﻴل‬ ‫ﺍﻟﺩﺨﻭل ﺒﺎﺴﻡ ﺍﻟﻤﺴﺘﺨﺩﻡ )‪ (anonymous‬ﻜﻤﺎ ﻫﻭ ﻭﺍﻀﺢ ﺒﺎﻷﻋﻠﻰ ﺍﻟﻠﻭﻥ ﺍﻷﺤﻤﺭ‬ ‫ﺃﻤﺎ ﺒﺎﻟﻨﺴﺒﺔ ﻟﻜﻠﻤﺔ ﺍﻟﻤﺭﻭﺭ ﻓﻬﻲ ﻋﺒﺎﺭﺓ ﻋﻥ ﺍﻟﺒﺭﻴﺩ ﺍﻟﺨﺎﺹ ﺒﻙ ﻭﻫﻭ ﻓﻲ ﺍﻟﺤﻘﻴﻘﺔ‬ ‫ﻻﻴﺴﺘﻠﺯﻡ ﻤﻨﻙ ﺃﻥ ﺘﻘﻭﻡ ﺒﺘﺴﺠﻴل ﺒﺭﻴﺩﻙ ﺍﻟﺤﻘﻴﻘﻲ ﻭﻟﻜﻥ ﺍﻟﺴﻴﺭﻓﺭﺍﺕ ﺍﻟﺘﻲ ﺘﻘﺩﻡ ﺨﺩﻤﺔ‬ ‫ﺘﺴﺠﻴل ﺍﻟﺩﺨﻭل ﺒﻭﻀﻊ ﺍﻟﺘﺨﻔﻲ ﻓﺈﻨﻪ ﻋﻨﺩﻤﺎ ﺘﺭﻯ ﻜﻠﻤﺔ ﺍﻟﻤﺭﻭﺭ ﻟﻬﺫﺍ ﺍﻟﻭﻀﻊ ﻓﺈﻨﻬﺎ‬ ‫ﺘﺒﺤﺙ ﻋﻥ ﻋﻼﻤﺔ )@( ﻓﺈﻥ ﻭﺠﺩﺘﻬﺎ ﻓﺈﻨﻬﺎ ﺘﻘﻭﻡ ﺒﺘﺴﺠﻴل ﺩﺨﻭﻟﻙ ﻟﻠﺴﻴﺭﻓﺭ ﻭﺇﻥ ﻟﻡ‬ ‫ﺘﺠﺩﻫﺎ ﻓﺈﻨﻪ ﻓﻲ ﺒﻌﺽ ﺃﻨﻭﺍﻉ ﺍﻟﺴﻴﺭﻓﺭﺍﺕ ﻻ ﺘﻤﺎﻨﻊ ﻭﻓﻲ ﺍﻟﺒﻌﺽ ﺍﻵﺨﺭ ﺘﻁﺎﻟﺒﻙ ﺒﻬﺎ .‬ ‫ﻭﺍﻟﺠﺩﻴﺭ ﺒﺎﻟﺫﻜﺭ ﻫﻨﺎ ﺃﻨﻪ ﺇﺫﺍ ﻗﻤﺕ ﺒﺘﺴﺠﻴل ﺍﻟﺩﺨﻭل ﺒﻬﺫﺍ ﺍﻟﻭﻀﻊ ﻓﺈﻨﻪ ﻴﻜﻭﻥ ﻟﻙ‬ ‫ﺼﻼﺤﻴﺎﺕ ﻤﺤﺩﻭﺩﺓ ﻭﺫﻟﻙ ﻋﻠﻰ ﺤﺴﺏ ﺭﻏﺒﺔ ﻤﺩﻴﺭ ﺍﻟﺴﻴﺭﻓﺭ ﻭﺍﻷﻏﻠﺒﻴﺔ ﺃﻨﻪ ﻴﻌﻁﻴﻙ ﻓﻘﻁ‬ ‫ﺘﺤﻤﻴل ﺍﻟﻤﻠﻔﺎﺕ ﻤﻥ ﻋﻠﻰ ﺍﻟﺴﻴﺭﻓﺭ ﻭﻴﻌﻁﻴﻙ ﺤﺭﻴﺔ ﺍﻟﺘﻨﻘل ﻟﺩﺍﺨل ﻤﺠﻠﺩﺍﺕ ﺨﺎﺼﺔ.‬ ‫• ﻜﻠﻤﺔ ﺃﺨﻴﺭﺓ:‬ ‫ﻓﻲ ﻨﻬﺎﻴﺔ ﻫﺫﺍ ﺍﻟﻤﻠﻑ ﺃﺘﻤﻨﻰ ﻤﻥ ﺍﷲ ﺍﻟﻌﻠﻲ ﺍﻟﻘﺩﻴﺭ ﺃﻥ ﻴﺤﻭﺯ ﻋﻠﻰ ﺭﻀﻰ ﺍﷲ ﺃﻭﻻ ﺜﻡ‬ ‫ﹰ‬ ‫ﻋﻠﻰ ﺭﻀﺎﻜﻡ ﻭﺇﺴﺘﺤﺴﺎﻨﻜﻡ. ﻜﻤﺎ ﺃﻨﻲ ﺃﻭﺼﻴﻜﻡ ﺒﺎﻟﺩﻋﺎﺀ ﻟﺠﻤﻴﻊ ﺍﻟﻤﺴﻠﻤﻴﻥ. ﻜﻤﺎ ﺃﺤﺏ ﺃﻥ‬ ‫ﺃﺸﻜﺭ ﺃﺨﻲ ﺍﻟﻌﺯﻴﺯ ﺠﺩﺍ )‪ (eXistenZ‬ﻋﻠﻰ ﻤﺴﺎﻋﺩﺘﻪ ﻟﻲ ﻓﻲ ﺘﻁﺒﻴﻕ ﻫﺫﻩ ﺍﻷﻤﺜﻠﺔ‬ ‫ﹰ‬ ‫ﻋﻠﻰ ﺠﻬﺎﺯﻩ ﻓﻠﻪ ﺠﺯﻴل ﺍﻟﺸﻜﺭ ﻭﺍﻟﻌﺭﻓﺎﻥ ﻭﻻﺘﻨﺴﻭﻨﻪ ﺃﻴﻀ ﹰ ﻤﻥ ﺍﻟﺩﻋﺎﺀ.‬ ‫ﺎ‬ ‫ﻭﺘﻘﺒﻠﻭﺍ ﺨﺎﻟﺹ ﺘﺤﻴﺎﺕ ﺃﺨﻭﻜﻡ ﺍﻟﻤﺤﺏ )‪(The-oNe‬‬ ‫ﺍﻟﺭﺠﺎﺀ ﺇﺭﺴﺎل ﻤﻘﺘﺭﺤﺎﺘﻜﻡ ﻭﺁﺭﺍﺌﻜﻡ ﻋﻠﻰ ﺍﻟﻌﻨﺎﻭﻴﻥ ﺍﻟﺘﺎﻟﻴﺔ:‬ ‫‪The-one@pharaonics.net‬‬
  • 15. OR The_o0ne@hotmail.com OR The_o0one@yahoo.com