“瑞士軍刀”。不知大家在滲透過程中,拿了shell有沒有使用nc搞點(diǎn)事兒。它..." />
    1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        學(xué)習(xí)網(wǎng)絡(luò)請(qǐng)落實(shí)這幾款小工具

        共 4073字,需瀏覽 9分鐘

         ·

        2020-11-26 21:32


        在實(shí)際開發(fā)過程中,熟練使用Linux或者Windows中相關(guān)網(wǎng)絡(luò)工具,可以更快更準(zhǔn)地找到故障。所以,今天就跟大家分享幾個(gè)實(shí)用的網(wǎng)絡(luò)利器。

        1 nc

        nc-->“瑞士軍刀”。不知大家在滲透過程中,拿了shell有沒有使用nc搞點(diǎn)事兒。它用來快速構(gòu)建網(wǎng)絡(luò)鏈接,常用來調(diào)試客戶端程序。

        nc參數(shù)

        舉例

        執(zhí)行任務(wù)命令
        掃描機(jī)器A端口號(hào)在30-40的服務(wù)nc -z A 30-40
        連接服務(wù)器A端口號(hào)為5000nc -C A 5000
        傳送文件MachineA:nc -v -n ip portE:\a.exe

        2 ping

        用來實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)連通性探測。我們知道網(wǎng)絡(luò)上機(jī)器有唯一確定的IP地址,給對(duì)方發(fā)送數(shù)據(jù)包,根據(jù)返回的信息初步判斷目標(biāo)機(jī)器是否存在或者目標(biāo)機(jī)器操作系統(tǒng)是啥。那么,經(jīng)常使用的ping,底層原理是什么,是TCP/UDP?

        ping

        在具體實(shí)現(xiàn)中,其實(shí)使用了ICMP協(xié)議(網(wǎng)際控制報(bào)文協(xié)議),它是一種基于IP協(xié)議的控制協(xié)議。那么,ICMP協(xié)議(網(wǎng)際控制報(bào)文協(xié)議),其報(bào)文什么樣子呢?

        下面分別闡述下字段含義:

        • 類型:表示ICMP的類型,如果為0表示請(qǐng)求類型,為8表示應(yīng)答。

        • 代碼:用來查找產(chǎn)生錯(cuò)誤的原因。

        • 校驗(yàn)和:檢查錯(cuò)誤的數(shù)據(jù)。

        • 標(biāo)識(shí)符:使用標(biāo)識(shí)符確認(rèn)到底是誰發(fā)送的控制協(xié)議。

        • 序列號(hào):唯一確定的一個(gè)報(bào)文。

        ping命令組裝成上述的IP報(bào)文進(jìn)行發(fā)送,報(bào)文目的地為ping目的地址,原地址為發(fā)送ping主機(jī)地址,然后按照ICMP的規(guī)則填寫數(shù)據(jù)。

        隨后IP報(bào)文通過ARP協(xié)議,請(qǐng)求廣播到局域網(wǎng)絡(luò)上的所有主機(jī),并接收返回消息,以此確定目標(biāo)的物理地址。

        查看詳細(xì)參數(shù)

        ping參數(shù)

        常用參數(shù)

        [-l] :定義所發(fā)送數(shù)據(jù)包的大小,默認(rèn)為32字節(jié)。

        [-n] :定義所發(fā)數(shù)據(jù)包的次數(shù),默認(rèn)為3次。

        [-t] :表示不間斷向目標(biāo)IP發(fā)送數(shù)據(jù)包。

        TTL

        TTL 是 IP 協(xié)議包中的一個(gè)值,它告訴網(wǎng)絡(luò)路由器,包在網(wǎng)絡(luò)中的時(shí)間是否太長而應(yīng)被丟棄。

        • TTL設(shè)置時(shí)間越長,那么緩存時(shí)間也就越長,更新也就越不容易生效。增大TTL可以節(jié)約域名解析時(shí)間從而加快網(wǎng)站的訪問

        • 減小TTL值,減少更換空間時(shí)的不可訪問時(shí)間


        返回值

        • Request timed out

          可能出現(xiàn)的情況:

          -對(duì)方已經(jīng)關(guān)機(jī)或者根本沒有這個(gè)地址。

          -可能不在同一個(gè)網(wǎng)段,即使通過路由也無法找到對(duì)方從而出現(xiàn)超時(shí)。

          -對(duì)方存在但是設(shè)置了防火墻過濾。


        • Destination host Unreachable

          可能出現(xiàn)的情況:

          -與對(duì)方不在同一個(gè)網(wǎng)段且沒有設(shè)置默認(rèn)路由

          -網(wǎng)線出毛病


        • Bad IP address

          可能出現(xiàn)的情況:

          -IP地址不存在

          -沒有正確連接DNS服務(wù)器從而無法解析

        3 ifconfig/ip addr

        查看服務(wù)器網(wǎng)卡、IP等信息。

        ipaddr

        上圖中被馬賽克的位置假設(shè)為10.172.100.3,這樣就是一個(gè)IP地址,IP地址按照小數(shù)點(diǎn)分割為四部分,每部分占8字節(jié),所以IP地址為32位。

        那么,這樣的IP地址一共有多少呢?一共有2的32次方個(gè),估算約為42.9億個(gè),除去一些特用的IP和一些不能用的IP,剩下可用的不到40億。為解決網(wǎng)絡(luò)地址資源不足的問題,從而出現(xiàn)IPV6,128位的IP地址。

        剛開始覺得32位很夠用了,還將其分為5類,如下圖所示:

        網(wǎng)絡(luò)地址分類

        我們?cè)倏纯锤黝惖刂返闹鳈C(jī)數(shù)量是多少?

        上圖中可知道C類地址太少了吧,但是B類地址又太多,怎么中和一下嘞?

        無類型域間選路

        CIDR地址中包含標(biāo)準(zhǔn)的32位IP地址和有關(guān)網(wǎng)絡(luò)前綴位數(shù)的信息。比如10.172.100.3/24,IP地址斜杠后面數(shù)字24,代表前24位是網(wǎng)絡(luò)號(hào),后面8位為主機(jī)號(hào)。

        如何得到網(wǎng)絡(luò)號(hào)?

        使用IP地址和子網(wǎng)掩碼進(jìn)行AND計(jì)算得到網(wǎng)絡(luò)號(hào)。

        4 tcpdump

        和它類似的工具在windows中是wireshark,其采用底層庫winpcap/libpcap實(shí)現(xiàn),采用了bpf過濾機(jī)制。下面我們看看提供的不同參數(shù)的含義。

        tcpdump

        知道了相關(guān)參數(shù),下面看幾個(gè)案例。

        執(zhí)行任務(wù)命令
        捕獲特定網(wǎng)口數(shù)據(jù)包
        tcpdump -i eth0
        捕獲特定個(gè)數(shù)(1000)的包tcpdump -c 1000 -i eth0
        將捕獲的包保存到文件tcpdump -w a.pcap -i eth0
        讀取pcap格式的包tcpdump -r a.pcap
        增加捕獲包的時(shí)間戳tcpdump -n -ttt -i eth0
        指定捕獲包的協(xié)議類型tcpdump -i eth0 arp
        捕獲指定端口tcpdump -i eth0 post 22
        捕獲特定目標(biāo)ip+port的包tcpdump -i eth0 dst address and port 22
        捕獲DNS請(qǐng)求和響應(yīng)tcpdump -i eth0 -s0 port 53
        匹配Http請(qǐng)求頭tcpdump -s 0 -v -n -l | egrep -i "POST /|GET /|Host:"

        5 lsof

        列出當(dāng)前系統(tǒng)打開的文件描述符工具,可以得知感興趣的描述符是被哪些進(jìn)程使用。

        同樣,我們看看相關(guān)參數(shù):

        lsof

        舉例

        執(zhí)行任務(wù)命令
        列出所有的網(wǎng)絡(luò)鏈接lsof -i
        列出所有udp的網(wǎng)絡(luò)鏈接lsof -i udp
        列出誰在使用某個(gè)端口lsof -i :3306
        列出誰在使用特定的tcp端口lsof -i tcp:80
        根據(jù)文件描述范圍列出文件信息lsof -d 2-3

        6 netstat

        netstat是一個(gè)網(wǎng)絡(luò)信息統(tǒng)計(jì)工具。它可以得到網(wǎng)卡接口上全部鏈接、路由表信息、網(wǎng)卡接口信息等。通常在網(wǎng)絡(luò)編程中我們用它來顯示TCP連接以及狀態(tài)信息。

        下面列舉幾個(gè)常用例子。

        執(zhí)行任務(wù)命令
        列出所有連接netstat -a
        只列出TCP或者UDPnetstat -at/netstat -au
        列出監(jiān)聽中的連接netstat -tnl
        獲取進(jìn)程名、進(jìn)程號(hào)以及用戶IDnestat ?-nlpt
        打印統(tǒng)計(jì)信息netstat -s
        netstat持續(xù)輸出netstat -ct
        打印active狀態(tài)的連接netstat -atnp | grep ESTA
        查看服務(wù)是否運(yùn)行(npt)netstat -aple| grep ntp

        7 dpkt

        dpkt定義包packet類,它定義了網(wǎng)絡(luò)報(bào)文類型的基礎(chǔ)類。其中IP、ICMP等繼承于dpkt class,每一個(gè)子類有一個(gè)_hdr_結(jié)構(gòu),此結(jié)構(gòu)定義了不同報(bào)文的頭部,方便取出相應(yīng)的控制字段。示例如下:

        #!/usr/bin/python
        #coding=utf-8
        import?dpkt
        import?socket
        import?optparse

        def?printPcap(pcap):
        ????#?遍歷[timestamp,?packet]記錄的數(shù)組
        ????for?(ts,?buf)?in?pcap:
        ????????try:
        ????????????#?獲取以太網(wǎng)部分?jǐn)?shù)據(jù)
        ????????????eth?=?dpkt.ethernet.Ethernet(buf)
        ????????????#?獲取IP層數(shù)據(jù)
        ????????????ip?=?eth.data
        ????????????#?把存儲(chǔ)在inet_ntoa中的IP地址轉(zhuǎn)換成一個(gè)字符串
        ????????????src?=?socket.inet_ntoa(ip.src)
        ????????????dst?=?socket.inet_ntoa(ip.dst)
        ????????????print?'[+]?源地址:?'?+?src?+?'?-->?目標(biāo)地址:?'?+?dst
        ????????except:
        ????????????pass

        def?main():
        ????parser?=?optparse.OptionParser('[*]?Usage?:?./pcapTest.py?-f?')#測試包
        ????parser.add_option('-f',dest='fileName',type='string',help='specify?target?filename')
        ????(options,args)?=?parser.parse_args()
        ????fileName?=?options.fileName#?取得包名

        ????if?fileName?==?None:
        ????????print?parser.usage
        ????????exit(0)
        ????else:
        ????????#f?=?open('geotest.pcap')
        ????????f?=?open(fileName)
        ????????pcap?=?dpkt.pcap.Reader(f)
        ????????printPcap(pcap)

        if?__name__?==?'__main__':
        ????main()

        8 scapy

        注意哈,這個(gè)是嗅探包,不是爬蟲框架scrapy哈??纯垂倬W(wǎng)怎么說的,如“強(qiáng)大的交互式包操作工具”、“支持大量協(xié)議的包解析和包構(gòu)造”、“輕松取代hping,85%的nmap,arpspoof,tcpdump等等”。不過歸根到底,它說的強(qiáng)大功能,都是基于Scapy是一個(gè)強(qiáng)大的網(wǎng)絡(luò)數(shù)據(jù)包操作工具才能實(shí)現(xiàn)得了的。這里只是大概介紹,具體用法官網(wǎng)非常詳細(xì),有助于學(xué)習(xí)網(wǎng)絡(luò)協(xié)議。



        良許個(gè)人微信


        添加良許個(gè)人微信即送3套程序員必讀資料


        → 精選技術(shù)資料共享

        → 高手如云交流社群





        本公眾號(hào)全部博文已整理成一個(gè)目錄,請(qǐng)?jiān)诠娞?hào)里回復(fù)「m」獲??!

        推薦閱讀:

        從無盤啟動(dòng)看 Linux 啟動(dòng)原理

        去了兩家外包公司,顛覆了我的認(rèn)知!

        你已經(jīng)是個(gè)成熟的 985 大學(xué)了,請(qǐng)不要在大一教 C 語言!


        5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機(jī),樹莓派,等等。在公眾號(hào)內(nèi)回復(fù)「1024」,即可免費(fèi)獲?。。?/span>


        瀏覽 25
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            欧美精品一区二区三区很污很色的 | 日韩精品人妻免费大片 | AV性爱网 | 女人本色wwwwww高清视频 | 日韩熟女性爱视频 | 夜夜爱欧美 | brazzersxxxxhdhd1080 | 玖玖玖在线| 成人激情性爱视频 | 亚洲国产内射 |