MHuiG

「看庭前花开花落,望天上云卷云舒」

适用于 Linux 的 windows 子系统

# 适用于 Linux 的 windows 子系统

## 开启 wsl

首先：为了 win10 能运行适用于 Linux 的 windows 子系统，我们需要开启 wsl
第一种方法：

开启 wsl，开启步骤：按 win + x 进入 Windows Power Shell，输入下面的命令开启，

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

开启后重启系统。

第二种

方法步骤

## 安装 kali

进入应用商店，搜索 kali，直接安装

## 安装 VIM

    sudo apt-get install vim

## 更新源

    vi /etc/apt/sources.list

    #阿里云
    deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
    deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib

    #清华大学
    deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
    deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free

    #浙大
    deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
    deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free

    #中科大
    deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
    deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

    #官方源
    deb http://http.kali.org/kali kali-rolling main non-free contrib
    deb-src http://http.kali.org/kali kali-rolling main non-free contrib

    sudo apt-get update && sudo apt-get dist-upgrade

    apt-get install apt-transport-https

## 配置 SSH

在 Linux 子系统默认命令端输入，查看 ip 地址

    ifconfig

配置 SSH 服务

    sudo apt-get remove --purge openssh-server   ## 先删ssh
    sudo apt-get install openssh-server          ## 在安装ssh

    sudo rm /etc/ssh/ssh_config                  ## 删配置文件
    sudo service ssh --full-restart

修改 sshd_config 文件

    vi /etc/ssh/sshd_config

将 #PasswordAuthentication no 的注释去掉，并且将 NO 修改为 YES，kali 中默认是 yes

    PasswordAuthentication yes

将 PermitRootLogin without-password 修改为

    PermitRootLogin yes

使用 xshell 登录

上面命令执行完之后，在 xshell 中输入用户名和 ip 就可以通过 xshell 登录自己电脑的 Linux。

配置永久解决方案

通过上面的方法，我们可以通过 xshell 登录自己电脑的 Linux。但是断开之后重新开机，我们又需要重新配置 SSH。因此，我们需要配置以下命令下，一劳永逸。

    sudo service ssh --full-restart   ## 将该命令保存为service.sh，存在home目录下

配置好之后，下次开机，只需要在 Linux 子系统的默认终端运行 sh service.sh 命令后，关掉终端改用 xshell 登录即可。

## 图形界面

    sudo apt-get install vnc4server tightvncserver
    sudo apt-get install xrdp
    sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini
    //apt-get install kali-defaults kali-root-login desktop-base kde-full
    sudo apt-get install xorg
    sudo apt-get install xfce4
    //apt-get install kali-defaults kali-root-login desktop-base xfce4 xfce4-places-plugin xfce4-goodies
    sudo echo xfce4-session >~/.xsession
    sudo service xrdp restart

## 安装工具包

    apt install kali-linux-full

## win 下关闭 kali

    net stop LxssManager

## ubuntu 下神奇的多线程 apt-get

### 安装 axel

    sudo apt-get install axel

### 下载脚本 apt-fast.sh

