Sayfayı Yazdır | Pencereyi Kapat

Thsark ile TCP / IP Paket Analizi

Nereden Yazdırıldığı: Bilginin Adresi
Kategori: Bilgisayar Güvenliði / Computer Security
Forum Adı: Güvenlik / Security Makaleleri
Forum Tanımlaması: Bilgisayarýnýzý Her Türlü Saldýrýya Karþý Korumak Ýçin Yapmanýz Gerekenler
URL: https://www.bilgineferi.com/forum/forum_posts.asp?TID=7889
Tarih: 16-11-2024 Saat 16:45


Konu: Thsark ile TCP / IP Paket Analizi
Mesajı Yazan: megabros
Konu: Thsark ile TCP / IP Paket Analizi
Mesaj Tarihi: 23-08-2009 Saat 09:17
Tshark güçlü bir að protokolleri analiz programýdýr. Tshark komut satýrýndan çalýþýr ve yine bir ag trafik analiz programý olan Wireshark’da bulunan  çoðu özelliði destekler.

Komut satýrýndan çalýþan ve çok bilinen diðer bir trafik analiz aracý da tcpdump’dýr.

Tshark ile tcpdump’ýn ayrýldýðý en belirgin nokta Tshark’ýn trafik analizinde protokolleri tanýyabilmesi ve bunlarý detaylý bir þekilde gösterebilmesidir. Aþaðýda vereceðim örneklerde
protokol tanýmanýn ne manaya geldiði daha iyi anlaþýlacaktýr. Kiþisel olarak Tshark’ý imkaným olduðu ortamlarda tcpdump’a tercih ediyorum.

Bu ikili, networking konularý ile ilgilenen herkesin a-z’ye bilmesinde fayda olan araçlardýr.

Basit Tshark Kullanýmý

tshark, çeþitli iþlevleri olan bir sürü parametreye sahiptir. Eðer herhangi bir paramnetre kullanmadan çalýþtýrýlýrsa ilk aktif að arabirimi üzerinden geçen trafiði yakalayýp ekrana basar.

home-labs ~ # tshark
Running as user “root” and group “root”. This could be dangerous.
Capturing on eth0
0.000000 192.168.2.23 -> 80.93.212.86 ICMP Echo (ping) request
0.012641 80.93.212.86 -> 192.168.2.23 ICMP Echo (ping) reply
0.165214 192.168.2.23 -> 192.168.2.22 SSH Encrypted request packet len=52
0.165444 192.168.2.22 -> 192.168.2.23 SSH Encrypted response packet len=52
0.360152 192.168.2.23 -> 192.168.2.22 TCP pcia-rxp-b > ssh [ACK] Seq=53 Ack=53 Win=59896 Len=0
0.612504 192.168.2.22 -> 192.168.2.23 SSH Encrypted response packet len=116
1.000702 192.168.2.23 -> 80.93.212.86 ICMP Echo (ping) request
1.013761 80.93.212.86 -> 192.168.2.23 ICMP Echo (ping) reply
1.057335 192.168.2.23 -> 192.168.2.22 SSH Encrypted request packet len=52
16 packets captured

Eðer çýktýlarýn ekrana deðil de sonradan analiz için  bir dosyaya yazdýrýlmasý isteniyorsa -w dosya_ismi parametresi kullanýlýr.

# tshark -w home_labs.pcap
Running as user “root” and group “root”. This could be dangerous.
Capturing on eth0

24

Gerektiðinde home_labs.pcap dosyasý libpcap destekli herhangi bir analiz programý tarafýndan okunabilir. tshark ya da tcpdump ile kaydedilen dosyadan paket okumak
için -r parametresi kullanýlýr.

Arabirim Belirtme

Ýstediðiniz arabirim üzerinden dinleme yapýlmasý istenirse -i arabirim_ismi parametresi kullanýlýr.

#tshark -i eth12
gibi.

-n parametresi ile de host isimlerinin ve servis isimlerinin çözülmemesi saðlanýr.

Detaylý Paket Çýktýsý

Paketleri ekrandan izlerken ilgili protokole ait tüm detaylarý görmek için -V parametresi kullanýlabilir.

Mesela udp 53(DNS) paketlerini detaylý çýktýsýný incelyelim.

