通过笔记本电脑Wifi天线使Android设备可以访问笔记本电脑文件

我希望能够通过我的Android手机和平板电脑访问我的Ubuntu笔记本电脑上的文件。 理想情况下,我想通过我自己的安全Wlan,然后通过sftp或Samba共享。 由于我不想在我想要的地方使用Wlan,我想用笔记本电脑的内置wifi或Wifi USB棒创建Wlan网络。 这个Wlan应该可以通过普通的Android设备访问。

问题是:当在网络管理器小程序中选择“创建新的无线网络”时,创建的网络在我的任何移动设备中都不可用。 我被告知这是因为它是一个“ad hoc”网络,这些设备不支持。

有关如何创建托管网络的一些说明(不确定这是否是正确的术语),但这些说明看起来非常复杂并且通常彼此不同。 此外,所有这些说明都是通过Wifi提供笔记本电脑的互联网连接 – 我不需要。 我所需要的只是Wifi网络使笔记本文件可用,因此唯一需要通过此Wlan访问的主机是笔记本电脑。

有没有(希望)简单的方法来启动这样的WLan网络? 如果没有,是否有可能用其他类型的硬件(除了简单的USB Wifi棒)实现我想要的,所以我可以创建一个Wlan,我的笔记本电脑是唯一可访问的主机?

我认为随着越来越多的移动设备,以及手机/桌子和笔记本电脑都内置了Wlan硬件,奇怪的是没有简单的方法可以直接连接它们而且两个设备都没有必要访问其他一些Wlan。

编辑:我认为这可能不是,因为建议重复,因为对另一个问题的答案,以及许多其他通常略有不同的食谱,尝试共享提供接入点的计算机的互联网连接,而我只是想要访问这台计算机上的文件或使用那里的服务,只需使用IP地址。 所以我想要的是实现这一目标的最简单方法。 我想我可能在此期间找到了一个解决方案,这个解决方案不太复杂,但是我似乎无法在这里创建答案。

以下是我认为实现我想要的最小步骤。 目前,这些步骤仅适用于额外的Wifi USB记忆棒,而不适用于内置的Wifi硬件。 当我了解更多时,我会编辑这个…

安装并设置hostapd

为了使Wifi硬件(笔记本电脑中内置的硬件或一些额外的Wifi USB记忆棒)在非ad-hoc模式下工作,必须使用hostapd软件。 请注意,为了使其工作,hostapd软件需要支持Wifi硬件,并且硬件需要能够支持非ad-hoc模式。

  1. 使用sudo apt-get install hostapd安装软件
  2. 找到与Wifi硬件对应的网络接口的名称。 对于额外的Wifi USB棒,这可能是wlan1或类似的。 ifconfig命令将显示所有可用的网络接口。
  3. 创建配置文件/etc/hostapd/hostapd.conf (例如使用命令gedit /etc/hostapd/hostapd.conf ),其中包含以下内容,其中将替换为步骤2中找到的名称, 您为网络选择的名称,使用您所在国家/地区的双字母代码的 (例如美国),使用Wifi网络模式的 (例如g)和具有有效频道编号的频道(例如3)。 或者,可以完全hw_modechannel的行。 用您喜欢的幻影替换 (但避免使用变音符号或重音符号)。

     interface= driver=nl80211 logger_stdout=-1 logger_stdout_level=0 ssid= country_code= hw_mode= channel= macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase= wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP 

    有关更多信息,请参阅http://linuxwireless.org/en/users/Documentation/hostapd 。

  4. 运行命令sudo hostapd -d /etc/hostapd/hostapd.conf 。 这应该启动Wifi网络,并且应该已经可以从移动设备连接到该网络:具有您指定的SSID的网络应该显示在列表中,输入密码后,设备应该连接到网络。 但是,设备不会获得IP地址,因此无法进行真正的数据传输。 按Ctl-C终止命令

安装DHCP并设置网络

