Termux

 

1. Termux
	1.1 安裝地址
	1.2 查看手冊
	1.3 開放源碼
2. proot
	2.1 Termux爲您的設備提供以下版本的Linux操作系統軟件:
	2.2 使用
	2.3 設置爲Arch環境
3. gentoo下的終端仿真器
4. proot維基百科
5. chroot
	5.1 chroot的用途
	5.2 chroot的要求
	5.3 使用
	5.4 在chroot中使用圖形界面
6. termux-FAQ
	6.1 如何訪問Termux中的設備存儲?
	6.2 內部和外部存儲
	6.3 共享資料
	6.4 termux下的部分檢測工具

1. Termux

https://termux.com/
Termux是一個Android終端模擬器和Linux環境應用程序,可直接運行而無需root或安裝。自動安裝了最小的基本系統-使用APT軟件包管理器可以安裝其他軟件包。

  • Secure 安全: 使用OpenSSH的ssh客戶端訪問遠程服務器。Termux在漂亮的開源解決方案中將標準軟件包與精確的終端仿真相結合。
  • Feature packed 功能打包: 在Bash,fish或Zsh和nano,Emacs或Vim之間選擇。使用curl訪問API端點,並使用rsync將聯繫人列表的備份存儲在遠程服務器上。
  • Customizable 可定製: 通過Debian和Ubuntu GNU/Linux已知的APT軟件包管理系統安裝所需的軟件包。爲什麼不開始安裝Git並同步您的點文件?
  • Explorable 可探索的: Termux中提供的軟件包與Mac和Linux上的軟件包相同-在手機上安裝手冊頁,並在一個會話中閱讀手冊,而在另一個會話中進行實驗。
  • With batteries included: Perl,Python,Ruby和Node.js的最新版本均可用。
  • Ready to scale up: 連接藍牙鍵盤,並在需要時將設備連接至外部顯示器-Termux支持鍵盤快捷鍵並具有完整的鼠標支持。
  • Tinkerable 可修補的: 通過使用Clang編譯C文件進行開發,並使用CMake和pkg-config構建自己的項目。如果您遇到困難並需要調試,則GDB和strace均可用。

1.1 安裝地址

可通過Google Play, F-Droid或者Nethunter Store上下載安裝

帶有軟件包的終端模擬器,Termux將強大的終端仿真與廣泛的Linux軟件包集合結合在一起。

  • Enjoy the bash and zsh shells.
  • Edit files with nano and vim.
  • Access servers over ssh.
  • Compile code with gcc and clang.
  • Use the python console as a pocket calculator.
  • Check out projects with git and subversion.
  • Run text-based games with frotz.

首先,下載一個小型基本系統-然後可以使用Debian和Ubuntu Linux發行版中已知的apt軟件包管理器安裝所需的軟件包。
長按終端上的任意位置並選擇“幫助”菜單選項以瞭解更多信息,以訪問內置幫助。
join the Termux IRC chat: #termux on freenode

1.2 查看手冊

https://wiki.termux.com/wiki/Main_Page
Addons,Termux具有一些額外的功能(需要購買)。您可以通過安裝插件來添加它們:

  • Termux:API (free):從Termux訪問Android功能 (讀取SMS,GPS,通知等)
  • Termux:Boot 啓動:Termux的附加組件,使程序可以在引導時運行
  • Termux:Float 浮動:在浮動終端窗口中使用Termux
  • Termux:Styling 樣式:自定義您的Termux終端, 調整終端的顏色和字體
  • Termux:Tasker 任務:Tasker插件可從Tasker運行Termux腳本
  • Termux:Widget 小部件:從主屏幕啓動Termux命令, 使用桌面圖標在Termux中運行程序

1.3 開放源碼

https://github.com/termux
https://github.com/termux/termux-packages
https://github.com/termux/termux-app
除其他外,Termux還提供了帶有許多擴展庫的C clang編譯器。這使您可以在Termux和Termux中編譯自己的應用程序。
Termux配備了許多其他語言的翻譯器和口譯器,例如Python,Java,Go,Rust和其他語言。
Midnight Comander文件管理器,Vim文本編輯器,SSH應用程序等可用,使Termux成爲Andriod設備上舒適的工作區,尤其是在配備鍵盤的情況下。

在許多情況下,在終端環境中的Linux PC和Android及Termux設備上工作沒有區別。但是,由於Android的限制(不允許直接訪問硬件),該環境無法完全正常運行。
例如 Termux中無法訪問USB端口和連接到該端口的設備。在更高版本的Android中,由於對/proc文件系統的訪問限制,“ top” info命令不起作用。

2. proot

