如何通过命令行连接到互联网?

San*_*mar 6 command-line networking

我通常通过手机的SIM 卡连接到互联网。它是一个GSM网络。

要以 GUI 方式连接到 Internet,我转到通知栏,单击网络图标,然后单击连接名称。连接后网络图标发生变化,表示我已连接到互联网。

我可以用命令行方式吗?

小智 1

所有需要的都在这里

\n\n
    \n
  1. sudo nano /etc/chatscripts/ispname

  2. \n
  3. 在此文件中,您将放置以下代码:

    \n\n
    TIMEOUT 10  \nABORT \'BUSY\'  \nABORT \'NO ANSWER\'  \nABORT \'ERROR\'  \nABORT \'NO CARRIER\'  \n\n\'\' \'ATZ\'  \n\'OK\' \'ATE1\'  \n\'OK\' \'AT+CGDCONT=1,"IP","ispapn","0.0.0.0",0,0\'  \n\'OK\' \'ATDT*99#\'  \n\'CONNECT\' \'\\c\'  \n
    Run Code Online (Sandbox Code Playgroud)\n\n

    您应该将 \xe2\x80\x9cispapn\xe2\x80\x9d 替换为您的 ISP 接入点名称 (APN)。

  4. \n
  5. 如果您的 ISP 使用 PAP 身份验证,那么您必须在/etc/ppp/pap-secrets文件末尾添加我的 ISP 提供的用户名和密码。

    \n\n
    sudo nano /etc/ppp/pap-secrets\n
    Run Code Online (Sandbox Code Playgroud)
  6. \n
  7. 如果您的 Internet 服务提供商使用CHAP身份验证,请执行相同的操作,但使用/etc/ppp/chap-secretsfile.

    \n\n

    此外,我们还必须决定将在后续步骤中使用的远程名称标识字符串,以指示pppd使用正确的papchap凭据。

    \n\n

    我将在这里使用字符串 \xe2\x80\x9c ispname \xe2\x80\x9d 。所以这里\xe2\x80\x99s是我放在/etc/ppp/pap-secrets文件末尾的内容(在这里放置你的用户名、密码和你选择的字符串而不是我的\xe2\x80\x9c ispusername \xe2\x80\x9d, \xe2 \x80\x9c isppassword \xe2\x80\x9d 和 \xe2\x80\x9c ispname \xe2\x80\x9d):

    \n\n
     "ispusername" "ispname" "isppassword"\n
    Run Code Online (Sandbox Code Playgroud)
  8. \n
  9. 如果您的 ISP 不使用身份验证,并且您不需要提供名称和密码来连接到 Internet,则可以完全跳过此步骤。

  10. \n
  11. 下一步,我们必须创建所谓的对等文件,pppd 将使用该文件来使用第二步中存储的凭据拨打第一步中创建的聊天脚本。我将调用我的对等文件 \xe2\x80\x9cispname\xe2\x80\x9d 并将其放入 /etc/ppp/peers 目录中:

    \n\n

    sudo nano /etc/ppp/peers/ispname

    \n\n

    在我的同行文件中,我将放置以下代码:

    \n\n
    hide-password \nnoauth\nconnect "/usr/sbin/chat -v -f /etc/chatscripts/ispname"\ndebug\n/dev/ttyUSB0\n115200\ndefaultroute\nreplacedefaultroute\nnoipdefault\nusepeerdns\ncrtscts\nlock\nlocal\n\n# Redial and interval\npersist\nholdoff 5\n\n# No compression\nnovj\nnovjccomp\nnopcomp\nnodeflate\n\n# PAP authentication\nuser "ispusername"\nremotename ispname\nrefuse-chap\nrefuse-mschap\nrefuse-mschap-v2\nrefuse-eap\n\n# LCP echo messages settings\nlcp-echo-failure 4\nlcp-echo-interval 65535\n
    Run Code Online (Sandbox Code Playgroud)
  12. \n
  13. 这是让您上网的基本配置。要拨打连接,您可以使用 sudo pon ispname,要断开连接,您可以使用 sudo poff ispname,其中 \xe2\x80\x9cispname\xe2\x80\x9d 是您的对等文件名。为了能够在没有 sudo 的情况下拨号,您需要将自己添加到 \xe2\x80\x9cdialout\xe2\x80\x9d 组:

    \n\n
    sudo adduser $USER dialout\n
    Run Code Online (Sandbox Code Playgroud)
  14. \n
  15. 此外,您可能希望为 pppd 连接创建接口,以便可以使用 \xe2\x80\x9c ifup \xe2\x80\x9d 和 \xe2\x80\x9c ifdown \xe2\x80\x9d 命令控制 GSM 移动宽带连接/或电脑启动时自动拨号。您可以通过在文件中添加如下内容来实现此目的/etc/network/interfaces

    \n\n
    auto ppp0  \niface ppp0 inet ppp  \n    pre-up sleep 10   \n    provider ispname   \n
    Run Code Online (Sandbox Code Playgroud)
  16. \n
\n


小智 0

这是有关如何从命令行连接到互联网的文章的链接。我不会尝试在这里重现它,因为文章中已经清楚地解释了它。

http://www.ghacks.net/2009/04/14/connect-to-a-wireless-network-via-command-line/

我认为这适用于您正在使用的手机,但我不确定使用手机是否与典型的 wifi 不同。这是另一个论坛中的一个帖子,可能会有所帮助:

https://superuser.com/questions/34166/connecting-to-internet-via-phone-on-linux

我希望这有帮助。祝你好运。