为了在移动设备和笔记本电脑之间实际传输数据,网络必须知道它应该使用哪个IP地址范围,并且需要一个程序来为任何想要连接的设备分配IP地址。

  1. 使用命令sudo apt-get install isc-dhcp-server安装DHCP服务器。
  2. 编辑接口配置文件/etc/network/interfaces并将以下内容添加到结尾:

     iface  inet static address 192.168.2.1 netmask 255.255.255.0 
  3. 编辑DHCP配置文件/etc/dhcp/dhcpd.conf并将以下内容添加到最后。

     subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.3 192.168.2.10; option broadcast-address 192.168.2.255; option routers 192.168.2.1; } 

    如果您知道移动设备的MAC地址并希望为其分配固定的IP地址,则可以在右括号之前添加以下行,用MAC地址替换XX:XX:XX:XX:XX:XX 。 这将分配固定IP地址192.168.2.2:

      host device1 { hardware ethernet XX:XX:XX:XX:XX:XX; fixed-address 192.168.2.2; } 
  4. 使用命令sudo ifup 打开sudo ifup
  5. 使用命令sudo dhcpd -f -d 启动DHCP服务器(这将一直运行,直到您使用Ctrl-C终止并向终端显示日志消息)
  6. 使用命令sudo hostapd -d /etc/hostapd/hostapd.conf启动托管网络

如果一切顺利,您现在应该能够从移动设备连接到该Wifi网络,并且应该为设备分配192.168.2.X范围内的IP地址。

访问笔记本电脑上的文件和服务

一旦网络启动,移动设备应该能够访问笔记本电脑上运行的服务(但不能访问互联网)。 从笔记本电脑共享文件的最简单方法是为网络上的目录创建Samba共享。 这可以通过右键单击目录图标并选择“共享选项”,然后选中“共享此文件夹”并选择分配一些共享名称,单击“创建共享”来完成。

对于Android设备,有几个应用程序可用于访问Samba共享,我使用“ES文件资源管理器”。 在ES File Explorer应用程序中,切换到“LAN Shares”选项卡并添加新服务器。 在“服务器”字段中,输入服务器的IP地址,例如192.168.2.1,然后输入Ubuntu用户ID和密码并点击“确定”。 当您触摸服务器IP地址时,应列出您创建的所有共享,然后从那里将文件或整个目录复制到Android设备。

访问“ES文件资源管理器”应用程序也支持的笔记本电脑上的文件的另一种方法是sftp

我使用ES文件资源管理器访问我的电脑和nas服务器上的文件。 ES使用SMB通过Wifi连接到您的电脑。

使用ES的远程文件管理器,您还可以从计算机管理手机上的文件。

编辑为什么不使用10 $ wifi路由器建立您的网络? 或者用一根好的旧电缆将手机连接到电脑有什么问题?

您的问题实际上是两个问题,可以在两个单独的问题中提出并单独回答。

1)如何使用Ubuntu笔记本电脑设置WiFi接入点?

我建议你在这个链接中阅读@Err Hunter的答案。 请注意此评论 : 如果您使用的是Ubuntu14.04,则必须阅读第二个源链接 。

2)如何通过上述网络在我的Ubuntu笔记本电脑和Android设备之间共享文件?

这个问题的答案有两部分:

第1部分:在笔记本电脑上共享文件夹(Ubuntu):

这个答案是我为此目的找到的最佳指南。

第2部分(我认为你的问题的主要部分):访问共享文件

我提供“ ES File Explorer ”应用程序。 在ES File Explorer应用程序中:
– 转到“网络”选项卡 – 选择“LAN” – 按页面底部的“+”图标不添加新项目 – 在“服务器”对话框中,输入服务器的IP地址,例如192.168.150.1,然后输入在适当的字段中输入Ubuntu用户名和密码,然后点击“确定”。 – 在“LAN”类别下添加新项目。 – 如果您触摸该项目,则应列出您创建的所有共享,然后您可以从那里访问Android设备上的文件和目录。