https://wiki.termux.com/wiki/PRoot
說明:爲非root用戶模擬chroot,綁定mount和binfmt_misc
https://proot-me.github.io
https://github.com/proot-me/PRoot
PRoot概述
PRoot使用`ptrace`系統調用來僞造root特權。這意味着它將跟蹤其每個子進程,以解釋和轉換由子進程進行的系統調用。
PRoot命令可用於從僞造的chroot執行一個命令或啓動Shell會話。後者對於虛擬化其他操作系統的來賓根文件系統很有用。
如果您知道某些命令行,請運行proot --help以獲取完整的幫助屏幕。建議您在使用任何來賓OA rootfs之前始終學習Linux命令行基礎知識。
同樣,PRoot僅虛擬化根文件系統樹,而不是整個操作系統。不要期望諸如插入內核模塊之類的事情起作用。
當使用proot虛擬化rootfs時,會觀察到性能下降,這當然不如使用模擬器慢。但是,當Termux生態系統中提供了所需的軟件包時,請使用它們,因爲它更容易,更快捷。
不要指望一切正常。

PROOT是一個用戶空間實現的chroot,mount --bind和binfmt_misc。
這意味着用戶不需要任何特權或設置即可執行諸如使用任意目錄作爲新的根文件系統的操作。
啓用PRoot的好處包括在Android智能手機和平板電腦以及Chromebook 的Termux chroot中運行Linux操作系統。

2.1 Termux爲您的設備提供以下版本的Linux操作系統軟件:

Arch  	https://wiki.termux.com/wiki/Arch
Archstrike	https://wiki.termux.com/wiki/Archstrike
Blackarch	https://wiki.termux.com/wiki/Blackarch
 Ubuntu 	https://wiki.termux.com/wiki/Ubuntu
 Debian 	https://wiki.termux.com/wiki/Debian
 Fedora 	https://wiki.termux.com/wiki/Fedora
Slackware	https://wiki.termux.com/wiki/Slackware
Alpine Linux	https://github.com/Hax4us/TermuxAlpine

2.2 使用

設定值
要在安裝了termux-exec和時使用proot:
  unset LD_PRELOAD
  export LD_PRELOAD=$PREFIX/lib/libtermux-exec.so
如何取消 unset?

如果要啓動或執行包含proot命令的啓動腳本,則在此之前必須先取消設置LD_PRELOAD(如果同時安裝了termux-exec),否則將收到錯誤消息。通過執行,很容易取消設置LD_PRELOAD
  unset LD_PRELOAD

如何退縮 set back?
現在,如果您完成了代理工作,並且想要使用termux,那麼現在您有兩個選擇可以再次設置/導出LD_PRELOAD:
1)只需打開一個新會話並從上一個會話退出,那麼現在您的LD_PRELOAD將隨新會話自動設置。
2)如果由於任何原因不想打開新會話,也可以通過執行以下命令在同一會話中導出或設置LD_PRELOAD路徑
  export LD_PRELOAD=$PREFIX/lib/libtermux-exec.so

2.3 設置爲Arch環境

https://wiki.termux.com/wiki/Arch
該Termux設置外殼腳本將嘗試在Termux環境中設置Arch Linux。分別執行以下每個命令行以運行setupTermuxArch.bash。一次運行它們可能會產生錯誤;提示,複製並粘貼以下內容:
pkg install curl
curl -OL https://raw.githubusercontent.com/TermuxArch/TermuxArch/master/setupTermuxArch.bash
bash setupTermuxArch.bash
建議此安裝的可用空間分配約爲用戶空間中的1G可用空間,而不是外部SD卡上的可用空間。Android智能手機2018上Termux PRoot中的Arch Linux:

3. gentoo下的終端仿真器

https://wiki.gentoo.org/wiki/Android/Terminal_Emulators_(Tips-and-tricks)
此目錄在所有Android設備之間通用。
$ cd /data/data/<package name>

https://wiki.gentoo.org/wiki/Project:Android/tarball
本指南介紹瞭如何使用預編譯的stage3 tarball在Android設備上安裝Gentoo Prefix。
需要root用戶的設備才能安裝Gentoo。由於大多數Android系統都noexec爲用戶可寫分區設置了選項,因此無法執行應用程序。同時,正在探索在無根設備上運行Gentoo的可能性。
需要比1.17更新的Busybox。如果您還沒有,建議使用Stericson版本
下載最新的64位tarball(2018.02.25)或32位tarball(2018.02.26),然後將其解壓縮到/ data目錄中。

4. proot維基百科

