


Alat analisis penangkapan paket rangkaian Linux

1. tcpdump
1. antara muka rangkaian dan boleh dihantar melalui rangkaian data "header" paket dipintas dan dianalisis sepenuhnya. Ia menyokong penapisan untuk lapisan rangkaian, protokol, hos, rangkaian atau port, dan menyediakan pernyataan logik seperti dan, atau, bukan untuk membantu anda mengekstrak maklumat yang berguna.
Oleh kerana ia memerlukan penetapan antara muka rangkaian kepada mod rambang, pengguna biasa tidak boleh melaksanakannya secara normal, tetapi pengguna yang mempunyai kebenaran root boleh melaksanakannya terus untuk mendapatkan maklumat pada rangkaian
Alat penangkapan paket lain
wireshark mempunyai kedua-dua versi grafik dan baris arahan, yang boleh menganalisis paket yang ditangkap oleh tcpdump Fungsi utamanya adalah untuk menganalisis paket data.
ngrep akan terus memaparkan data paket yang ditangkap dalam bentuk teks, yang sesuai untuk [menangkap] analisis data paket yang mengandungi teks (seperti HTTP, MySQL)
2tcpdump [pilihan] [protokol] [arah aliran data] [julat]
- -a Tukar alamat rangkaian dan alamat siaran kepada nama
- -A Cetak semua paket dalam format kepala ASCII dan Minimumkan lapisan pautan
- -b Pilih protokol pada lapisan pautan data, termasuk ip/arp/rarp/ipx semuanya berada dalam lapisan ini
- -c Nyatakan bilangan kali untuk menerima paket data, iaitu sebelum menerima Exit tcpdump selepas mencapai bilangan paket data yang ditentukan
- -d akan mengeluarkan kod paket maklumat yang sepadan dalam format pemasangan yang boleh difahami oleh orang ramai
-dd Keluarkan kod paket maklumat yang sepadan dalam format segmen program bahasa c
-ddd Keluarkan kod paket maklumat yang sepadan dalam bentuk perpuluhan
-D Cetak semua rangkaian yang boleh dipantau dalam Antaramuka sistem
-e mencetak maklumat pengepala lapisan pautan data pada baris keluaran
-f mencetak alamat Internet luaran dalam bentuk nombor, iaitu, tidak memaparkan hos nama
-F daripada Baca ungkapan daripada fail yang ditentukan dan abaikan ungkapan lain
-i Nyatakan antara muka rangkaian pendengaran
-l Jadikan output standard sebagai bentuk penimbal dan eksport data ke fail
-L lajur Keluarkan pautan data yang diketahui antara muka rangkaian
-n Jangan tukar alamat rangkaian kepada nama
-N Jangan keluarkan bahagian nama domain bagi nama hos, untuk contoh www.baidu.com hanya mengeluarkan www
-nn tidak menukar nama port
-P tidak menetapkan antara muka rangkaian kepada mod promiscuous
-q output pantas, iaitu hanya output kurang maklumat protokol
-r dari fail yang ditentukan Baca data, biasanya -w fail disimpan
-w Simpan maklumat yang ditangkap ke fail tanpa menganalisis dan mencetaknya pada skrin
-s Baca daripada setiap kumpulan pada bait snaplen permulaan, bukannya 68 bait lalai
-S Keluarkan nombor urutan tcp dalam nilai mutlak, bukan nilai relatif
-T Parsing terus paket yang dipantau ke dalam jenis mesej yang ditentukan, biasa jenis termasuk rpc (panggilan prosedur jauh) dan snmp (protokol pengurusan rangkaian mudah)
-t tidak mencetak cap waktu dalam setiap baris output
-tt keluaran bukan cap waktu berformat
perbezaan masa antara baris ini dan yang sebelumnya
-tttt Keluarkan cap masa dalam format lalai pemprosesan data dalam setiap baris
-u Output pemegang NFS yang tidak dikodkan
-
-v mengeluarkan maklumat yang lebih terperinci sedikit , sebagai contoh, pakej ip boleh memasukkan maklumat ttl dan jenis perkhidmatan
. 68.100.0 mewakili a segmen rangkaian, port 80 menunjukkan nombor port ialah 80. Jika jenis data tidak dinyatakan di sini, lalai adalah hos 牛逼啊!接私活必备的 N 个开源项目!赶快收藏
Salin selepas log masukKata kunci untuk arah penghantaran data
termasuk ip, arp ,rarp,udp
其他关键字
运算类型:or、and、not、!
辅助功能型:gateway、less、broadcast、greater
4、tcpdump 捕获方式
tcpdump [协议类型] [源或目标] [主机名称或 IP] [or/and/not/! 条件组合] [源或目标] [主机名或 IP] [or/and/not/! 条件组合] [端口] [端口号] …… [or/and/not/! 条件组合] [条件]
> tcpdump ip dst 192.168.10.1 and src 192.168.10.10 and port 80 and host !www.baidu.com
tcpdump
默认监听在第一块网卡,监听所有经过此网卡的数据包

