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

運維工程師必備:請收好Linux網絡命令集錦

系統 Linux
個人不是滲透測試工作者,大部分功能只知皮毛。所以本文是非常淺顯的技術總結,僅聚焦工作中常用到的一些Linux命令。

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

由于nio的普及,ck10k的問題已經成為過去式。現在隨便一臺服務器,就可以支持數十萬級別的連接了。那么我們來算一下,100萬的連接需要多少資源。

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

查看當前系統的連接

如何看當前系統有多少連接呢?可以使用netstat結合awk進行統計。如下腳本,統計了每一種狀態的tcp連接數量

 

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

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

 

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

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

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

ss命令

基本使用

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

查看系統正在監聽的tcp連接

 

  1. ss -atr ss -atn #僅ip 

查看系統中所有連接

 

  1. ss -alt 

查看監聽444端口的進程pid

 

  1. ss -ltp | grep 444 

查看進程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.130ss dst 10.66.224.130:httpss dst 10.66.224.130:smtpss dst 10.66.224.130:443 

顯示所有的http連接

 

  1. ss  dport = :http 

查看連接本機最多的前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的執行結果,我們說明一下Recv-Q和Send-Q。

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

LISTEN狀態

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

ESTAB狀態

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

查看網絡流量

查看流量

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

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

 

  1. watch cat /proc/net/dev 

查看占流量最大的IP

有時候我們發現網絡帶寬占用非常高,但我們無法判斷到底流量來自哪里。這時候,iftop就可以幫上忙了。如圖,可以很容易的找出流量來自哪臺主機。

當你不確定內網的流量來源,比如有人在壓測,api調用不合理等,都可以通過這種方法找到他。

抓包

tcpdump

當我們需要判斷是否有流量,或者調試一個難纏的netty應用問題,則可以通過抓包的方式去進行進一步的判斷。在Linux上,可以通過tcpdump命令抓取數據,然后使用Wireshark進行分析。

 

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

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

 

  1. tcpdump -A -s0 port 80 

2)抓取特定ip的相關包

 

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

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

 

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

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

 

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

更多參見

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

抓取的數據,使用wireshark查看即可。

http抓包

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

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

壞事要偷偷的干哦。

流量復制

你可能需要使你的生產環境HTTP真實流量在開發環境或者預演環境重現,這樣就用到了流量復制功能。

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

  •  Gor
  •  TCPReplay
  •  TCPCopy

連接數過多問題

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

TIME_WAIT一般通過優化內核參數能夠解決;CLOSE_WAIT一般是由于程序編寫不合理造成的,更應該引起開發者注意。

TIME_WAIT

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

某些系統通過dmesg可以看到以下信息。

 

  1. __ratelimit: 2170 callbacks suppressedTCP: time wait bucket table overflowTCP: time wait bucket table overflowTCP: time wait bucket table overflowTCP: time wait bucket table overflow 

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

 

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

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

  1. # 修改閾值net.ipv4.tcp_max_tw_buckets = 50000 # 表示開啟TCP連接中TIME-WAIT sockets的快速回收net.ipv4.tcp_tw_reuse = 1#啟用timewait 快速回收。這個一定要開啟,默認是關閉的。net.ipv4.tcp_tw_recycle1   # 修改系統默認的TIMEOUT時間,默認是60snet.ipv4.tcp_fin_timeout = 10 

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

CLOSE_WAIT

CLOSE_WAIT一般是由于對端主動關閉,而我方沒有正確處理的原因引起的。說白了,就是程序寫的有問題,屬于危害比較大的一種。

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

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

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

其他常用命令

應用軟件

 

  1. # 斷點續傳下載文件wget -c $url# 下載整站wget -r -p -np -k $url# 發送網絡連接(常用)curl -XGET $url# 傳輸文件scpsftp# 數據鏡像備份rsync 

檢測工具

 

  1. # 連通性檢測ping google.com# 到對端路由檢測tracepath google.com# 域名檢測dig google.comnslookup google.com# 網絡掃描工具nmap# 壓力測試iperf# 全方位監控工具(好東西)nmon 

配置工具

 

  1. # 停止某個網卡ifdown# 開啟某個網卡ifup# 多功能管理工具 ethtool 

壓力測試

 

  1. wrkabwebbenchhttp_load 

多功能工具

 

  1. # 遠程登錄telnetsshnc# 防火墻iptables -L 

結尾

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

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

 

責任編輯:龐桂玉 來源: Linux學習
相關推薦

2020-07-23 14:13:04

運維架構技術

2013-12-18 10:56:48

Linux運維運維技能

2017-02-03 20:50:08

Linux

2019-04-01 14:02:41

運維網絡排錯

2016-12-08 14:19:12

數據中心運維工程師

2022-06-20 22:37:25

Linux操作系統命令

2018-04-18 08:36:48

Linux命令運維

2017-08-21 14:09:26

Linux網絡帶寬監控命令

2016-12-29 12:42:45

Linux操作命令

2025-03-18 10:12:50

WindowsLinux?網絡命令

2020-07-02 09:55:32

運維架構技術

2012-07-19 13:51:12

linux運維操作系統

2021-07-21 16:22:40

運維架構技術

2018-05-21 11:47:57

數據庫MySQL速查手冊

2019-10-29 16:29:28

運維架構開發

2017-03-13 18:19:43

2015-07-22 17:32:22

mysql常用命令

2012-07-05 14:46:21

運維工程師

2012-07-24 13:36:58

運維
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区二区三区在线观看免费 | 91国自视频 | 国产毛片av| 亚洲精品成人在线 | 亚洲国产欧美日韩 | 国产一区二区日韩 | 亚洲精品一区二区三区在线 | 免费在线播放黄色 | 毛片大全| 日韩久久综合 | 国产精品一区二区福利视频 | 久久成人一区 | 成人亚洲视频 | 午夜影院网站 | 99精品一区二区三区 | 国产精品一区二区福利视频 | 91资源在线 | 成人精品在线观看 | 午夜影视在线观看 | 国产原创在线观看 | 一区二区三区免费 | 国产一级片 | 日韩快播电影网 | 日韩中文在线观看 | 国内精品久久久久久久影视简单 | 一区二区三区四区视频 | 看片91 | 色婷婷综合在线观看 | 国产男女猛烈无遮掩视频免费网站 | 亚洲在线一区二区 | 欧美日韩综合一区 | 成人网在线观看 | 亚洲成人一区二区 | 亚洲国产高清高潮精品美女 | 国产三级| 久久精品青青大伊人av | 日韩电影一区二区三区 | 午夜电影网站 | 欧美日韩在线一区 | 91五月天 | 伊人狠狠干 |