https://wiki.archlinux.org/index.php/PRoot
PRoot是一種程序,它在用戶空間中實現類似於GNU/Linux的chroot,mount --bind和binfmt_misc的功能,從而允許無特權的用戶執行具有備用根目錄的程序,就像chroot“ jail”一樣。在由於缺乏root特權而無法使用chroot的情況下,這很有用。
安裝後,PRoot不需要root特權。與chroot一樣,必須給PRoot一個目錄,以充當要運行的程序的新根目錄。如果未指定程序,則/bin/sh默認情況下將啓動PRoot 。無需手動安裝虛擬文件系統,因爲PRoot會自動進行處理。
$ proot -r ~/mychroot/
此時,將啓動一個外殼,其外殼與主機系統上的目錄/相對應~/chroot/。
可以使用以下-b選項顯式綁定路徑:
$ proot -b /bin/bash:/bin/sh
這使得主機的/ bin / bash在來賓的/ bin / sh中可用
PRoot在內部利用qemu用戶模式仿真器允許程序在PRoot內部運行,即使它們是針對除主機系統之外的體系結構進行編譯的。
與chroot一樣,PRoot僅提供文件系統級別的隔離。PRoot“監獄”內部的程序共享相同的內核,硬件,進程空間和網絡子系統。chroot和PRoot不能替代真正的虛擬化應用程序,例如虛擬機管理程序和半虛擬化程序。

5. chroot

https://wiki.archlinux.org/index.php/Chroot
chroot是改變表觀根目錄爲當前運行的進程和他們的孩子的操作。在這種修改後的環境中運行的程序無法訪問該環境目錄樹之外的文件和命令。修改後的環境稱爲chroot監獄。
更改根目錄通常是爲了在不再可能進行引導和/或登錄的系統上執行系統維護。

5.1 chroot的用途

重新安裝引導程序。 	https://wiki.archlinux.org/index.php/Bootloader
重建initramfs映像。	https://wiki.archlinux.org/index.php/Mkinitcpio
升級或降級軟件包。 	https://wiki.archlinux.org/index.php/Downgrading_packages
重設忘記的密碼。   	https://wiki.archlinux.org/index.php/Password_recovery
在乾淨的chroot中構建包.	https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_clean_chroot

5.2 chroot的要求

  • root根特權。
  • 另一個Linux環境,例如LiveCD或USB閃存介質,或來自另一個現有Linux發行版的環境。
  • 匹配的架構環境;即chroot從和chroot到。當前環境的體系結構可以通過以下方式發現:(uname -m例如i686或x86_64)。
  • 加載了chroot環境中所需的內核模塊。
  • 如果需要,啓用交換: # swapon /dev/sdxY
  • 如果需要,建立Internet連接。

5.3 使用

例如,在安裝指南中,該目錄爲/mnt:
# arch-chroot /mnt
要退出chroot,只需使用:
# exit

https://en.wikipedia.org/wiki/Chroot
https://zh.wikipedia.org/wiki/Chroot
chroot是在unix系統的一個操作,針對正在運作的軟件行程和它的子進程,改變它外顯的根目錄。一個運行在這個環境下,經由chroot設置根目錄的程序,它不能夠對這個指定根目錄之外的文件進行訪問動作,不能讀取,也不能更改它的內容。chroot這一特殊表達可能指chroot系統調用或chroot前端程序。
由chroot創造出的那個根目錄,叫做“chroot監獄”(chroot jail,或chroot prison)。

5.4 在chroot中使用圖形界面

在chroot環境中使用圖形界面是可能的,參見以下幾個方案:

  • xhost (or copy the secret from .Xauthority) https://wiki.archlinux.org/index.php/Xhost
  • 使用內置像Xnest這樣嵌套的X服務,或更現代的Xephyr(或者在監牢中啓動真正的X服務)
  • 通過開啓X11轉發(X11 forwarding)的 SSH連接到chroot中(ssh -X)
  • 當一個X服務啓動是設置爲不監聽tcp端口或沒有可用的SSH服務器時,使用openroot
  • 通過一個X11 VNC服務,鏈接到在外環境的VNC客戶端
  • xchroot 是chroot環境的擴展版本,爲用戶和Xorg/X11轉發(socat/mount)

https://wiki.archlinux.org/index.php/Category:Virtualization
https://wiki.archlinux.org/index.php/Arch_Linux_VPS

6. termux-FAQ

https://wiki.termux.com/wiki/FAQ
什麼是Termux?
Termux是Android的終端模擬器。由於存在大量可用的軟件包,例如clang,ffmpeg,openssh,python,vim,它可以被認爲更像是Linux發行版,而不僅僅是終端應用程序。
Termux不是操作系統或硬件仿真器。它與Android OS的其他部分共享相同的環境。爲了更好地瞭解發生了什麼,建議閱讀以下文章:
維基百科:什麼是終端模擬器 https://en.wikipedia.org/wiki/Terminal_emulator
Termux與Linux發行版有何不同 https://wiki.termux.com/wiki/Differences_from_Linux

