Я привязываю свой ноутбук от своего телефона.
Есть ли способ получить доступ к файловой системе на моем ноутбуке с мобильного телефона во время привязки? Например, я хотел бы получить доступ к файлам изображений с моего ноутбука по телефону. (Дополнительная информация: У меня нет доступа WiFi по телефону, и я не хочу использовать 3G для передачи файлов локально).
Ноутбук: Ubuntu 16.04 LTS
Телефон: Samsung Galaxy S5
Используйте модуль Python для запуска базового HTTP-сервера и используйте веб-браузер на мобильном телефоне для доступа к локальному ПК через USB-модем.
Обзор настройки и использования
Мобильный телефон подключен к локальному ПК через USB-кабель.
Настройка на мобильном телефоне (подключен USB-модем) Настройка на локальном ПК (см. часть A.) Доступ с мобильного телефона (см. часть B.)Когда пользователь закончил доступ, перейдите на локальный ПК и нажмите Ctrl + C, чтобы остановить сервер HTTP, который запущен в терминале.
Обзор настройки и использования Настройка на локальном ПК
Убедитесь, что Python установлен на локальном хосте ПК (запустите python --version в терминале, чтобы проверить версию, которая повлияет на шаг 3).
Откройте терминал. Сначала проверьте IP-адрес локального ПК с помощью команды ip или ifconfig независимо от того, что работает). Следующий пример показывает, что 192.168.XX.YYY - это IP-адрес, назначенный локальному ПК через USB-модем.$ ip addr show usb0
3: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
inet 192.168.XX.YYY/** brd 192.168.XX.ZZZ scope global usb0
valid_lft forever preferred_lft forever
inet6 ****::****:****:****:****/** scope link
valid_lft forever preferred_lft forever
$ ifconfig usb0
usb0 Link encap:Ethernet HWaddr **:**:**:**:**:**
inet addr:192.168.XX.YYY Bcast:192.168.XX.ZZZ Mask:255.255.255.0
inet6 addr: ****::****:****:****:****/** Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
...
Затем запустите HTTP-сервер, используя модуль Python с любым доступным номером порта, то есть 31415 (легко запомнить как «pi»). Следующий пример показывает, что модуль http.server используется для Python 3, в противном случае используется модуль SimpleHTTPServer для Python 2. $ python -m http.server <port_number>
Serving HTTP on 0.0.0.0 port ***** ...
Кроме того, если на локальном компьютере включен брандмауэр, добавьте новое правило, разрешающее входящие соединение с номером порта и IP-адресом (это будет другой набор вопросов и ответов). Else временно отключить брандмауэр просто будет работать для простоты в обмен на низкую безопасность.
Часть B. Доступ с мобильного телефона
Убедитесь, что USB-модем остается включенным; Никакой дополнительной конфигурации.
Откройте терминалОткройте терминал
Сначала проверьте IP-адрес локального ПК с помощью ip или ifconfig (в зависимости от того, что работает). Следующий пример показывает, что 192.168.XX.YYY - это IP-адрес, назначенный локальному ПК через USB-модем.$ ip addr show usb0
3: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
inet 192.168.XX.YYY/** brd 192.168.XX.ZZZ scope global usb0
valid_lft forever preferred_lft forever
inet6 ****::****:****:****:****/** scope link
valid_lft forever preferred_lft forever
$ ifconfig usb0
usb0 Link encap:Ethernet HWaddr **:**:**:**:**:**
inet addr:192.168.XX.YYY Bcast:192.168.XX.ZZZ Mask:255.255.255.0
inet6 addr: ****::****:****:****:****/** Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
...
Перейдите к http://192.168.XX.YYY:<port_number>, в котором 192.168.XX.YYY является IP-адресом, используемым компьютером localhost, а <port_number> - любой доступный номер порта на локальном ПК.
Пользователь может теперь получить доступ к любым файлам и каталогам в текущем рабочем каталоге для просмотра и загрузки.
Часть B.
HTTP-сервер позволит доступ только для чтения, что достаточно хорошо для просмотра и загрузки. Пользователь останется иметь возможность изменять файлы на локальном ПК. Если пользователю нужен как доступ на чтение, так и запись, используйте другой метод (возможно, используя SFTP или SSH, чего я не знаю).
Метод HTTP-сервера будет работать до тех пор, пока включен USB-модем (IP-адрес ), независимо от режима самолета или сотовых данных, включается или выключается.
Протестировано с использованием Python 2.7 и Python 3.4 с включенным и отключенным UFW на Xubuntu 14.04 и USB-модемом, включенным на Android 7.1. 1.
Настройка на мобильном телефоне (подключен USB-модем) http-HTTP-модули из документации Python 3 Настройка на локальном ПК (см. Часть A.) Как проверить открытый / закрытый порт на моем компьютере? on Ask Ubuntu упомянул команды для проверки открытого или закрытого порта на компьютере.Ссылки
http-HTTP-модули из документации Python 3http-HTTP-модули из документации Python 3
Доступ из мобильный телефон (см. часть B.)Используйте модуль Python для запуска базового HTTP-сервера и используйте веб-браузер на мобильном телефоне для доступа к локальному ПК через USB-модем.
Обзор настройки и использования
Мобильный телефон подключен к локальному ПК через USB-кабель.
Настройка на мобильном телефоне (подключен USB-модем) Настройка на локальном ПК (см. часть A.) Доступ с мобильного телефона (см. часть B.)Когда пользователь закончил доступ, перейдите на локальный ПК и нажмите Ctrl + C, чтобы остановить сервер HTTP, который запущен в терминале.
Обзор настройки и использования Настройка на локальном ПК
Убедитесь, что Python установлен на локальном хосте ПК (запустите python --version в терминале, чтобы проверить версию, которая повлияет на шаг 3).
Откройте терминал. Сначала проверьте IP-адрес локального ПК с помощью команды ip или ifconfig независимо от того, что работает). Следующий пример показывает, что 192.168.XX.YYY - это IP-адрес, назначенный локальному ПК через USB-модем.$ ip addr show usb0
3: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
inet 192.168.XX.YYY/** brd 192.168.XX.ZZZ scope global usb0
valid_lft forever preferred_lft forever
inet6 ****::****:****:****:****/** scope link
valid_lft forever preferred_lft forever
$ ifconfig usb0
usb0 Link encap:Ethernet HWaddr **:**:**:**:**:**
inet addr:192.168.XX.YYY Bcast:192.168.XX.ZZZ Mask:255.255.255.0
inet6 addr: ****::****:****:****:****/** Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
...
Затем запустите HTTP-сервер, используя модуль Python с любым доступным номером порта, то есть 31415 (легко запомнить как «pi»). Следующий пример показывает, что модуль http.server используется для Python 3, в противном случае используется модуль SimpleHTTPServer для Python 2. $ python -m http.server <port_number>
Serving HTTP on 0.0.0.0 port ***** ...
Кроме того, если на локальном компьютере включен брандмауэр, добавьте новое правило, разрешающее входящие соединение с номером порта и IP-адресом (это будет другой набор вопросов и ответов). Else временно отключить брандмауэр просто будет работать для простоты в обмен на низкую безопасность.
Часть B. Доступ с мобильного телефона
Убедитесь, что USB-модем остается включенным; Никакой дополнительной конфигурации.
Откройте терминалОткройте терминал
Сначала проверьте IP-адрес локального ПК с помощью ip или ifconfig (в зависимости от того, что работает). Следующий пример показывает, что 192.168.XX.YYY - это IP-адрес, назначенный локальному ПК через USB-модем.$ ip addr show usb0
3: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
inet 192.168.XX.YYY/** brd 192.168.XX.ZZZ scope global usb0
valid_lft forever preferred_lft forever
inet6 ****::****:****:****:****/** scope link
valid_lft forever preferred_lft forever
$ ifconfig usb0
usb0 Link encap:Ethernet HWaddr **:**:**:**:**:**
inet addr:192.168.XX.YYY Bcast:192.168.XX.ZZZ Mask:255.255.255.0
inet6 addr: ****::****:****:****:****/** Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
...
Перейдите к http://192.168.XX.YYY:<port_number>, в котором 192.168.XX.YYY является IP-адресом, используемым компьютером localhost, а <port_number> - любой доступный номер порта на локальном ПК.
Пользователь может теперь получить доступ к любым файлам и каталогам в текущем рабочем каталоге для просмотра и загрузки.
Часть B.
HTTP-сервер позволит доступ только для чтения, что достаточно хорошо для просмотра и загрузки. Пользователь останется иметь возможность изменять файлы на локальном ПК. Если пользователю нужен как доступ на чтение, так и запись, используйте другой метод (возможно, используя SFTP или SSH, чего я не знаю).
Метод HTTP-сервера будет работать до тех пор, пока включен USB-модем (IP-адрес ), независимо от режима самолета или сотовых данных, включается или выключается.
Протестировано с использованием Python 2.7 и Python 3.4 с включенным и отключенным UFW на Xubuntu 14.04 и USB-модемом, включенным на Android 7.1. 1.
Настройка на мобильном телефоне (подключен USB-модем) http-HTTP-модули из документации Python 3 Настройка на локальном ПК (см. Часть A.) Как проверить открытый / закрытый порт на моем компьютере? on Ask Ubuntu упомянул команды для проверки открытого или закрытого порта на компьютере.Ссылки
http-HTTP-модули из документации Python 3http-HTTP-модули из документации Python 3
Доступ из мобильный телефон (см. часть B.)