Linux運維*一.Linux基礎---23、網絡分析(鏈接、嗅探、抓包)

一、網絡鏈接分析工具:

1、netstat命令

netstat 選項

常用選項:

-t # --tcp,顯示TCP協議鏈接

-u # --udp,顯示UDP協議連接

-w # --raw,raw socket裸套接字鏈接

-l # --listening,顯示偵聽狀態的連接

-a # --all,顯示所有狀態的連接

-n # --numeric,不反解,以數字形式顯示端口

-e # --extend,顯示擴展格式信息(user、inode)

-p # --program,顯示相關進程及PID

-r # --route,顯示內核路由表

-i # --interface,顯示所有接口統計數據

-I 指定接口 # 顯示指定接口統計數據

 

常用組合:

-tan

-uan

-tnl

-tlnp

 

示例:

[root@localhost ~]# netstat -tanp

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1333/sshd

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1628/master

tcp 0 52 192.168.254.136:22 192.168.254.1:4935 ESTABLISHED 1856/sshd: root@pts

tcp6 0 0 :::22 :::* LISTEN 1333/sshd

tcp6 0 0 ::1:25 :::* LISTEN 1628/master

[root@localhost ~]# netstat -r

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

default gateway 0.0.0.0 UG 0 0 0 ens33

default gateway 0.0.0.0 UG 0 0 0 ens33

192.168.254.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33

 

[root@localhost ~]# netstat -Iens33

Kernel Interface table

Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

ens33 1500 22949 0 0 0 4708 0 0 0 BMRU

 

[root@localhost ~]# netstat -i

Kernel Interface table

Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

ens33 1500 22971 0 0 0 4721 0 0 0 BMRU

lo 65536 2 0 0 0 2 0 0 0 LRU

 

2、ss命令

ss 選項

常用選項:

-t # 查看tcp協議相關鏈接

-u # 查看udp協議相關鏈接

-w # 查看裸套接字相關鏈接

-x # 查看unix sovk相關鏈接

-l # 查看listening偵聽狀態相關

-a # 顯示所有狀態鏈接

-n # 不返解,數值格式顯示接口

-p # 顯示相關進程PID

-e # 顯示連接的擴展信息

-m # 顯示連接佔用的內存

-o # 顯示計時器信息

dport = 目的端口號 # 顯示目的端口號相關鏈接

sport = 源端口號 # 顯示源端口號相關鏈接

 

示例:

[root@localhost ~]# ss sport = 22 -tanp

State Recv-Q Send-Q Local Address:Port Peer Address:Port

LISTEN 0 128 *:22 *:* users:(("sshd",pid=1333,fd=3))

ESTAB 0 0 192.168.254.136:22 192.168.254.1:4935 users:(("sshd",pid=1856,fd=3))

LISTEN 0 128 :::22 :::* users:(("sshd",pid=1333,fd=4))

 

 

二、nmap:網絡嗅探工具

作用:

1、掃描網絡中的主機端口,嗅探其提供的服務

2、探測網絡中的主機在線情況

3、探測網絡中的主機的操作系統類型

4、探測達到主機經過的路由

 

常見網絡端口服務:

服務 端口號

HTTP 80

HTTPS 443

Telnet 23

FTP 21

SSH(安全登錄)、SCP(文件傳輸)、端口重定向 22

SMTP 25

POP3 110

WebLogic 7001

TOMCAT 8080

WIN2003遠程登錄 3389

Oracle數據庫 1521

MS SQL* SEVER數據庫sever 1433

MySQL 數據庫sever 3306

Redis 6379

zookeeper/kafka 2181

clickhouse 9000/8123

 

nmap命令:

nmap 指定IP或域名 選項

-pn-m # 掃描指定IP的n~m範圍的端口

-pn,m # 掃描指定IP的指定端口

-sT # 指定爲TCP端口掃描

 [-sS|-sF|-sX|-sN] # TCP的半開放掃描,即SYN掃描,

效率高於-sT,並且能躲過一些防火牆的阻撓

-sU   # 指定爲UDP掃描