> tcpdump -i ens33
监听指定网卡 ens33 的所有传输数据包

> tcpdump -i ens33 host 192.168.100.10
捕获主机 192.168.100.10 经过网卡 ens33 的所有数据包(也可以是主机名,但要求可以解析出 IP 地址)

第一列:报文的时间
第二列:网络协议 IP
第三列:发送方的 ip 地址、端口号、域名,上图显示的是本机的域名,可通过 / etc/hosts 查看本机域名
第四列:箭头 >, 表示数据流向
第五列:接收方的 ip 地址、端口号、域名,
第六列:冒号
第七列:数据包内容,报文头的摘要信息,有 ttl、报文类型、标识值、序列、包的大小等信息
> tcpdump host 192.168.130.151 and 192.168.130.152or192.168.130.153192.168.130.152or192.168.130.153
捕获主机 192.168.56.209 和主机 192.168.56.210 或 192.168.56.211 的所有通信数据包
> tcpdump ip host node9 and not www.baidu.com
捕获主机 node9 与其他主机之间(不包括 www.baidu.com)通信的 ip 数据包
> tcpdump ip host node9 and ! www.baidu.com
捕获 node9 与其他所有主机的通信数据包(不包括 www.baidu.com)
> tcpdump -i ens33 src node10
捕获源主机 node10 发送的所有的经过 ens33 网卡的所有数据包
> tcpdump -i ens33 dst host www.baidu.com
捕获所有发送到主机 www.baidu.com 的数据包
监听主机 192.168.56.1 和 192.168.56.210 之间 ip 协议的 80 端口的且排除 www.baidu.com 通信的所有数据包:
> tcpdump ip dst 192.168.56.1 and src 192.168.56.210 and port 80 and host ! baidu.com
也可以写成 tcpdump ip dst 192.168.56.1 and src 192.168.56.210 and port 80 and host not www.baidu.com,即 not 和!都是相同的取反的意思
> tcpdump arp
监控指定主机的通信数据包与 1.9.1 方式相同
> tcpdump tcp port 22 and host 192.168.56.210
捕获主机 192.168.56.210 接收和发出的 tcp 协议的 ssh 的数据包
tcpdump udp port 53
监听本机 udp 的 53 端口的数据包,udp 是 dns 协议的端口,这也是一个 dns 域名解析的完整过程
5、常用的过滤条件
tcpdump 可以支持逻辑运算符
and: 与运算,所有的条件都需要满足,可用 “and”和 “&&” 表示
or:或运行,只要有一个条件满足就可以,可用 “or” 和“|”表示
not:取反,即取反条件,可以用 “not” 和“!”表示
> tcpdump icmp and src 192.168.100.10 -i ens33 -n
过滤 icmp 报文并且源 IP 是 192.168.100.10
多条件格式
在使用多个过滤条件进行组合时,有可能需要用到括号,而括号在 shell 中是特殊符号,又需要使用引号将其包含。用括号的主要作用是逻辑运算符之间存在优先级,!>and > or, 为例条件能够精确所以需要对一些必要的组合括号括起来,而括号的意思相当于加减运算一样,括起来的内容作为一个整体进行逻辑运算。
过滤源地址是 192.168.100.1 并且目的地址是 192.168.20.20 的数据包或者 ARP 协议的包。另外,搜索公众号Linux就该这样学后台回复“Linux”,获取一份惊喜礼包。
> tcpdump **src** host 192.168.10.10 -i ens33 -n -c 5
过滤源 IP 地址是 192.168.10.10 的包
> tcpdump **dst** host 192.168.10.10 -i ens33 -n -c 5
过滤目的 IP 地址是 192.168.10.10 的包