home-labs#thsark -i eth0 udp port 53
Frame 2 (100 bytes on wire, 100 bytes captured)
Arrival Time: Jan 17, 2009 11:54:34.174323000
[Time delta from previous captured frame: 0.001332000 seconds]
[Time delta from previous displayed frame: 0.001332000 seconds]
[Time since reference or first frame: 0.001332000 seconds]
Frame Number: 2
Frame Length: 100 bytes
Capture Length: 100 bytes
[Frame is marked: False]
[Protocols in frame: eth:ip:udp:dns]
Ethernet II, Src: Arcadyan_a7:22:5c (00:1a:2a:a7:22:5c), Dst: Giga-Byt_5a:1b:96 (00:1f:d0:5a:1b:96)
Destination: Giga-Byt_5a:1b:96 (00:1f:d0:5a:1b:96)
Address: Giga-Byt_5a:1b:96 (00:1f:d0:5a:1b:96)
…. …0 …. …. …. …. = IG bit: Individual address (unicast)
…. ..0. …. …. …. …. = LG bit: Globally unique address (factory default)
Source: Arcadyan_a7:22:5c (00:1a:2a:a7:22:5c)
Address: Arcadyan_a7:22:5c (00:1a:2a:a7:22:5c)
…. …0 …. …. …. …. = IG bit: Individual address (unicast)
…. ..0. …. …. …. …. = LG bit: Globally unique address (factory default)
Type: IP (0×0800)
Internet Protocol, Src: 192.168.2.1 (192.168.2.1), Dst: 192.168.2.23 (192.168.2.23)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0×00 (DSCP 0×00: Default; ECN: 0×00)
0000 00.. = Differentiated Services Codepoint: Default (0×00)
…. ..0. = ECN-Capable Transport (ECT): 0
…. …0 = ECN-CE: 0
Total Length: 86
Identification: 0×0000 (0)
Flags: 0×04 (Don’t Fragment)
0… = Reserved bit: Not set
.1.. = Don’t fragment: Set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 64
Protocol: UDP (0×11)
Header checksum: 0xb52e [correct]
[Good: True]
[Bad : False]
Source: 192.168.2.1 (192.168.2.1)
Destination: 192.168.2.23 (192.168.2.23)
User Datagram Protocol, Src Port: domain (53), Dst Port: blueberry-lm (1432)
Source port: domain (53)
Destination port: blueberry-lm (1432)
Length: 66
Checksum: 0×2a35 [correct]
[Good Checksum: True]
[Bad Checksum: False]
Domain Name System (response)
[Request In: 1]
[Time: 0.001332000 seconds]
Transaction ID: 0×0001
Flags: 0×8100 (Standard query response, No error)
1… …. …. …. = Response: Message is a response
.000 0… …. …. = Opcode: Standard query (0)
…. .0.. …. …. = Authoritative: Server is not an authority for domain
…. ..0. …. …. = Truncated: Message is not truncated
…. …1 …. …. = Recursion desired: Do query recursively
…. …. 0… …. = Recursion available: Server can’t do recursive queries
…. …. .0.. …. = Z: reserved (0)
…. …. ..0. …. = Answer authenticated: Answer/authority portion was not authenticated by the server
…. …. …. 0000 = Reply code: No error (0)
Questions: 1
Answer RRs: 1
Authority RRs: 0
Additional RRs: 0
Queries
1.2.168.192.in-addr.arpa: type PTR, class IN
Name: 1.2.168.192.in-addr.arpa
Type: PTR (Domain name pointer)
Class: IN (0×0001)
Answers
1.2.168.192.in-addr.arpa: type PTR, class IN, RT
Name: 1.2.168.192.in-addr.arpa
Type: PTR (Domain name pointer)
Class: IN (0×0001)
Time to live: 2 hours, 46 minutes, 40 seconds
Data length: 4
Domain name: RT

Benzer bir paketin tcpdump ile görüntüsü aþaðýdaki gibi olacaktýr. Her iki çýktýdan da görüleceði gibi Tshark ile protokol ve katmanlara ait tüm detaylar çözümlenirken tcpdump’da sadece özet bilgiler yer alýr.

# tcpdump -i eth0 -n udp port 53 -vv
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

