日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Troubleshooting(三):网络

發(fā)布時(shí)間:2023/11/29 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Troubleshooting(三):网络 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

前言

? ? 在 Troubleshooting 過程中,檢查完進(jìn)程信息后,接下來(lái)就是排查網(wǎng)絡(luò)情況的時(shí)候了,初略翻過《TCP/IP 詳解卷一:協(xié)議》這本書,簡(jiǎn)直跟看《深入理解 Linux 內(nèi)核》一毛一樣,各種協(xié)議各種底層結(jié)構(gòu)體,每個(gè)域代表不同的意思,許許多多的域組合在一起共同控制著網(wǎng)絡(luò)和內(nèi)核。

? ? Troubleshooting 系列僅僅整理工具和排查問題可能用到的命令,盡量不細(xì)述底層概念(功力有限我也寫不出來(lái))。

? ? curl netstat iptables network ifconfig ip地址配置 traceroute telnet ping lsof iftop(top系列)vpn tcpdump 等抓包,和各種網(wǎng)絡(luò)攻擊(后續(xù)單獨(dú)整理)

?

網(wǎng)絡(luò)狀態(tài)

?

  • netstat

? ? 顯示網(wǎng)絡(luò)相關(guān)信息(網(wǎng)絡(luò)連接、路由表、接口狀態(tài)等)

? ? 常見的參數(shù):

? ? -a? ? 顯示所有連接中的 socket

? ? -c? ? 持續(xù)列出網(wǎng)絡(luò)狀態(tài)

? ? -n? ? 盡量把別名轉(zhuǎn)換成數(shù)字顯示

? ? -o? ? 顯示計(jì)時(shí)器

? ? -p? ? 顯示正在使用 socket 的程序識(shí)別碼和程序名稱

? ? -i? ? 顯示網(wǎng)卡列表

? ? -s? ? 顯示網(wǎng)絡(luò)統(tǒng)計(jì)信息

? ? -v? ? 顯示指令執(zhí)行過程,與 -p 不可同用

? ? -t/u? ? tcp/udp 連接狀況

?

? ? netstat 的輸出結(jié)果可分為兩個(gè)部分:

? ? 1、Active Internet connections:有源 TCP 連接,列中 Recv-Q 和 Send-Q 為接受隊(duì)列和發(fā)送隊(duì)列,如果沒有堆積一般都為 0。

? ? 2、Active UNIX domain sockets:有源 Unix 域套接口(只能用于本機(jī)通信,性能較高),RefCnt 表示連接到套接口的進(jìn)程號(hào)。

? ? 套接口的類型:TCP、UDP、RAW、UNIX 域 等

? ? 狀態(tài):

????LISTEN:處于監(jiān)聽狀態(tài)ESTABLISHED:表示打開的一個(gè)連接SYN-SENT:發(fā)送連接請(qǐng)求后等待匹配的狀態(tài)SYN-RECEIVED:收到和發(fā)送一個(gè)連接請(qǐng)求后等待對(duì)方確認(rèn)連接請(qǐng)求FIN-WAIT-1:等待遠(yuǎn)程 TCP 連接中斷請(qǐng)求,或之前的連接中斷請(qǐng)求確認(rèn)FIN-WAIT-2:從遠(yuǎn)程 TCP 等待連接中斷請(qǐng)求CLOSE-WAIT:等待從本地用戶發(fā)來(lái)的連接中斷請(qǐng)求CLOSING:等待遠(yuǎn)程 TCP 對(duì)連接中斷的確認(rèn)LAST-ACK:等待原來(lái)的發(fā)向遠(yuǎn)程 TCP 的連接中斷請(qǐng)求的確認(rèn)TIME-WAIT:等待足夠的時(shí)間以確保遠(yuǎn)程 TCP 接收到連接中斷請(qǐng)求的確認(rèn)CLOSED:沒有任何連接狀態(tài)

?