基于端口进行过滤
> tcpdump port 22 -i ens33 -n -c 5 > 过滤端口号为 22 即 ssh 协议的

> tcpdump portrange 22-433 -i ens33 -n -c 8
过滤端口号 22-433 内的数据包

二、wireshark
1、什么是 wireshark
Wireshark 是一个网络封包分析软件。网络封包分析软件的功能是捕获网络数据包,并尽可能显示出最为详细的网络封包资料。Wireshark 使用 WinPCAP 作为接口,直接与网卡进行数据报文交换
2、安装 wireshark
Linux 中有两个版本的 wireshark,一个是 wireshark,这个版本是无图形化界面,基本命令是”tshark“。
一个是 wireshark-gnome(界面版本),这个版本只能安装在支持 GUI 功能的 Linux 的版本中。
> yum -y install wireshark // 安装无图形化版本 > yum -y install wireshark-gnome // 安装图形化版本



注:这里的通过 yum 进行安装,需要提前做好 epel 源(即红帽操作系统额外拓展包),装上了 EPEL 之后,就相当于添加了一个第三方源。官方的 rpm repository 提供的 rpm 包也不够丰富,很多时候需要自己编译那太辛苦了,而 EPEL 可以解决官方 yum 源数据包不够丰富的情况。
安装epel源
> yum -y install epel-release

3、tshark 命令
tshark 是 wireshark 的命令行工具 tshark 选项 参数 -i:指定捕获的网卡接口,不设置默认第一个非环回口接口 -D:显示所有可用的网络接口列表 -f:指定条件表达式,与 tcpdump 相同 -s:设置每个抓包的大小,默认 65535,多于这个大小的数据将不会不会被截取。 -c:捕获指定数量的数据包后退出 -w:后接文件名,将抓包的结果输出到. pcap 文件中,可以借助其他网络分析工具进行分 析,也可以使用重定向 > 把解码后的输出结果以 txt 的格式输出。 -p:设置网络接口以非混合模式工作,即只关心和本机有关的流量 -r:后接文件路径,用于分析保持好的网络包文件,比如 tcpdump 的输出文件 -n:禁止所有地址名字解析,即禁止域名解析, 默认是允许所有 -N:指定对某一层的地址名字解析,如果 - n 和 - N 同时存在,则 - n 将被忽略,如果两者都不写,则会默认打开所有地址名字解析 m:代表数据链路层 n:代表网络层 t:代表传输层 -V:设置将解码结果的细节输出,否则解码结果仅显示一个 packet 一行的 summary -t:设置结果的时间格式 ad:表示带日期的绝对时间 a:表示不带日期的绝对时间 r:表示从第一个包到现在的相对时间 d:表示两个相邻包之间的增量时间
tshark -f "icmp" -i ens33 -V -c 1
过滤 icmp 报文,并展开详细信息。另外,搜索公众号编程技术圈后台回复“1024”,获取一份惊喜礼包。
tshark -f "arp" -i ens33
过滤 arp 报文
antara muka grafik


Bacalah melalui wireshark pada mesin maya

use ip.addr == [nombor alamat ip] untuk menapis iPS yang tidak relevan iPS
grafik bacaan

