Sa gabay na ito, ipapakita namin kung paano i-install ang tcpdump sa isang Linux system at kung paano makuha at suriin ang mga TCP/IP packet gamit ang tcpdump.
Paano i-install ang Tcpdump
Ang Tcpdump ay paunang naka-install sa maraming mga pamamahagi ng Linux. Ngunit kung hindi pa ito naka-install sa iyong system, maaari mong i-install ang tcpdump sa iyong Linux system. Upang i-install ang tcpdump sa Ubuntu 22.04 system, gamitin ang sumusunod na command:
$ sudo apt install tcpdump
Upang i-install ang tcpdump sa Fedora/CentOS, gamitin ang sumusunod na command:
$ sudo dnf i-install ang tcpdump
Paano Kunin ang mga Packet Gamit ang Tcpdump Command
Upang makuha ang mga packet na may tcpdump, ilunsad ang terminal na may mga pribilehiyo ng sudo gamit ang “Ctrl+Alt+t”. Kasama sa tool na ito ang iba't ibang opsyon at filter para makuha ang mga TCP/IP packet. Kung gusto mong makuha ang lahat ng dumadaloy na packet ng kasalukuyan o default na interface ng network, gamitin ang command na 'tcpdump' nang walang anumang opsyon.
$ sudo tcpdump
Kinukuha ng ibinigay na command ang mga packet ng default na interface ng network ng iyong system.
Sa pagtatapos ng pagpapatupad ng utos na ito, ang lahat ng nakuha at na-filter na mga bilang ng packet ay ipinapakita sa terminal.
Unawain natin ang output.
Nagbibigay-daan ang Tcpdump sa pagsusuri ng mga header ng TCP/IP packet. Nagpapakita ito ng isang linya para sa bawat packet, at patuloy na tumatakbo ang command hanggang sa pindutin mo ang “Ctrl+C” para ihinto ito.
Ang bawat linya na ibinigay ng tcpdump ay naglalaman ng mga sumusunod na detalye:
- Unix timestamp (hal., 02:28:57.839523)
- Protocol (IP)
- Source hostname o IP at numero ng port
- Destination hostname o IP at port number
- Mga Flag ng TCP (hal., Mga Flag [F.]) na nagsasaad ng estado ng koneksyon na may mga halaga tulad ng S (SYN), F (FIN),. (ACK), P (PUSH), R (RST)
- Sequence number ng data sa packet (hal., seq 5829:6820)
- Numero ng pagkilala (hal., ack 1016)
- Laki ng window (hal., win 65535) na kumakatawan sa mga available na byte sa receiving buffer na sinusundan ng mga opsyon sa TCP
- Haba ng data payload (hal., haba 991)
Upang ilista ang lahat ng listahan ng mga interface ng network ng iyong system, gamitin ang command na 'tcpdump' na may opsyong '-D'.
$ sudo tcpdump -Do
$ tcpdump --list-interfacesInililista ng command na ito ang lahat ng mga interface ng network na konektado o tumatakbo sa iyong Linux system.
Kunin ang mga Packet ng Tinukoy na Network Interface
Kung gusto mong makuha ang mga TCP/IP packet na dumadaan sa isang partikular na interface, gamitin ang flag na “-i” na may command na “tcpdump” at tukuyin ang pangalan ng network interface.
$ sudo tcpdump -i lo
Kinukuha ng ibinigay na command ang trapiko sa interface na 'lo'. Kung gusto mong magpakita ng verbose o detalyadong impormasyon tungkol sa packet, gamitin ang flag na “-v”. Para mag-print ng mas kumpletong mga detalye, gamitin ang flag na “-vv” gamit ang command na “tcpdump”. Ang regular na paggamit at pagsusuri ay nakakatulong sa pagpapanatili ng matatag at secure na kapaligiran sa network.
Katulad nito, maaari mong makuha ang trapiko sa anumang interface gamit ang sumusunod na command:
$ sudo tcpdump -i any
Kunin ang mga Packet Gamit ang isang Partikular na Port
Maaari mong makuha at i-filter ang mga packet sa pamamagitan ng pagtukoy sa pangalan ng interface at numero ng port. Halimbawa, upang makuha ang mga network packet na dumadaan sa interface ng 'enp0s3' gamit ang port 22, gamitin ang sumusunod na command:
$ tcpdump -i enp0s3 port 22Kinukuha ng nakaraang command ang lahat ng dumadaloy na packet mula sa interface na 'enp0s3'.
Kunin ang Limitadong Packet gamit ang Tcpdump
Maaari mong gamitin ang flag na '-c' gamit ang command na 'tcpdump' upang makuha ang isang tinukoy na bilang ng mga packet. Halimbawa, upang makuha ang apat na packet sa interface na 'enp0s3', gamitin ang sumusunod na command:
$ tcpdump -i enp0s3 -c 4
Palitan ang pangalan ng interface gamit ang iyong system.
Mga Kapaki-pakinabang na Tcpdump Command para Kunin ang Trapiko sa Network
Sa sumusunod, naglista kami ng ilang kapaki-pakinabang na 'tcpdump' na mga utos na tutulong sa iyo sa pagkuha at pag-filter ng trapiko sa network o mga packet nang mahusay:
Gamit ang command na 'tcpdump', maaari mong makuha ang mga packet ng isang interface na may tinukoy na destination IP o source IP.
$ tcpdump -i {interface-name} dst {destination-ip}Maaari mong makuha ang mga packet na may sukat ng snapshot na 65535 bytes na iba sa default na laki na 262144 bytes. Sa mga mas lumang bersyon ng tcpdump, ang laki ng pagkuha ay limitado sa 68 o 96 bytes.
$ tcpdump -i enp0s3 -s 65535
Paano I-save ang Mga Nakuhang Packet sa isang File
Kung gusto mong i-save ang nakuhang data sa isang file para sa karagdagang pagsusuri, magagawa mo ito. Kinukuha nito ang trapiko sa isang tinukoy na interface at pagkatapos ay ise-save ito sa isang '.pcap' na file. Gamitin ang sumusunod na command upang iimbak ang nakuhang data sa isang file:
$ tcpdump -iHalimbawa, mayroon kaming interface na 'enps03'. I-save ang nakuhang data na ito sa sumusunod na file:
$ sudo tcpdump -i enps03 -w dump.pcapSa hinaharap, maaari mong basahin ang nakunan na file na ito gamit ang Wireshark o iba pang tool sa pagtatasa ng network. Kaya, kung gusto mong gamitin ang Wireshark upang pag-aralan ang mga packet, gamitin ang argumentong '-w' at i-save ito sa isang '.pcap' na file.
Konklusyon
Sa tutorial na ito, ipinakita namin kung paano makuha at suriin ang mga packet gamit ang tcpdump sa tulong ng iba't ibang mga halimbawa. Natutunan din namin kung paano i-save ang nakuhang trapiko sa isang '.pcap' na file na maaari mong tingnan at suriin gamit ang Wireshark at iba pang mga tool sa pagsusuri sa network.