? ? 通過 netstat 可以查看連接本機(jī)的ip,通過 uniq 可以統(tǒng)計(jì)出連接 ip 的數(shù)量。

????????

  • curl

? ? curl 是一款用于上傳下載的傳輸工具,支持 http/https/ftp/imap/pop3 等協(xié)議,同時(shí)也支持?jǐn)帱c(diǎn)續(xù)傳,功能十分強(qiáng)大。

????PS:本人用的最多的是在無(wú)圖形界面的 linux 上測(cè)試網(wǎng)頁(yè)狀態(tài),將網(wǎng)頁(yè)輸出到界面上:

? ? curl http://www.baidu.com

????-o:保存網(wǎng)頁(yè)至指定文件-O:保存服務(wù)器上指定文件,url 需要明確指定文件名-C/--continue-at:斷點(diǎn)續(xù)傳,可指定位置獲取數(shù)據(jù),假設(shè)文件大小為1000字節(jié),-C 100 代表獲取 100-999 的數(shù)據(jù)-r:分塊下載,類似于 -C,可以使用區(qū)間,-r 0-1024 代表獲取 0-1024 的數(shù)據(jù),cat part* > all 即可以合并-T/--upload-file:上傳,-T "file[1-100].txt" ftp://myserver.com/upload/、-T "{file1.txt, file2.txt}" http://myserver.com-d/--data:post 請(qǐng)求,-d "id=1&name=test" http://myserver.com/example.php-F/--form:上傳,-F "password=@/etc/passwd" www.mypasswords.com-e/--referer:偽造 referer(盜鏈),服務(wù)器一般會(huì)檢查 http 請(qǐng)求的 referer,用于控制訪問,也就是告訴服務(wù)器你是從哪個(gè)頁(yè)面跳轉(zhuǎn)過來(lái)的,-e "www.baidu.com" http://www.baidu.com 告訴服務(wù)器你是從 www.baidu.com 跳轉(zhuǎn)過來(lái)的-A/--user-agent:定義 user agent,偽裝成一個(gè)指定的瀏覽器,-A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)http://www.baidu.com-b/--cookie:有的網(wǎng)站會(huì)查看 cookie 信息來(lái)判斷是否按規(guī)定瀏覽,-b /cookie.txt http://www.baidu.com 使用本地 cookie.txt 里的 cookie 信息來(lái)訪問,也可以輸入?yún)?shù)和值:-b "name=wade" http://www.baidu.com-c/--cookie-jar:保存操作時(shí)生成的 cookie 文件,-c ./cookie.txt http://www.baidu.com-w/--write-out:自定義輸出內(nèi)容,-w %{http_code} -w "time=%{time_total}\n" http://www.baidu.com 打印返回的 http 碼和響應(yīng)時(shí)間,還有很多參數(shù)可以打印。-u/--user: <user[:password]> 用戶名和密碼,curl -O -u username:passwd ftp://www.linux.com/file.txt 從 ftp?服務(wù)器下載文件(也可以 curl -O ftp://username:passwd@www.linux.com/file.txt)-x/--porxy:上網(wǎng)很多時(shí)候需要用到代理服務(wù)器,-x 192.168.1.1:8080 http://www.baidu.com 使用代理服務(wù)以及端口訪問-s/--silent:靜音模式

?

? ? 當(dāng)然,curl 還有很多別的功能,只是列了幾個(gè)常用的選項(xiàng),附上一個(gè)寫的不錯(cuò)的博客:http://www.ruanyifeng.com/blog/2011/09/curl.html,可參考。

?

  • iptables

? ? 可參考《2小時(shí)玩轉(zhuǎn) iptables》pdf

? ? ipset 是 iptables 的擴(kuò)展,允許創(chuàng)建一個(gè)匹配整個(gè)地址的地址集合,而 iptables 僅僅支持線性存儲(chǔ)和過濾,地址集合可提高查找的速率。

