成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux之《荒島余生》網(wǎng)絡(luò)篇

系統(tǒng) Linux
看著kali linux上百個網(wǎng)絡(luò)命令,我陷入了沉思。專業(yè)的網(wǎng)絡(luò)命令實在是太多了,如果要羅列,上千個也是有的。個人不是滲透測試工作者,大部分功能只知皮毛。所以本文是非常淺顯的技術(shù)總結(jié),僅聚焦工作中常用到的一些Linux命令。

[[320463]]

 看著kali linux上百個網(wǎng)絡(luò)命令,我陷入了沉思。專業(yè)的網(wǎng)絡(luò)命令實在是太多了,如果要羅列,上千個也是有的。個人不是滲透測試工作者,大部分功能只知皮毛。所以本文是非常淺顯的技術(shù)總結(jié),僅聚焦工作中常用到的一些Linux命令。

由于nio的普及,ck10k的問題已經(jīng)成為過去式。現(xiàn)在隨便一臺服務(wù)器,就可以支持?jǐn)?shù)十萬級別的連接了。那么我們來算一下,100萬的連接需要多少資源。

首先,每一個連接都是文件句柄,所以需要文件描述符數(shù)量支持才行,每一個socket內(nèi)存占用15k-20k之間,這樣,僅維護(hù)相應(yīng)socket,就需要20G內(nèi)存;而廣播一個1KB的消息需要占用的帶寬為1000M!

查看當(dāng)前系統(tǒng)的連接

如何看當(dāng)前系統(tǒng)有多少連接呢?可以使用netstat結(jié)合awk進(jìn)行統(tǒng)計。如下腳本,統(tǒng)計了每一種狀態(tài)的tcp連接數(shù)量

 

  1. # netstat -antp | awk '{a[$6]++}END{ for(x in a)print x,a[x]}' 
  2. LISTEN 41 
  3. CLOSE_WAIT 24 
  4. ESTABLISHED 150 
  5. Foreign 1 
  6. TIME_WAIT 92 

 

但如果你在一臺有上萬連接的服務(wù)器上執(zhí)行這個命令,你可能會等上很長時間。所以,我們有了第二代網(wǎng)絡(luò)狀態(tài)統(tǒng)計工具:netstat => ss(可別和那個越獄工具搞混了)。

 

  1. # ss -s 
  2. Total: 191 (kernel 220) 
  3. TCP:   5056 (estab 42, closed 5000, orphaned 3, synrecv 0, timewait 5000/0), ports 3469 
  4. ... 

 

netstat屬于net-tools工具集,而ss屬于iproute。其命令對應(yīng)如下,是時候和net-tools說Bye了。

用途 net-tools iproute
統(tǒng)計 ifconfig ss
地址 netstat ip addr
路由 route ip route
鄰居 arp ip neigh
VPN iptunnel ip tunnel
VLAN vconfig ip link
組播 ipmaddr ip maddr
 

ss命令

基本使用

我們按照使用場景來看下ss的用法。

查看系統(tǒng)正在監(jiān)聽的tcp連接

 

  1. ss -atr  
  2. ss -atn #僅ip 

 

查看系統(tǒng)中所有連接

 

  1. ss -alt 

查看監(jiān)聽444端口的進(jìn)程pid

 

  1. ss -ltp | grep 444 

查看進(jìn)程555占用了哪些端口

 

  1. ss -ltp | grep 555 

顯示所有udp連接

 

  1. ss -u -a 

查看TCP sockets,使用-ta選項

查看UDP sockets,使用-ua選項

查看RAW sockets,使用-wa選項

查看UNIX sockets,使用-xa選項

和某個ip的所有連接

 

  1. ss dst 10.66.224.130 
  2. ss dst 10.66.224.130:http 
  3. ss dst 10.66.224.130:smtp 
  4. ss dst 10.66.224.130:443 

 

顯示所有的http連接

 

  1. ss  dport = :http 

查看連接本機(jī)最多的前10個ip地址

 

  1. netstat -antp | awk '{print $4}' | cut -d ':' -f1 | sort | uniq -c  | sort -n -k1 -r | head -n 10 

Recv-Q和Send-Q

注意ss的執(zhí)行結(jié)果,我們說明一下Recv-Q和Send-Q。

 

 

 

 

