『壹』 linux tcpmp 要捕獲完全的一個數據包,不僅僅是包頭,包括數據,並且列印出來,參數是怎樣的!
增加-s參數制定捕獲長度,例如
tcpmp -i eth0 -n -vv -x -e -s 1600
『貳』 tcpmp 某伺服器佔用哪個埠
Linux作為網路伺服器,特別是作為路由器和網關時,數據的採集專和分析是屬不可少的。TcpDump是Linux中強大的網路數據採集分析工具之一。
用簡單的話來定義tcpmp,就是:mp the traffic on a network,根據使用者的定義對網路上的數據包進行截獲的包分析工具。
tcpmp參數是用於過濾目的,這是因為網路中流量很大,如果不加分辨將所有的數據包都截留下來,數據量太大,反而不容易發現需要的數據包。使用這些參數定義的過濾規則可以截留特定的數據包,以縮小目標,才能更好的分析網路中存在的問題。tcpmp使用參數指定要監視數據包的類型、地址、埠等,根據具體的網路問題,充分利用這些過濾規則就能達到迅速定位故障的目的。請使用man tcpmp查看這些過濾規則的具體用法。
『叄』 在Linux系統怎麼用tcpmp命令
------------------------------------tcpmp--------------------------------
協議報文分析器:
sniffer: 商業工具
tcpmp, wireshark(GUI), tshark(CLI)
tcpmp [options] 過濾條件
獲取報文的條件:
ip src host 172.16.100.1
tcp src or dst port 21
udp dst port 53
tcp src or dst port 21 AND src host 172.16.100.1
tcp port 21 AND host 172.16.100.1
tcpmp的語法:
tcpmp [options] [Protocol] [Direction] [Host(s)] [Value] [Logical Operations] [Other expression]
Protocol(協議):
Values(取值): ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
If no protocol is specified, all the protocols are used.
Direction(流向):
Values(取值): src, dst, src and dst, src or dst
If no source or destination is specified, the "src or dst" keywords are applied. (默認是src or dst)
For example, "host 10.2.2.2" is equivalent to "src or dst host 10.2.2.2".
Host(s)(主機):
Values(替代關鍵字): net, port, host, portrange.
If no host(s) is specified, the "host" keyword is used. 默認如果此段沒有指定關鍵字,默認即host。
For example, "src 10.1.1.1" is equivalent to "src host 10.1.1.1".
Logical Operations:
(1) and
and or &&
(2) or
or or ||
(3) except
not or !
常用選項:
-i any : 指定在哪個網卡進行抓包
-n : 不反解主機名
-nn : 不反解主機名與埠號
-X : 以16進制格式與ASCII格式顯示報文
-XX : 除了顯示X的內容還顯示乙太網首部
-v, -vv, -vvv : 顯示更詳細的信息
-c # : Only get x number of packets and then stop.
-s : Define the snaplength (size) of the capture in bytes. Use -s0 to get everything, unless you are intentionally capturing less.
-S : Print absolute sequence numbers.
-e : Get the ethernet header as well.
-q : Show less protocol information.
-E : Decrypt IPSEC traffic by providing an encryption key.
-A :Display Captured Packets in ASCII
-w /path/to/some_file : Capture the packets and write into a file
-r /path/from/some_file : Reading the packets from a saved file
-tttt : Capture packets with proper readable timestamp
eg:
tcpmp -i eth0 -X -nn -vv tcp port 100
可以在報文上面看一下有無user與pass的信息.
tcpmp -i eth0 -X -nn -vv tcp port 110 and ip src 192.168.10.1
ip host 172.16.100.1
ip src host 172.16.100.1
ip dst host 172.16.100.1
ip src and dst host 172.16.100.1
『肆』 Linux下如何抓指定IP的包
用tcpm命令可以抓指定IP的包,具體命令為:
tcpmp tcp -i eth1 -t -s 0 -c 100 and dst port 22 and src net 192.168.1.1 -w ./target.cap
參數解析:
tcp: ip icmp arp rarp 和 tcp、udp、icmp這些選項等都要放到第一個參數的位置,用來過濾數據報的類型。
-i eth1 : 只抓經過介面eth1的包
-t : 不顯示時間戳
-s 0 : 抓取數據包時默認抓取長度為68位元組。加上-S 0 後可以抓到完整的數據包
-c 100 : 只抓取100個數據包
dst port 22 : 抓取目標埠是22的數據包
src net 192.168.1.0/24 : 數據包的源網路地址為192.168.1.1
-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析
(4)linuxtcpmp過濾埠號擴展閱讀
tcpmp語法格式:
tcpmp [-adeflnNOpqStvx][-c<數據包數目>][-dd][-ddd][-F<表達文件>][-i<網路界面>][-r<數據包文件>][-s<數據包大小>][-tt][-T<數據包類型>][-vv][-w<數據包文件>][輸出數據欄位]
tcpmp主要參數說明:
1、-a 嘗試將網路和廣播地址轉換成名稱。
2、-c<數據包數目> 收到指定的數據包數目後,就停止進行傾倒操作。
3、-d 把編譯過的數據包編碼轉換成可閱讀的格式,並傾倒到標准輸出。
4、-dd 把編譯過的數據包編碼轉換成C語言的格式,並傾倒到標准輸出。
5、-ddd 把編譯過的數據包編碼轉換成十進制數字的格式,並傾倒到標准輸出。
6、-e 在每列傾倒資料上顯示連接層級的文件頭。
7、-f 用數字顯示網際網路地址。
8、-F<表達文件> 指定內含表達方式的文件。
9、-i<網路界面> 使用指定的網路截面送出數據包。
10、-l 使用標准輸出列的緩沖區。
11、-n 不把主機的網路地址轉換成名字。
12、-N 不列出域名。
『伍』 關於linux tcpmp命令
用簡單的話來定義tcpmp,就是:mp the traffic on a network,根據使用者的定義對網路上的數據包進行截獲的包分析工具。 tcpmp可以將網路中傳送的數據包的「頭」完全截獲下來提供分析。它支持針對網路層、協議、主機、網路或埠的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的信息。
實用命令實例
默認啟動
tcpmp
普通情況下,直接啟動tcpmp將監視第一個網路介面上所有流過的數據包。
監視指定網路介面的數據包
tcpmp -i eth1
如果不指定網卡,默認tcpmp只會監視第一個網路介面,一般是eth0,下面的例子都沒有指定網路介面。
監視指定主機的數據包
列印所有進入或離開sundown的數據包.
tcpmp host sundown
也可以指定ip,例如截獲所有210.27.48.1 的主機收到的和發出的所有的數據包
tcpmp host 210.27.48.1
列印helios 與 hot 或者與 ace 之間通信的數據包
tcpmp host helios and \( hot or ace \)
截獲主機210.27.48.1 和主機210.27.48.2 或210.27.48.3的通信
tcpmp host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
列印ace與任何其他主機之間通信的IP 數據包, 但不包括與helios之間的數據包.
tcpmp ip host ace and not helios
如果想要獲取主機210.27.48.1除了和主機210.27.48.2之外所有主機通信的ip包,使用命令:
tcpmp ip host 210.27.48.1 and ! 210.27.48.2
截獲主機hostname發送的所有數據
tcpmp -i eth0 src host hostname
監視所有送到主機hostname的數據包
tcpmp -i eth0 dst host hostname
監視指定主機和埠的數據包
如果想要獲取主機210.27.48.1接收或發出的telnet包,使用如下命令
tcpmp tcp port 23 and host 210.27.48.1
對本機的udp 123 埠進行監視 123 為ntp的服務埠
tcpmp udp port 123
監視指定網路的數據包
列印本地主機與Berkeley網路上的主機之間的所有通信數據包(nt: ucb-ether, 此處可理解為'Berkeley網路'的網路地址,此表達式最原始的含義可表達為: 列印網路地址為ucb-ether的所有數據包)
tcpmp net ucb-ether
列印所有通過網關snup的ftp數據包(注意, 表達式被單引號括起來了, 這可以防止shell對其中的括弧進行錯誤解析)
tcpmp 'gateway snup and (port ftp or ftp-data)'
列印所有源地址或目標地址是本地主機的IP數據包
(如果本地網路通過網關連到了另一網路, 則另一網路並不能算作本地網路.(nt: 此句翻譯曲折,需補充).localnet 實際使用時要真正替換成本地網路的名字)
tcpmp ip and not net localnet
『陸』 請問tcpmp命令如何獲取url呢
Ref 1:
http://n3t.awardspace.us/content/tcpmp-url-extraction
Ref 2:
http://www.linuxquestions.org/questions/linux-networking-3/how-to-use-tcpmp-to-be-able-to-see-http-requests-sent-to-the-server-696065/
Ref 3:
http://stackoverflow.com/questions/4777042/can-i-use-tcpmp-to-get-http-requests-response-header-and-response-body
『柒』 如何監聽某個埠命令 linux
使用tcpmp命令來抓取監聽埠數據:
tcpmp tcp port 5555 host 210.27.48.1
該命令作用為監聽主機210.27.48.1埠5555上的通訊包。
『捌』 linux的tcpmp如何查看80埠發出去的url網址是什麼
用wireshark抓取,或者tcpmp抓取保存文件,再用wireshark來分析。
『玖』 suse linux下用tcpmp抓包,信息量比較大的時候,設置過濾條件抓不到包,為什麼
tcpmp -s 0 -i eth1 host 192.168.1.100 >> ~/e.log | tail -f ~/e.log | grep XXX --color
沒有試過,簡單的寫個類似專樓上的思屬路。
『拾』 linux上用tcpmp抓包的問題
(管理員,給人家解釋一下嘛,何必呢。)。。。你確定滿意答案了,搞的版我只能這樣回權答你了,具體可以看看man tcpmp 這里-nn 是不把地址轉換為域名,不把埠轉換為埠名,你不加.tcpmp在抓第一個包的時候就要把地址轉換成域名,埠轉換成埠名,如果你的DNS沒有配置好,就會延時,等待解析,,直到最後超時,才會顯示出來抓到的包,而這段時間還沒完,你可能已經CTRL+C中止了,所以抓不到,你多等會兒可能就出來了(這段時間可能很長的)。加了-nn,就不解析了,(就不存在DNS沒配置好,等待解析直到超時了)。直接以IP地址,埠號的形式顯示出來了。