????#iptables + ipset:centos 默認(rèn)沒有安裝 iptables 和 ipsetyum install?iptables-services ipset#創(chuàng)建一個(gè)新的 ipset,ipset 默認(rèn)可存儲(chǔ) 65536 個(gè) element,可通過選項(xiàng) maxelem 修改數(shù)量ipset create my_ipset hash:nat (maxelem 65536)#查看以創(chuàng)建的 ipset ipset list#添加一個(gè)ip 到 ipset 中ipset add my_ipset 192.168.1.1#從 ipset 中去除一個(gè) ipipset del my_ipset 192.168.0.1#在創(chuàng)建 iptables 規(guī)則鏈時(shí)使用 ipsetiptables -I INPUT -m set --match-set my_ipset src -p tcp --destination-port 22 -j DROP#刪除 ipsetipset destroy my_ipset#將 ipset 規(guī)則保存到文件ipset save my_ipset -f my_ipset.txt#從文件中導(dǎo)入 ipset 規(guī)則ipset restore -f my_ipset.txt

? ? ipset 支持動(dòng)態(tài)修改地址集合,哪怕 iptables 正在使用這個(gè)集合,這樣在生產(chǎn)環(huán)境上面就可以很好的管理黑名單列表,而不用重啟 iptables 了。

?

  • telnet

? ? telnet 是一款基于 telnet 協(xié)議的遠(yuǎn)程工具,Telnet 協(xié)議是 TCP/IP 協(xié)議家族中的一員,是一個(gè)遠(yuǎn)程登錄服務(wù)的標(biāo)準(zhǔn)協(xié)議,但是由于 telnet 采用明文傳送報(bào)文,沒有使用公鑰私鑰加密,所有大都服務(wù)器都沒有開放 telnet 服務(wù),而使用加密的ssh 方式。

? ? 一般使用 telnet 大都是檢查遠(yuǎn)程服務(wù)器的某個(gè)端口是否能訪問。

? ? telnet 192.168.0.1 22

? ? Telnet 實(shí)例還可以將鍵盤連接到某個(gè)目標(biāo) TCP 端口,并將此 TCP 端口輸出回送到顯示屏上,它幾乎可以連接所有的 TCP 服務(wù)器,包括 HTTP 服務(wù)器。

? ? 通過 Telnet 程序直接與 Web 服務(wù)器進(jìn)行對(duì)話,通過 Telnet 可以打開一條到某臺(tái)機(jī)器上某個(gè)端口的 TCP 連接,然后直接向那個(gè)端口輸入一些字符,Web 服務(wù)器會(huì)將 Telnet 程序做為一個(gè) Web 客戶端來(lái)處理,所有回送給 TCP 連接的數(shù)據(jù)都會(huì)顯示在屏幕上。

? ? 步驟:

????1、首先,向 DNS 服務(wù)器查找 www.joes-hardware.com 的 IP 地址,打開一條到目標(biāo)服務(wù)器端口 80 的 TCP 連接,當(dāng)然 Telnet 會(huì)為我們完成這些。2、在完成打開一條 TCP 連接后,Telnet 會(huì)輸出三行內(nèi)容,告訴我們已經(jīng)建立了連接。3、接下來(lái)就要輸入 HTTP 請(qǐng)求了4、請(qǐng)求結(jié)束后(由一行空行表示),服務(wù)器會(huì)在一條 HTTP 響應(yīng)中將內(nèi)容返回并關(guān)閉連接。

? ? 輸出:

? ? Telnet 雖然可以很好的模擬 HTTP 客戶端,但是并不能作為服務(wù)器使用,而且 Telnet 做自動(dòng)化很繁瑣,可以使用 nc(netcat)方便的操縱基于 TCP 和 UDP 的流量(包括 HTTP)

?

?

?

?

?

?

?

?

????

????????

?

?

?

?

?

????

????

????

?

?

?

?

?

?

?

?

? ??

轉(zhuǎn)載于:https://my.oschina.net/u/2470065/blog/776719

總結(jié)

以上是生活随笔為你收集整理的Troubleshooting(三):网络的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。