這兩個值,在LISTEN和ESTAB狀態(tài)分別代表不同意義。一般,正常的應(yīng)用程序這兩個值都應(yīng)該為0(backlog除外)。數(shù)值越大,說明問題越嚴(yán)重。

LISTEN狀態(tài)

  • Recv-Q:代表建立的連接還有多少沒有被accept,比如Nginx接受新連接變的很慢
  • Send-Q:代表listen backlog值

ESTAB狀態(tài)

  • Recv-Q:內(nèi)核中的數(shù)據(jù)還有多少(bytes)沒有被應(yīng)用程序讀取,發(fā)生了一定程度的阻塞
  • Send-Q:代表內(nèi)核中發(fā)送隊列里還有多少(bytes)數(shù)據(jù)沒有收到ack,對端的接收處理能力不強(qiáng)

查看網(wǎng)絡(luò)流量

查看流量

有很多工具可以看網(wǎng)絡(luò)流量,但我最喜歡sar。sar是linux上功能最全的監(jiān)控軟件。如圖,使用sar -n DEV 1即可每秒刷新一次網(wǎng)絡(luò)流量。

 

 

當(dāng)然,你也可以使用ifstat、nload、iptraf等命令查看。然而數(shù)據(jù)來源,還是來自我們的/proc目錄

 

 

 

  1. watch cat /proc/net/dev 

查看占流量最大的IP

有時候我們發(fā)現(xiàn)網(wǎng)絡(luò)帶寬占用非常高,但我們無法判斷到底流量來自哪里。這時候,iftop就可以幫上忙了。如圖,可以很容易的找出流量來自哪臺主機(jī)。

 

 

 

 

當(dāng)你不確定內(nèi)網(wǎng)的流量來源,比如有人在壓測,api調(diào)用不合理等,都可以通過這種方法找到他。

抓包

tcpdump

當(dāng)我們需要判斷是否有流量,或者調(diào)試一個難纏的netty應(yīng)用問題,則可以通過抓包的方式去進(jìn)行進(jìn)一步的判斷。在Linux上,可以通過tcpdump命令抓取數(shù)據(jù),然后使用Wireshark進(jìn)行分析。

 

  1. tcpdump -i eth0 -nn -s0 -v port 80 
  • -i 指定網(wǎng)卡進(jìn)行抓包
  • -n 和ss一樣,表示不解析域名
  • -nn 兩個n表示端口也是數(shù)字,否則解析成服務(wù)名
  • -s 設(shè)置抓包長度,0表示不限制
  • -v 抓包時顯示詳細(xì)輸出,-vv、-vvv依次更加詳細(xì)

1)加入-A選項將打印ascii ,-X打印hex碼。

 

  1. tcpdump -A -s0 port 80 

2)抓取特定ip的相關(guān)包

 

  1. tcpdump -i eth0 host 10.10.1.1 
  2. tcpdump -i eth0 dst 10.10.1.20 

 

3)-w參數(shù)將抓取的包寫入到某個文件中

 

  1. tcpdump -i eth0 -s0 -w test.pcap 

4)tcpdump支持表達(dá)式,還有更加復(fù)雜的例子,比如抓取系統(tǒng)中的get,post請求(非https)

 

  1. tcpdump -s 0 -v -n -l | egrep -i "POST /|GET /|Host:" 

更多參見

https://hackertarget.com/tcpdump-examples/

抓取的數(shù)據(jù),使用wireshark查看即可。

 

 

 

 

http抓包

抓包工具將自身當(dāng)作代理,能夠抓取你的瀏覽器到服務(wù)器之間的通訊,并提供修改、重放、批量執(zhí)行的功能。是發(fā)現(xiàn)問題,分析協(xié)議,攻擊站點的利器。常用的有以下三款:

  • Burpsuite (跨平臺)
  • Fiddle2 (Win)
  • Charles (Mac)

壞事要偷偷的干哦。

流量復(fù)制

你可能需要使你的生產(chǎn)環(huán)境HTTP真實流量在開發(fā)環(huán)境或者預(yù)演環(huán)境重現(xiàn),這樣就用到了流量復(fù)制功能。

有三個工具可供選擇,個人傾向于Gor。

  • Gor
  • TCPReplay
  • TCPCopy

連接數(shù)過多問題

 

 

 

 