6.1 如何訪問Termux中的設備存儲?

您需要向Termux應用程序授予存儲權限。
打開Android設置,然後轉到Apps>Termux>Permissions(權限),然後在菜單中切換存儲權限。
也可以直接從Termux命令行請求此權限,只需執行: termux-setup-storage  並授予所請求的權限。

6.2 內部和外部存儲

https://wiki.termux.com/wiki/Internal_and_external_storage
Termux有三種主要的存儲類型:

  • App-private storage: 應用程序專用存儲:放在 $HOME 中的文件,可從Termux內部使用(或明確選擇時,例如,將文件附加到郵件時)。
  • Shared internal storage: 共享內部存儲空間:設備中可供所有應用程序使用的存儲空間。在Android 6.0上,這要求用戶顯式授予Termux的訪問權限,以便Termux可以訪問它。
  • External storage: 外部存儲設備:存儲在外部SD卡上。每個應用程序在外部SD卡上都有一個專用文件夾,它們之間的互換需要使用Termux中尚不可用的特殊API。

訪問共享和外部存儲
要訪問共享和外部存儲,您需要運行termux-setup-storage。然後,系統將提示您“允許Termux訪問設備上的照片,媒體和文件”,這應該允許。

執行termux-setup-storage可以確保:

在Android 6.0或更高版本上運行時,對共享存儲的權限將授予Termux。
在外部存儲上創建了一個應用程序專用文件夾(如果存在外部存儲)。
創建一個文件夾 $HOME/storage

~/storage
創建的 $HOME/storage 指向不同存儲文件夾的符號鏈接:

~/storage/shared	所有應用之間共享存儲的根。
 ~/storage/downloads	從例如系統瀏覽器下載的標準目錄。
 ~/storage/dcim 	將設備安裝爲相機時,圖片和視頻的傳統位置。
 ~/storage/pictures	放置用戶可用圖片的標準目錄。
 ~/storage/music	在標準目錄中,應將任何音頻文件放置在用戶的常規音樂列表中。
 ~/storage/movies	放置用戶可用電影的標準目錄。
 ~/storage/external	符號鏈接到外部存儲上的Termux專用文件夾(僅當外部存儲可用時)。

6.3 共享資料

https://wiki.termux.com/wiki/Sharing_Data
默認情況下,其他應用程序無法訪問Termux主目錄中存儲的文件。這是Android本身的侷限性。
解決方法是,您可以使用[termux-open] termux-tools軟件包中的可用資源共享具有讀取訪問權限的文件。

$ termux-open -h
Usage: termux-open [options] path-or-url
Open a file or URL in an external app. 在外部應用程序中打開文件或URL。
  --send               if the file should be shared for sending  是否共享文件以進行發送
  --view               if the file should be shared for viewing (default)  是否共享文件以進行查看(默認)
  --chooser            if an app chooser should always be shown  是否始終顯示應用選擇器
  --content-type type  specify the content type to use  指定要使用的內容類型
$ termux-open hello.c

爲了與標準Linux程序兼容,[xdg-open]符號鏈接到[termux-open]。

有時,讀取訪問權限還不夠,您需要能夠修改文件。這可以通過將所需文件存儲在sdcard上來實現。
Android Lollipop應該可以立即使用, 但是,棉花糖及更高版本要求Termux應用程序請求讀取/寫入外部數據的權限。

termux-setup-storage 對話框彈出時運行並授予權限。
這將創建一個$HOME/storage目錄,該目錄帶有指向sdcard各自路徑的符號鏈接。

6.4 termux下的部分檢測工具

https://cs.wikipedia.org/wiki/Termux#Dostupnost
Nmap, 它是一種收集信息並檢測漏洞的工具。
SQLmap, 工具SQLMAP是一個來尋找弱點非常有用的工具,在該網站是由大量使用的黑客黑客,安全研究員。這取決於在大多數站點中發現的SQL漏洞。
Lazymux, sudo, Black Hydra, Hydra, Fl00d & Fl00d2, FB Brute Force, Infoga, Webdav, LANs.py,
RED HAWK, Metasploit, Ufonet, IPLoc, D-Tect, ReconDog, A-Rat, Meisha, Torshammer,
Kali NetHunter, Ngrok, DSSS, Weeman, Hash-Buster, Wifite 2, Ubuntu, Fedora,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章