-Pn   # 不進行平測試,直接進行掃描

-e 網卡 -S 僞IP -Pn # 以指定網卡並以僞IP進行掃描

示例:

[root@bcc /]# nmap 192.168.207.135 -e eno16777736 -S 192.168.1.199 -Pn

-iL /path/to/file # 從指定文件或許需要掃描的IP

-A # 嗅探主機的操作系統

-O # 嗅探主機的操作系統

-sP # Ping掃描指定網段在線的主機

不做進一步端口掃描

-sN # Ping掃描指定網段在線的主機

不做進一步端口掃描

-sA # 使用TCP的ack進行在線主機探測

對端禁Ping任然能夠探測

 

注意:指定IP可以爲網段如下:

192.168.207.10-199

192.168.207.0/24

 

 

三、tcpdump抓包工具的使用

1、tcpdump的源碼安裝

(1、安裝必要的庫

yum install -y flex

yum install -y bison

yum install -y gcc

 

(2、到http://www.tcpdump.org下載tcpdump和libpcap程序包

[root@localhost tcpdump]# wget http://www.tcpdump.org/release/tcpdump-4.9.2.tar.gz

[root@localhost tcpdump]# wget http://www.tcpdump.org/release/libpcap-1.8.1.tar.gz

[root@localhost tcpdump]# ls

libpcap-1.8.1.tar.gz tcpdump-4.9.2.tar.gz

[root@localhost tcpdump]# tar xf libpcap-1.8.1.tar.gz

[root@localhost tcpdump]# tar xf tcpdump-4.9.2.tar.gz

[root@localhost tcpdump]# ls

libpcap-1.8.1 libpcap-1.8.1.tar.gz tcpdump-4.9.2 tcpdump-4.9.2.tar.gz

 

(3、源碼安裝tcpdump包和libpcap包

[root@localhost tcpdump]#cd libpcap-1.8.1

[root@localhost tcpdump]#./configure

[root@localhost tcpdump]#make & make install

[root@localhost tcpdump]#cd tcpdump-4.9.2

[root@localhost tcpdump]#./configure

[root@localhost tcpdump]#make & make install

 

2、tcpdump命令

tcpdump 選項 指定網絡接口

-i 指定接口 port 指定端口 # 抓取指定接口,指定端口的數據包(端口可以不指定)

-c n # 指定抓取n個數據包

-t # 不顯示時間戳

-w 指定文件 # 將數據包儲存到指定文件(供包分析器使用)

 

四、wireshark包分析器的使用

實際生產環境中可以將tcpdump報文放到windows環境中使用wireshark分析

 

安裝wireshark:

yum install -y gtk2

yum install -y wireshark                      #tshark命令包

yum install -y wireshark-gnome         #wireshark命令包

 

tshark命令:

tshark 選項 指定網口

常用選項:

-s 512                            # 只抓取包的前512字節

-i 指定接口                     # 抓取指定接口的數據包

-n                                  # 禁止反解析

-f 'tcp dst port 80'   # 只捕捉tcp協議及目標端口爲80的數據包

-f 'tcp src port 80'   # 只捕捉tcp協議及源端口爲80的數據包

-R ‘http.host and http.request.uri’  #過濾出http.host and http.request.uri

-I                                    # 輸出到標準輸出

示例:

[root@localhost ~]# tshark -i ens33 -f 'tcp src port 22'

Running as user "root" and group "root". This could be dangerous.

Capturing on 'ens33'

1 0.000000000 192.168.254.136 -> 192.168.254.1 SSH 106 Encrypted response packet len=52

2 0.520190106 192.168.254.136 -> 192.168.254.1 SSH 202 Encrypted response packet len=148

3 1.023533404 192.168.254.136 -> 192.168.254.1 SSH 202 Encrypted response packet len=148

4 1.526818261 192.168.254.136 -> 192.168.254.1 SSH 202 Encrypted response packet len=148

5 2.032567925 192.168.254.136 -> 192.168.254.1 SSH 202 Encrypted response packet len=148

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章