根據(jù)TCP/IP介紹,socket大概包含10個連接狀態(tài)。我們平常工作中遇到的,除了針對SYN的拒絕服務(wù)攻擊,如果有異常,大概率是TIME_WAIT和CLOSE_WAIT的問題。

TIME_WAIT一般通過優(yōu)化內(nèi)核參數(shù)能夠解決;CLOSE_WAIT一般是由于程序編寫不合理造成的,更應(yīng)該引起開發(fā)者注意。

TIME_WAIT

TIME_WAIT是主動關(guān)閉連接的一方保持的狀態(tài),像nginx、爬蟲服務(wù)器,經(jīng)常發(fā)生大量處于time_wait狀態(tài)的連接。TCP一般在主動關(guān)閉連接后,會等待2MS,然后徹底關(guān)閉連接。由于HTTP使用了TCP協(xié)議,所以在這些頻繁開關(guān)連接的服務(wù)器上,就積壓了非常多的TIME_WAIT狀態(tài)連接。

某些系統(tǒng)通過dmesg可以看到以下信息。

 

  1. __ratelimit: 2170 callbacks suppressed 
  2. TCP: time wait bucket table overflow 
  3. TCP: time wait bucket table overflow 
  4. TCP: time wait bucket table overflow 
  5. TCP: time wait bucket table overflow 

 

通過ss -s命令查看,可以看到timewait已經(jīng)有2w個了。

 

  1. ss -s 
  2. Total: 174 (kernel 199) 
  3. TCP:   20047 (estab 32, closed 20000, orphaned 4, synrecv 0, timewait 20000/0), ports 10785 

 

sysctl命令可以設(shè)置這些參數(shù),如果想要重啟生效的話,加入/etc/sysctl.conf文件中。

  1. # 修改閾值 
  2. net.ipv4.tcp_max_tw_buckets = 50000  
  3. # 表示開啟TCP連接中TIME-WAIT sockets的快速回收 
  4. net.ipv4.tcp_tw_reuse = 1 
  5. #啟用timewait 快速回收。這個一定要開啟,默認(rèn)是關(guān)閉的。 
  6. net.ipv4.tcp_tw_recycle= 1    
  7. # 修改系統(tǒng)默認(rèn)的TIMEOUT時間,默認(rèn)是60s 
  8. net.ipv4.tcp_fin_timeout = 10 

測試參數(shù)的話,可以使用 sysctl -w net.ipv4.tcp_tw_reuse = 1 這樣的命令。如果是寫入進(jìn)文件的,則使用sysctl -p生效。

CLOSE_WAIT

CLOSE_WAIT一般是由于對端主動關(guān)閉,而我方?jīng)]有正確處理的原因引起的。說白了,就是程序?qū)懙挠袉栴},屬于危害比較大的一種。

我們拿”csdn 諧音太郎”遇到的一個典型案例來說明。

 

 

 

 

代碼是使用HttpClient的一個使用片段。在這段代碼里,通過調(diào)用in.close()來進(jìn)行連接資源的清理。但可惜的是,代碼中有一個判斷:非200狀態(tài)的連接直接返回null。在這種情況下,in連賦值的機(jī)會都沒有,當(dāng)然也就無法關(guān)閉,然后就發(fā)生了連接泄漏。

所以,HttpClient的正確關(guān)閉方式是使用其api:abort()。

其他常用命令

應(yīng)用軟件

 

  1. # 斷點續(xù)傳下載文件 
  2. wget -c $url 
  3. # 下載整站 
  4. wget -r -p -np -k $url 
  5. # 發(fā)送網(wǎng)絡(luò)連接(常用) 
  6. curl -XGET $url 
  7. # 傳輸文件 
  8. scp 
  9. sftp 
  10. # 數(shù)據(jù)鏡像備份 
  11. rsync 

 

檢測工具

 

  1. # 連通性檢測 
  2. ping google.com 
  3. # 到對端路由檢測 
  4. tracepath google.com 
  5. # 域名檢測 
  6. dig google.com 
  7. nslookup google.com 
  8. # 網(wǎng)絡(luò)掃描工具 
  9. nmap 
  10. # 壓力測試 
  11. iperf 
  12. # 全方位監(jiān)控工具(好東西) 
  13. nmon 

 