use wireshark terus terbuka ke pandangan
Ringkasan
tcpdump dan wireshark adalah serupa dari segi fungsi penangkapan paket Pilihan baris arahan kedua-duanya juga mempunyai perkara yang sama, tetapi tcpdump tidak begitu mahir dalam menganalisis paket Pada masa yang sama, banyak sistem Linux pada masa ini tcpdump terbina dalam, jadi kami boleh menangkap paket data melalui tcpdump dan menyimpannya dalam fail tersuai kami (.pcap), dan kemudian mengekstrak fail dan menggunakan wireshark untuk menganalisis dan menyelesaikan masalah
Atas ialah kandungan terperinci Alat analisis penangkapan paket rangkaian Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Langkah -langkah untuk memulakan Nginx di Linux: Periksa sama ada Nginx dipasang. Gunakan SistemCTL Mula Nginx untuk memulakan perkhidmatan Nginx. Gunakan SistemCTL Dayakan NGINX untuk membolehkan permulaan automatik Nginx pada permulaan sistem. Gunakan Status SistemCTL Nginx untuk mengesahkan bahawa permulaan berjaya. Lawati http: // localhost dalam pelayar web untuk melihat halaman selamat datang lalai.

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Memulakan pelayan Nginx memerlukan langkah-langkah yang berbeza mengikut sistem operasi yang berbeza: Sistem Linux/Unix: Pasang pakej Nginx (contohnya, menggunakan apt-get atau yum). Gunakan SystemCTL untuk memulakan perkhidmatan Nginx (contohnya, SUDO SystemCTL Mula Nginx). Sistem Windows: Muat turun dan pasang fail binari Windows. Mula Nginx menggunakan nginx.exe executable (contohnya, nginx.exe -c conf \ nginx.conf). Tidak kira sistem operasi yang anda gunakan, anda boleh mengakses IP pelayan

Pelayan tidak mempunyai kebenaran untuk mengakses sumber yang diminta, mengakibatkan ralat NGINX 403. Penyelesaian termasuk: Periksa keizinan fail. Semak konfigurasi .htaccess. Semak konfigurasi Nginx. Konfigurasikan keizinan Selinux. Semak peraturan firewall. Menyelesaikan masalah lain seperti masalah penyemak imbas, kegagalan pelayan, atau kesilapan lain yang mungkin.

Bagaimana untuk memperbaiki kesilapan dilarang nginx 403? Semak keizinan fail atau direktori; 2. Semak .htaccess File; 3. Semak fail konfigurasi nginx; 4. Mulakan semula nginx. Penyebab lain yang mungkin termasuk peraturan firewall, tetapan selinux, atau isu aplikasi.

Jawab kepada Soalan: 304 Tidak diubahsuai ralat menunjukkan bahawa penyemak imbas telah cache versi sumber terkini permintaan klien. Penyelesaian: 1. Kosongkan cache penyemak imbas; 2. Lumpuhkan cache penyemak imbas; 3. Konfigurasi nginx untuk membolehkan cache pelanggan; 4. Periksa keizinan fail; 5. Semak fail hash; 6. Lumpuhkan CDN atau cache proksi terbalik; 7. Mulakan semula nginx.

Di Linux, gunakan arahan berikut untuk memeriksa sama ada nginx dimulakan: Hakim status SistemCTL Nginx berdasarkan output arahan: Jika "Aktif: Aktif (Running)" dipaparkan, Nginx dimulakan. Jika "aktif: tidak aktif (mati)" dipaparkan, nginx dihentikan.

Log ralat terletak di/var/log/nginx (linux) atau/usr/local/var/log/nginx (macOS). Gunakan baris arahan untuk membersihkan langkah -langkah: 1. Sandarkan log asal; 2. Buat fail kosong sebagai log baru; 3. Mulakan semula perkhidmatan Nginx. Pembersihan automatik juga boleh digunakan dengan alat pihak ketiga seperti logrotat atau dikonfigurasikan.