下载地址 http://www.mattparnell.com/linux/apt-fast/apt-fast.sh

    # !/bin/sh
    # apt-fast v0.03 by Matt Parnell http://www.mattparnell.com, this thing is fully open-source
    # if you do anything cool with it, let me know so I can publish or host it for you
    # contact me at admin@mattparnell.com

    # Special thanks
    # Travis/travisn000 - support for complex apt-get commands
    # Allan Hoffmeister - aria2c support
    # Abhishek Sharma - aria2c with proxy support
    # Richard Klien - Autocompletion, Download Size Checking (made for on ubuntu, untested on other distros)
    # Patrick Kramer Ruiz - suggestions - see Suggestions.txt
    # Sergio Silva - test to see if axel is installed, root detection/sudo autorun

    # Use this just like apt-get for faster package downloading.

    # Check for proper priveliges
    [ "`whoami`" = root ] || exec sudo "$0" "$@"

    # Test if the axel is installed
    if [ ! -x /usr/bin/axel ]
    then echo "axel is not installed, perform this?(y/n)"
        read ops
        case $ops in
             y) if apt-get install axel -y --force-yes
                   then echo "axel installed"
                else echo "unable to install the axel. you are using sudo?" ; exit
                fi ;;
             n) echo "not possible usage apt-fast" ; exit ;;
        esac
    fi

    # If the user entered arguments contain upgrade, install, or dist-upgrade
    if echo "$@" | grep -q "upgrade\|install\|dist-upgrade"; then
      echo "Working...";

      # Go into the directory apt-get normally puts downloaded packages
      cd /var/cache/apt/archives/;

      # Have apt-get print the information, including the URI's to the packages
      # Strip out the URI's, and download the packages with Axel for speediness
      # I found this regex elsewhere, showing how to manually strip package URI's you may need...thanks to whoever wrote it
      apt-get -y --print-uris $@ | egrep -o -e "(ht|f)tp://[^\']+" > apt-fast.list && cat apt-fast.list | xargs -l1 axel -a

      # Perform the user's requested action via apt-get
      apt-get $@;

      echo -e "\nDone! Verify that all packages were installed successfully. If errors are found, run apt-get clean as root and try again using apt-get directly.\n";

    else
       apt-get $@;
    fi

### 安装 apt-fast

    sudo mv /root/apt-fast.sh /usr/bin/apt-fast
    sudo chmod +x /usr/bin/apt-fast

现在你已经可以使用 apt-fast 替代 apt-get 了
试一下

    apt-fast update
    apt-fast upgrade
    apt-fast install XXXXX

### 魔改 axel 设置脚本

    sudo vim /etc/axelrc

找到

    num_connections = 4

默认的 4 线程
直接修改这个值
例如：十线程

    num_connections = 10