配置工具

 

  1. # 停止某個網(wǎng)卡 
  2. ifdown 
  3. # 開啟某個網(wǎng)卡 
  4. ifup 
  5. # 多功能管理工具  
  6. ethtool 

 

壓力測試

 

  1. wrk 
  2. ab 
  3. webbench 
  4. http_load 

 

多功能工具

 

  1. # 遠(yuǎn)程登錄 
  2. telnet 
  3. ssh 
  4. nc 
  5. # 防火墻 
  6. iptables -L 

 

結(jié)尾

除了基本的工具,本文提到的很多網(wǎng)絡(luò)命令,都不是預(yù)裝的,需要使用yum自行安裝。網(wǎng)絡(luò)編程方面的學(xué)習(xí),我覺得,讀一下《TCP/IP詳解 卷1:協(xié)議》這本書,然后寫幾個Netty應(yīng)用就可以了。

NIO我們已經(jīng)在I/O篇提起了,在此不再做詳細(xì)介紹。等你碰到所謂的拆包粘包問題,遇到心跳和限流問題,甚至遇到了流量整形問題,那么證明你離一個專業(yè)的網(wǎng)絡(luò)編程程序員越來越近了。

責(zé)任編輯:武曉燕 來源: 小姐姐味道
相關(guān)推薦

2019-03-18 11:15:07

Linux性能網(wǎng)絡(luò)

2010-12-22 13:19:43

Linux性能監(jiān)測網(wǎng)絡(luò)

2019-02-12 10:31:15

Linux網(wǎng)絡(luò)服務(wù)器

2019-06-17 11:10:29

Linux工具應(yīng)急響應(yīng)

2012-02-29 01:03:10

ubuntuLinux

2023-11-01 10:38:46

Linux高性能網(wǎng)絡(luò)編程

2010-05-26 18:40:54

Linux性能監(jiān)控

2019-02-12 09:52:20

Linux安全Windows

2015-09-09 10:34:58

底層網(wǎng)絡(luò)技術(shù)網(wǎng)絡(luò)技術(shù)

2010-05-26 18:21:04

Linux性能監(jiān)控

2010-05-26 18:31:51

Linux性能監(jiān)控

2011-11-08 21:47:37

Linux 監(jiān)控 IO

2011-01-18 10:00:59

Linux磁盤分區(qū)

2017-05-03 08:59:07

網(wǎng)絡(luò)分析數(shù)據(jù)

2020-04-20 21:22:50

網(wǎng)絡(luò)設(shè)備網(wǎng)絡(luò)協(xié)議計算機(jī)網(wǎng)絡(luò)

2020-04-23 09:11:09

網(wǎng)絡(luò)協(xié)議網(wǎng)絡(luò)設(shè)備網(wǎng)絡(luò)

2010-12-24 13:25:44

Linux性能監(jiān)控CPU

2010-06-25 09:47:29

Linux系統(tǒng)監(jiān)控

2011-07-04 16:28:43

Windows XP故

2020-07-30 13:34:48

終端命令行Linux
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人欧美一区二区 | 日韩av看片| 懂色tv| 日韩专区中文字幕 | 国产精品久久久久久久久久妇女 | 午夜网| 欧美一区免费在线观看 | 国产精品久久久久久久久久久免费看 | 日本在线免费 | 国产中文字幕在线观看 | 欧美一区免费在线观看 | 成人av一区 | 国产一区二区三区四区hd | 亚洲欧美少妇 | 在线播放中文字幕 | 欧美一区不卡 | 91精品久久久久久久久久入口 | 久久国产精品99久久久久 | 亚洲欧美中文日韩在线v日本 | 久久精品网 | 欧美视频三区 | 欧美成人免费 | 伊人伊人伊人 | 亚洲精品一区二区三区四区高清 | 免费午夜电影 | 国产精品久久久久久久久久不蜜臀 | 国产精品一区二区在线 | 久久一起草 | 久久久一二三区 | 婷婷久久综合 | 亚洲精品在线国产 | 欧美综合一区二区三区 | 亚洲欧美在线一区 | 午夜激情在线视频 | 久久久一区二区三区 | 精品国产乱码久久久久久蜜柚 | 国产精品揄拍一区二区久久国内亚洲精 | 欧美视频1 | 中文字幕在线精品 | 久久在线 | 精品在线一区 |