Basitçe, ağ arayüzleri üzerinden akan veriyi kayıt etmemizi sağlayan bir araçtır.
-i any : Bütün ağ arayüzlerini dinler
-i virbr0 : Sadece 'virbr0' ağ arayüzünü dinler
-D : Kullanılabilir tüm ağ arayüzlerini listeler
-n : Hostname çözümlemeden tarama yapar
-nn : Hostname ve port çözümlemeden işlem yapar
-q : Ekrana çıktı yazılmasını önler
-t : Zaman damgalarını göstermez
-tttt : Okunabilirliği en yüksek zaman damgasını ekler
-X : Paketlerdeki HEX ad ASCII içerikleri gösterir
-XX : -X ile aynı işi yapar ama İnterner Header'larını da okur.
-v : Paketler hakkında çıktı üretmemizi sağlar
-vv, -vvv : -v ile aynı işi yapar ama üretilecek çıktı sayısı v sayısı arttırkça derinleşir
-c : Sadece paket sayısını takip eder
-s : Belirli bir sayıda paket toplamamızı sağlar. -s0 sonsuz demektir.
-S : Sekans numarasını yazdır.
-e : İnternet Header bilgisini getir.
-E : IPSEC trafik üzerindeki veriyi çözümle (decrypt)
- Kullanılabilecek argümanlar:
host
,net
,port
- Kullanılabilecek yönergeler:
src
,dst
- Protokoller :
tcp
,udp
,icmp
,ah
Örnekler
Tüm ağ arayüzlerini dinleyen komut
$ sudo tcpdump -i any
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
22:36:46.034261 IP 146.75.2.248.https > 192.168.1.113.56967: Flags [.], seq 1596546878:1596548258, ack 4000340518, win 275, options [nop,nop,TS val 3639990828 ecr 3020897020], length 1380
22:36:46.034714 IP 146.75.2.248.https > 192.168.1.113.56967: Flags [P.], seq 1380:2760, ack 1, win 275, options [nop,nop,TS val 3639990828 ecr 3020897020], length 1380
22:36:46.034715 IP 146.75.2.248.https > 192.168.1.113.56967: Flags [.], seq 2760:4140, ack 1, win 275, options [nop,nop,TS val 3639990829 ecr 3020897022], length 1380
22:36:46.034726 IP 146.75.2.248.https > 192.168.1.113.56967: Flags [P.], seq 4140:5520, ack 1, win 275, options [nop,nop,TS val 3639990829 ecr 3020897022], length 1380
Belirli bir arayüzü incelemek için;
$ sudo tcpdump -i en0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 262144 bytes
22:38:08.782704 IP 192.168.1.113.51591 > 239.255.255.250.ssdp: UDP, length 175
22:38:08.794074 IP 192.168.1.113.54409 > one.one.one.one.domain: 745+ PTR? 113.1.168.192.in-addr.arpa. (44)
22:38:08.819542 IP one.one.one.one.domain > 192.168.1.113.54409: 745 NXDomain 0/0/0 (44)
Düzgün okunabilir, sekans numaralı ve host/port çözümlemesi yapılmayan bir örnek olarak;
$ sudo tcpdump -ttttnnvvS
tcpdump: data link type PKTAP
tcpdump: listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
2022-12-07 22:39:25.338343 IP (tos 0x0, ttl 64, id 52382, offset 0, flags [none], proto UDP (17), length 71)
192.168.1.113.52739 > 1.1.1.1.53: [udp sum ok] 51028+ A? chrome.cloudflare-dns.com. (43)
2022-12-07 22:39:25.338424 IP (tos 0x0, ttl 64, id 18069, offset 0, flags [none], proto UDP (17), length 71)
192.168.1.113.54117 > 1.1.1.1.53: [udp sum ok] 3819+ AAAA? chrome.cloudflare-dns.com. (43)
Belirli bir hostu incelemek istersek
$ sudo tcpdump host 192.168.1.113
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
22:40:16.955668 IP 192.168.1.113.56976 > s3-us-west-2.amazonaws.com.https: Flags [.], ack 2768462274, win 4096, length 0
22:40:16.966372 IP 192.168.1.113.50512 > one.one.one.one.domain: 25664+ PTR? 113.1.168.192.in-addr.arpa. (44)
22:40:16.984641 IP one.one.one.one.domain > 192.168.1.113.50512: 25664 NXDomain 0/0/0 (44)
22:40:16.989238 IP 192.168.1.113.57936 > one.one.one.one.domain: 18849+ PTR? 248.179.92.52.in-addr.arpa. (44)
Belirli network subnetini dinlemek için;
$ sudo tcpdump net 192.168.1.0/24
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
22:42:28.905379 IP 192.168.1.113.57205 > 25.224.186.35.bc.googleusercontent.com.https: UDP, length 250
22:42:28.908629 IP 192.168.1.113.53003 > one.one.one.one.domain: 53566+ PTR? 113.1.168.192.in-addr.arpa. (44)
22:42:28.920790 IP one.one.one.one.domain > 192.168.1.113.53003: 53566 NXDomain 0/0/0 (44)
22:42:28.924960 IP 192.168.1.113.50523 > one.one.one.one.domain: 47055+ PTR? 25.224.186.35.in-addr.arpa. (44)
Port kısıtlaması yapmak için
$ sudo tcpdump port 80
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
^C
0 packets captured
409 packets received by filter
0 packets dropped by kernel
Çıktıyı kayıt etmek isersek;
$ sudo tcpdump -w output
tcpdump: data link type PKTAP
tcpdump: listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
^C16 packets captured
20 packets received by filter
0 packets dropped by kernel
Kayıt ettiğimiz çıktıyı okuymak istersek;
$ sudo tcpdump -r output
reading from PCAP-NG file output
22:49:00.907360 ARP, Reply 192.168.1.1 is-at 8c:59:73:45:08:40 (oui Unknown), length 28
22:49:00.961501 IP 192.168.1.113.57621 > 192.168.1.255.57621: UDP, length 44
22:49:01.622691 IP 192.168.1.113.56856 > 104.18.7.183.https: Flags [P.], seq 3793547806:3793547989, ack 1763056975, win 2048, options [nop,nop,TS val 2334735024 ecr 303325811], length 183