## Linux 下的 vim 配置文件

    vi ~/.vimrc

    " Vim config file.

    " Global Settings: {{{
    syntax on                           " highlight syntax
    filetype plugin indent on           " auto detect file type

    set nocompatible                    " out of Vi compatible mode
    "set number                          " show line number
    set numberwidth=3                   " minimal culumns for line numbers
    set textwidth=0                     " do not wrap words (insert)
    set nowrap                          " do not wrap words (view)
    set showcmd                         " show (partial) command in status line
    set ruler                           " line and column number of the cursor position
    set wildmenu                        " enhanced command completion
    set wildmode=list:longest,full      " command completion mode
    set laststatus=2                    " always show the status line
    set mouse=                         " use mouse in all mode
    set foldenable                      " fold lines
    set foldmethod=marker               " fold as marker
    set noerrorbells                    " do not use error bell
    set novisualbell                    " do not use visual bell
    set t_vb=                           " do not use terminal bell

    set wildignore=.svn,.git,*.swp,*.bak,*~,*.o,*.a
    set autowrite                       " auto save before commands like :next and :make
    set cursorline
    set hidden                          " enable multiple modified buffers
    set history=1000                     " record recent used command history
    set autoread                        " auto read file that has been changed on disk
    set backspace=indent,eol,start      " backspace can delete everything
    set completeopt=menuone,longest     " complete options (insert)
    set pumheight=10                    " complete popup height
    set scrolloff=5                     " minimal number of screen lines to keep beyond the cursor
    set autoindent                      " automatically indent new line
    set cinoptions=:0,l1,g0,t0,(0,(s    " C kind language indent options
    set clipboard+=unnamed              " shared clipboard
    set noexpandtab                     " do not use spaces instead of tabs

    set tabstop=4                       " number of spaces in a tab
    set softtabstop=4                   " insert and delete space of <tab>
    set shiftwidth=4                    " number of spaces for indent
    set expandtab                       " expand tabs into spaces
    set incsearch                       " incremental search
    set hlsearch                        " highlight search match
    set ignorecase                      " do case insensitive matching
    set smartcase                       " do not ignore if search pattern has CAPS
    set nobackup                        " do not create backup file
    "set noswapfile                      " do not create swap file
    set backupcopy=yes                  " overwrite the original file

    set encoding=utf-8
    set termencoding=utf-8
    set fileencoding=utf-8
    set fileencodings=gb2312,utf-8,gbk,gb18030
    set fileformat=unix

    set background=dark
    "colorscheme SolarizedDark_modified
    "colorscheme wombat_modified
    " gui settings
    if has("gui_running")
        set guioptions-=T " no toolbar
        set guioptions-=r " no right-hand scrollbar
        set guioptions-=R " no right-hand vertically scrollbar
        set guioptions-=l " no left-hand scrollbar
        set guioptions-=L " no left-hand vertically scrollbar
        autocmd GUIEnter * simalt ~x " window width and height
        language messages zh_CN.utf-8 " use chinese messages if has
    endif

    " Restore the last quit position when open file.
    autocmd BufReadPost *
        \ if line("'\"") > 0 && line("'\"") <= line("$") |
        \     exe "normal g'\"" |
        \ endif
    "}}}

    " Key Bindings: {{{
    let mapleader = ","
    let maplocalleader = "\\"

    " map : -> <space>
    map <Space> :

    " move between windows
    nmap <C-h> <C-w>h
    nmap <C-j> <C-w>j
    nmap <C-k> <C-w>k
    nmap <C-l> <C-w>l

    " Don't use Ex mode, use Q for formatting
    map Q gq

    "make Y consistent with C and D
    nnoremap Y y$

    " toggle highlight trailing whitespace
    nmap <silent> <leader>l :set nolist!<CR>

    " Ctrl-E to switch between 2 last buffers
    nmap <C-E> :b#<CR>

    " ,e to fast finding files. just type beginning of a name and hit TAB
    nmap <leader>e :e **/

    " Make shift-insert work like in Xterm
    map <S-Insert> <MiddleMouse>
    map! <S-Insert> <MiddleMouse>

    " ,n to get the next location (compilation errors, grep etc)
    nmap <leader>n :cn<CR>
    nmap <leader>p :cp<CR>

    " Ctrl-N to disable search match highlight
    nmap <silent> <C-N> :silent noh<CR>

    " center display after searching
    nnoremap n   nzz
    nnoremap N   Nzz
    nnoremap *   *zz
    nnoremap #   #zz
    nnoremap g*  g*zz
    nnoremap g#  g#z
    "}}}

    " mru
    let MRU_Window_Height = 10
    nmap <Leader>r :MRU<cr>

    " taglist
    let g:Tlist_WinWidth = 25
    let g:Tlist_Use_Right_Window = 0
    let g:Tlist_Auto_Update = 1
    let g:Tlist_Process_File_Always = 1
    let g:Tlist_Exit_OnlyWindow = 1
    let g:Tlist_Show_One_File = 1
    let g:Tlist_Enable_Fold_Column = 0
    let g:Tlist_Auto_Highlight_Tag = 1
    let g:Tlist_GainFocus_On_ToggleOpen = 1
    nmap <Leader>t :TlistToggle<cr>

    " nerdtree
    let g:NERDTreeWinPos = "right"
    let g:NERDTreeWinSize = 30
    let g:NERDTreeShowLineNumbers = 1
    let g:NERDTreeQuitOnOpen = 1
    nmap <Leader>f :NERDTreeToggle<CR>
    nmap <Leader>F :NERDTreeFind<CR>

    "paste
    vmap <C-c> "+y
    nmap <C-v> "+p
    set pastetoggle=<F12>

    "C，C++ Java Compile and run by F5
    map <F5> :call CompileRunGcc()<CR>
    func! CompileRunGcc()
        exec "w"
        if &filetype == 'c'
            exec "!g++ % -o %<"
            exec "! ./%<"
        elseif &filetype == 'cpp'
            exec "!g++ % -o %<"
            exec "! ./%<"
        elseif &filetype == 'java'
            exec "!javac %"
            exec "!java %<"
        elseif &filetype == 'sh'
            :!./%
        endif
    endfunc

    "C,C++ debug
    map <F8> :call Rungdb()<CR>
    func! Rungdb()
        exec "w"
        exec "!g++ % -g -o %<"
        exec "!gdb ./%<"
    endfunc

## PS1

    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

## bashrc

    # ~/.bashrc: executed by bash(1) for non-login shells.
    # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
    # for examples

    # If not running interactively, don't do anything
    case $- in
        *i*) ;;
          *) return;;
    esac

    # don't put duplicate lines or lines starting with space in the history.
    # See bash(1) for more options
    HISTCONTROL=ignoreboth

    # append to the history file, don't overwrite it
    shopt -s histappend

    # for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
    HISTSIZE=1000
    HISTFILESIZE=2000

    # check the window size after each command and, if necessary,
    # update the values of LINES and COLUMNS.
    shopt -s checkwinsize

    # If set, the pattern "**" used in a pathname expansion context will
    # match all files and zero or more directories and subdirectories.
    #shopt -s globstar

    # make less more friendly for non-text input files, see lesspipe(1)
    #[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

    # set variable identifying the chroot you work in (used in the prompt below)
    if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
        debian_chroot=$(cat /etc/debian_chroot)
    fi

    # set a fancy prompt (non-color, unless we know we "want" color)
    case "$TERM" in
        xterm-color) color_prompt=yes;;
    esac

    # uncomment for a colored prompt, if the terminal has the capability; turned
    # off by default to not distract the user: the focus in a terminal window
    # should be on the output of commands, not on the prompt
    force_color_prompt=yes

    if [ -n "$force_color_prompt" ]; then
        if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
        # We have color support; assume it's compliant with Ecma-48
        # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
        # a case would tend to support setf rather than setaf.)
        color_prompt=yes
        else
        color_prompt=
        fi
    fi

    if [ "$color_prompt" = yes ]; then
        PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    else
        PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    fi
    unset color_prompt force_color_prompt

    # If this is an xterm set the title to user@host:dir
    case "$TERM" in
    xterm*|rxvt*)
        PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
        ;;
    *)
        ;;
    esac

    # colored GCC warnings and errors
    export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

    # enable color support of ls and also add handy aliases
    if [ -x /usr/bin/dircolors ]; then
        test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
        alias ls='ls --color=auto'
        alias dir='dir --color=auto'
        alias vdir='vdir --color=auto'

        alias grep='grep --color=auto'
        alias fgrep='fgrep --color=auto'
        alias egrep='egrep --color=auto'
    fi

    # some more ls aliases
    alias ll='ls -l'
    alias la='ls -A'
    alias l='ls -la'

    # Alias definitions.
    # You may want to put all your additions into a separate file like
    # ~/.bash_aliases, instead of adding them here directly.
    # See /usr/share/doc/bash-doc/examples in the bash-doc package.

    if [ -f ~/.bash_aliases ]; then
        . ~/.bash_aliases
    fi

    # enable programmable completion features (you don't need to enable
    # this, if it's already enabled in /etc/bash.bashrc and /etc/profile
    # sources /etc/bash.bashrc).
    if ! shopt -oq posix; then
      if [ -f /usr/share/bash-completion/bash_completion ]; then
        . /usr/share/bash-completion/bash_completion
      elif [ -f /etc/bash_completion ]; then
        . /etc/bash_completion
      fi
    fi

windows环境下netcat的安装及使用

netcat 的安装及使用 windows 环境下 netcat 的安装及使用 Step 1下载 netcat 下载地址：https://eternallybored.org/misc...

留言区

Notes
Windows
本文目录
Are You A Robot?