自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux 抓包命令,你會用嗎?

系統(tǒng) Linux
tcpdump是一個功能強大的命令行數(shù)據(jù)包分析器,它是通過監(jiān)聽服務器的網(wǎng)卡來獲取數(shù)據(jù)包,所有通過網(wǎng)絡訪問的數(shù)據(jù)包都能獲取到。

[[422008]]

 tcpdump是一個功能強大的命令行數(shù)據(jù)包分析器,它是通過監(jiān)聽服務器的網(wǎng)卡來獲取數(shù)據(jù)包,所有通過網(wǎng)絡訪問的數(shù)據(jù)包都能獲取到。它也提供了過濾器的功能,可以獲取指定的網(wǎng)絡、端口或協(xié)議的數(shù)據(jù)包

程序員日常排查問題,最常用的是使用過濾器功能獲取指定端口的數(shù)據(jù)包,用來分析服務器是否收到請求、請求數(shù)據(jù)是否完整。

參數(shù)介紹

tcpdump命令的參數(shù)很多,詳見如下:

這里只介紹一些常用的參數(shù)

-c count

count表示數(shù)量。抓取數(shù)據(jù)包的數(shù)量達到count后結(jié)束命令,如果不使用-c 參數(shù),會不停的抓取數(shù)據(jù)包,直到手動停止

-C file_size

抓取數(shù)據(jù)包保存到文件時,通過該命令指定文件的大小。文件達到指定大小后,會創(chuàng)建一個在原文件名稱后面加上序號的新文件,如:dump.txt,dump.txt1。file_size的單位是b

-D

列出服務器所有網(wǎng)卡。tcpdump默認監(jiān)聽的是編號最小的那個網(wǎng)卡,一般是eth0。在進行抓包時可以通過 -i 參數(shù)指定監(jiān)聽的網(wǎng)卡,any表示監(jiān)聽所有網(wǎng)卡

-i interface

指定監(jiān)聽的網(wǎng)卡名稱,any表示監(jiān)聽所有的網(wǎng)卡

-n

輸出結(jié)果中,不把ip轉(zhuǎn)換成主機名(默認顯示的是主機名)

-q

快速輸出,只輸出簡要的數(shù)據(jù)包信息

-r file

從文件中獲取數(shù)據(jù)包,不再從網(wǎng)絡獲取數(shù)據(jù)包

-t

不輸出時間戳

-w file

將抓取的數(shù)據(jù)包保存到文件,-r 參數(shù)可以從文件中讀取數(shù)據(jù)包

-W filecount

指定文件的數(shù)量,當文件滾動到指定數(shù)量后會從第一個文件開始覆蓋

除了以上參數(shù),還有一些關鍵字可以用來進行條件過濾,常用關鍵字如下

-host

過濾主機,如 tcpdump host 192.168.1.110 只抓取經(jīng)過這個ip的數(shù)據(jù)包

-src

用來過濾請求來源方的參數(shù),如:tcpdump src host 192.168.1.110 只抓取從這個ip過來的數(shù)據(jù)包

-dst

用來過濾請求接收方的參數(shù),如:tcpdump dst host 192.168.1.110 只抓取發(fā)送到這個ip的數(shù)據(jù)包

-port

過濾端口,如:tcpdump port 8080 只抓取經(jīng)過8080端口的數(shù)據(jù)包

-net

過濾網(wǎng)絡,如:tcpdump net 192.168  只抓取經(jīng)過這個網(wǎng)段的數(shù)據(jù)包

-and、not、or

條件過濾,和字面意思一樣。如:tcpdump net 192.168 and port 8080 抓取經(jīng)過192.168網(wǎng)段并經(jīng)過8080端口的數(shù)據(jù)包

數(shù)據(jù)包分析

抓取的數(shù)據(jù)包格式如下

20:17:43.496528

時間戳,時:分:秒.微秒

IP

網(wǎng)際網(wǎng)絡協(xié)議的名稱

180.101.49.12.http > iZbp14w0b2rs7i1400bjjmZ.42468180.101.49.12.http

請求發(fā)送方的ip和端口 > 請求接收方的ip和端口。端口有時會顯示為某個網(wǎng)絡協(xié)議,如http、ssh、mysql等

Flags [R]

flag標識和狀態(tài),可選的狀態(tài)有:[S.] [.] [P.] [F.][R]

seq、ack、fin

表示tcp協(xié)議的3次握手和4次揮手的過程。seq表示請求的序列號,ack是回答的序列號,fin表示完成。這里顯示的序列號是相對值,-S參數(shù)可以顯示絕對值

win

表示當前窗口的可用大小

length

表示報文體的長度,從長度可以簡單分析是否正確接收了請求

通過以上結(jié)果只能做簡單的分析,可以使用-w參數(shù)把數(shù)據(jù)包寫入文件,文件中記錄的數(shù)據(jù)包比命令行要詳細的多。借助分析工具可以對文件進一步分析,這里推薦使用Wireshark,這個工具是開源的,開箱即用使用簡單,這里不做詳細介紹了

常用的命令組合

抓取8080端口的數(shù)據(jù)包 

  1. tcpdump -i any port 8080  

抓取從192.168.1.110發(fā)送到192.168.1.111的數(shù)據(jù)包 

  1. tcpdump -i any src host 192.168.1.110 and dst host 192.168.1.111 

抓取192.168網(wǎng)段除了192.168.1.110的請求的數(shù)據(jù)包 

  1. tcpdump -i any src net 192.168 and 'src host not 192.168.1.110' 

抓取8080端口的數(shù)據(jù)包并寫入dump.log文件中 

  1. tcpdump -i any port 8080 -w dump.log 

注意事項

1.tcpdump需要用管理員權(quán)限運行,可以用sudo命令或者root用戶

2.抓取的數(shù)據(jù)包通過length字段只能做一些簡單的判斷,想要詳細分析,需要借助數(shù)據(jù)包分析工具,如:Wireshark 

 

責任編輯:龐桂玉 來源: 良許Linux
相關推薦

2019-05-13 14:17:06

抓包Web安全漏洞

2018-11-05 13:50:44

Linux命令tcpdump

2021-08-11 10:00:51

緩存MyBatis管理

2025-01-20 00:00:00

反射Java語言

2022-03-25 09:39:50

LinuxLinux top

2018-09-29 15:34:34

JavaList接口

2021-05-21 12:36:16

限流代碼Java

2024-03-06 08:15:03

@Autowired注入方式Spring

2020-06-04 14:15:55

Java中BigDecimal函數(shù)

2019-01-28 17:42:33

Python數(shù)據(jù)預處理數(shù)據(jù)標準化

2019-07-25 12:46:32

Java高并發(fā)編程語言

2022-12-26 09:15:13

2014-02-09 16:20:20

大數(shù)據(jù)

2012-12-10 14:09:32

Linux開源

2022-02-10 09:04:50

架構(gòu)

2024-04-08 00:00:00

asyncawaiPromise

2012-12-11 10:08:48

Linux開源開源代碼

2025-01-03 08:40:53

Java并發(fā)編程Guava庫

2022-02-12 20:45:49

AndroidPC 端工具

2021-05-06 05:30:33

JSONstringify()parse()
點贊
收藏

51CTO技術棧公眾號