11:57:12.096474 IP (tos 0×0, ttl 128, id 21291, offset 0, flags [none], proto UDP (17), length 59) 192.168.2.23.1446 > 192.168.2.1.53: [udp sum ok] 2+ A?

www.linux.com. (31)
11:57:12.820246 IP (tos 0×0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 215) 192.168.2.1.53 > 192.168.2.23.1446: 2 q: A? www.linux.com. 2/3/3

www.linux.com. CNAME linux.com., linux.com.[|domain]

Tshark’da Filtreler

Tshark ayný Wireshark’da olduðu gibi iki çeþit filtreleme özelliðine sahiptir. Bunlardan biri trafik yakalama esnasýnda kullanýlan ve tcpdump ile hemen hemen ayný
özelliklere(Berkley Paket Filter) sahip olan capture filter, diðeri de yakalanan trafik üzerinde detaylý analiz yapmaya yarayan Display filter dýr.
Display filterlar ayný zamanda paket yakalama esnasýnda da kullanýlabilir.

Display filter Kavramý

Display filter özelliði ile Tshark çözümleyebildiði protokollere ait tüm detaylarý gösterebilir ve sadece bu detaylara ait paketleri yakalamaya yardýmcý olur. Mesela
amacýmýz tüm dns trafiði deðil de dns trafiði içerisinde sadece www.lifeoverip.net domainine ait sorgulamalarý yakalamak istersek aþaðýdaki gibi bir filtreleme iþimize yarayacaktýr.

Note: Display Filter için  -R ‘filtreleme detayý’ seçeneði kullanýlýr.

# tshark -i eth0 -n -R ‘dns.qry.name==www.lifeoverip.net’
Running as user “root” and group “root”. This could be dangerous.
Capturing on eth0
11.467730 192.168.2.23 -> 192.168.2.1  DNS Standard query A www.lifeoverip.net
13.467968 192.168.2.23 -> 192.168.2.1  DNS Standard query A www.lifeoverip.net
17.936486 192.168.2.23 -> 192.168.2.1  DNS Standard query A www.lifeoverip.net
17.938038  192.168.2.1 -> 192.168.2.23 DNS Standard query response A 80.93.212.86

Böylece normal snifferlarda sadece udp 53′u dinleyerek bulmaya çalýþtýðýmýz detaylar Tshark ile kolayca belirtilebiliyor.

Display Filterlari akýlda tutmak ya da ilgili protokole ait tüm detaylarý bilmek zor olabilir.

http://www.wireshark.org/docs/dfref/ -
 protokole ait desteklenen tüm filtrelemeler incelenebilir.

Örnek: HTTP trafiði içerisinde GET, PUT ve OPTIONS kullanýlan istekleri yakalama.

home-labs#tshark -i eth0 -n -R ‘http.request.method contains GET or http.request.method contains PUT or http.request.method contains OPTIONS’

Running as user “root” and group “root”. This could be dangerous.
Capturing on eth0
7.571543 192.168.2.22 -> 80.93.212.86 HTTP OPTIONS / HTTP/1.111
14.925700 192.168.2.22 -> 80.93.212.86 HTTP GET / HTRTP/1.1

Bir TCP Baðlantýsýna ait baþlangýç ve bitiþ  paketlerini yakalama

Ýçerisinde SYN veya FIN bayraðý set edilmiþ paketleri yakalamak için

# tshark -n -R ‘tcp.port==80 and tcp.flags.fin==1 or tcp.flags.syn==1′
Running as user “root” and group “root”. This could be dangerous.
Capturing on eth0
1.245831 192.168.2.22 -> 80.93.212.86 TCP 36566 > 80 [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=2759271 TSER=0 WS=5
1.259797 80.93.212.86 -> 192.168.2.22 TCP 80 > 36566 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1452 WS=1 TSV=2754203455 TSER=2759271
3.966800 80.93.212.86 -> 192.168.2.22 TCP 80 > 36566 [FIN, ACK] Seq=212 Ack=11 Win=66240 Len=0 TSV=2754206160 TSER=2759947
3.966919 192.168.2.22 -> 80.93.212.86 TCP 36566 > 80 [FIN, ACK] Seq=11 Ack=213 Win=6912 Len=0 TSV=2759952 TSER=2754206160

 

Saygýlar..




Sayfayı Yazdır | Pencereyi Kapat