GVKun编程网logo

每天学一个 Linux 命令(72):tcpdump(linux tcpdump命令详解)

2

关于每天学一个Linux命令和72:tcpdump的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于TCPDUMP连接失败-如何使用Wireshark分析tcpdump文件?、每天学一个Li

关于每天学一个 Linux 命令72:tcpdump的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于TCPDUMP 连接失败 - 如何使用 Wireshark 分析 tcpdump 文件?、每天学一个 Linux 命令(10):passwd、每天学一个 Linux 命令(11):cp、每天学一个 Linux 命令(12):chown等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

每天学一个 Linux 命令(72):tcpdump(linux tcpdump命令详解)

每天学一个 Linux 命令(72):tcpdump(linux tcpdump命令详解)

命令简介

tcpdump 命令是一款类 Unix/Linux 环境下的抓包工具。

tcpdump采用命令行方式对接口的数据包进行筛选抓取,如果不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才会停止抓包。

[root@CentOS7-1 ~]# tcpdump
-bash: tcpdump: command not found
[root@CentOS7-1 ~]# yum install tcpdump -y

语法格式

[root@CentOS7-1 ~]# tcpdump --help
tcpdump version 4.9.2
libpcap version 1.5.3
OpenSSL 1.0.2k-fips  26 Jan 2017
Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
  [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
  [ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ]
  [ -Q|-P in|out|inout ]
  [ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
  [ --immediate-mode ] [ -T type ] [ --version ] [ -V file ]
  [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ]
  [ -Z user ] [ expression ]

选项说明

抓包选项

-c            #指定要抓取的包数量
-i interface  #指定要监听的接口
-n   #对地址以数字方式显式
-n   #端口显示为数值
-N   #不打印出host的域名部分
-P   #指定要抓取的包是流入还是流出的包
-s len   #设置数据包抓取长度为len,默认将会是65535字节

输出选项

-e   #输出的每行中都将包括数据链路层头部信息
-q   #快速打印输出
-X   #输出包的头部数据
-XX  #输出包的头部数据
-v   #详细的输出
-vv  #比-v更详细的输出
-vvv #比-vv更详细的输出

其他选项

-D  #查询可以抓包的接口
-F  #从文件中读取抓包的表达式
-w  #将抓包的数据输出到文件
-r  #从指定的数据包文件中读取数据

推荐给你:值得收藏!Linux系统常用命令速查手册

所以常用的选项也就这几个:

tcpdump -D
tcpdump -c num -i int -nn -XX -vvv

应用举例

实例

[root@CentOS7-1 ~]# tcpdump -i ens33
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
08:43:32.649405 IP CentOS7-1.ssh > 192.168.1.93.62148: Flags [P.], seq 1603116601:1603116813, ack 87129926, win 273, length 212
08:43:32.650284 IP CentOS7-1.54879 > public1.alidns.com.domain: 63951+ PTR? 93.1.168.192.in-addr.arpa. (43)
08:43:32.679205 IP public1.alidns.com.domain > CentOS7-1.54879: 63951 NXDomain 0/1/0 (120)
08:43:32.680996 IP CentOS7-1.50467 > public1.alidns.com.domain: 7677+ PTR? 100.1.168.192.in-addr.arpa. (44)
08:43:32.693832 IP 192.168.1.93.62148 > CentOS7-1.ssh: Flags [.], ack 212, win 4101, length 0
08:43:32.708977 IP public1.alidns.com.domain > CentOS7-1.50467: 7677 NXDomain 0/1/0 (121)
08:43:32.709897 IP CentOS7-1.54341 > public1.alidns.com.domain: 22823+ PTR? 5.5.5.223.in-addr.arpa. (40)
08:43:32.710391 IP CentOS7-1.ssh > 192.168.1.93.62148: Flags [P.], seq 212:392, ack 1, win 273, length 180
08:43:32.731500 IP public1.alidns.com.domain > CentOS7-1.54341: 22823 1/0/0 PTR public1.alidns.com. (72)
08:43:32.733069 IP CentOS7-1.ssh > 192.168.1.93.62148: Flags [P.], seq 392:1260, ack 1, win 273, length 868
08:43:32.733632 IP 192.168.1.93.62148 > CentOS7-1.ssh: Flags [.], ack 1260, win 4106, length 0
08:43:32.733936 IP CentOS7-1.ssh > 192.168.1.93.62148: Flags [P.], seq 1260:1520, ack 1, win 273, length 260
08:43:32.734278 IP CentOS7-1.ssh > 192.168.1.93.62148: Flags [P.], seq 1520:1684, ack 1, win 273, length 164
08:43:32.734619 IP 192.168.1.93.62148 > CentOS7-1.ssh: Flags [.], ack 1684, win 4104, length 0

抓取Ping数据包

[root@CentOS7-1 ~]# tcpdump -c 5 -nn -i ens33 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
08:53:52.652906 IP 192.168.1.199 > 192.168.1.100: ICMP echo request, id 1368, seq 1, length 64
08:53:52.654987 IP 192.168.1.100 > 192.168.1.199: ICMP echo reply, id 1368, seq 1, length 64
08:53:53.659034 IP 192.168.1.199 > 192.168.1.100: ICMP echo request, id 1368, seq 2, length 64
08:53:53.659095 IP 192.168.1.100 > 192.168.1.199: ICMP echo reply, id 1368, seq 2, length 64
08:53:54.667539 IP 192.168.1.199 > 192.168.1.100: ICMP echo request, id 1368, seq 3, length 64
5 packets captured
7 packets received by filter
0 packets dropped by kernel

分析数据包

[root@CentOS7-1 ~]# tcpdump -c 2 -q -XX -vvv -nn -i ens33 tcp dst port 22
tcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
08:55:43.606727 IP (tos 0x0, ttl 64, id 27235, offset 0, flags [DF], proto TCP (6), length 40)
    192.168.1.93.62148 > 192.168.1.100.22: tcp 0
 0x0000:  000c 2925 626f f875 a47d f4ec 0800 4500  ..)%bo.u.}....E.
 0x0010:  0028 6a63 4000 4006 4c5b c0a8 015d c0a8  .(jc@.@.L[...]..
 0x0020:  0164 f2c4 0016 0531 cb7e 5f9f 9479 5010  .d.....1.~_..yP.
 0x0030:  1005 641a 0000 0000 0000 0000            ..d.........
08:55:43.651422 IP (tos 0x0, ttl 64, id 27236, offset 0, flags [DF], proto TCP (6), length 40)
    192.168.1.93.62148 > 192.168.1.100.22: tcp 0
 0x0000:  000c 2925 626f f875 a47d f4ec 0800 4500  ..)%bo.u.}....E.
 0x0010:  0028 6a64 4000 4006 4c5a c0a8 015d c0a8  .(jd@.@.LZ...]..
 0x0020:  0164 f2c4 0016 0531 cb7e 5f9f 964d 5010  .d.....1.~_..MP.
 0x0030:  100a 6241 0000 0000 0000 0000            ..bA........
2 packets captured
3 packets received by filter
0 packets dropped by kernel

每天学一个 Linux 命令(70):dig

每天学一个 Linux 命令(71):traceroute

TCPDUMP 连接失败 - 如何使用 Wireshark 分析 tcpdump 文件?

TCPDUMP 连接失败 - 如何使用 Wireshark 分析 tcpdump 文件?

如何解决TCPDUMP 连接失败 - 如何使用 Wireshark 分析 tcpdump 文件?

我与特定服务器的连接失败,我无法确定原因。 我已经查看了 Wireshark 生成的 tcpdump 文件,但除了有很多 ACK 成功消息之外,我无法得出任何结论。 https://github.com/veljkosbbb/tcpdump/raw/main/traffic.pcap

有人可以给我提示这个连接有什么问题吗?我找不到任何可以澄清此问题的有用描述性消息。

谢谢!

每天学一个 Linux 命令(10):passwd

每天学一个 Linux 命令(10):passwd

推荐: 每天学一个 Linux 命令(9):useradd/userdel

Github地址:https://github.com/mingongge/Learn-a-Linux-command-every-day

命令简介

passwd创建或修改用户的密码,passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

普通用户在更改自己的密码之前,必须先输入当前密码进行验证(超级用户无需此步骤)。一款超牛逼的 Linux 终端复用神器(附安装、使用教程)

设置密码时需要符合系统对密码复杂性的要求。一般准则,密码应至少包含6个字符,包括以下每个字符中的一个或多个:值得收藏!Linux系统常用命令速查手册

  • 小写字母
  • 数字0到9
  • 标点符号

语法格式

passwd [选项] [username]

选项说明

-d  #删除密码
-f  #强迫用户下次登录时必须修改口令
-w  #口令要到期提前警告的天数
-k  #更新只能发送在过期之后
-l  #锁定账号使用
-S  #显示密码信息
-u  #启用已被停止的账户
-g  #修改群组密码
-S  #列出密码相关参数,即shadow文件内的大部分信息
-n  #后面接天数,shadow的第4字段,多久不可修改密码
-x  #后面接天数,shadow的第5字段,多久内必须要改动密码
-w  #后面接天数,shadow的第6字段,密码过期前的警告天数
-i  #后面接“日期”,shaodow的第7字段,密码失效日期
--help     #显示帮助信息
--version  #显示版本信息
--stdin    #从标准输入中读入新密码(此时可以看见设置的密码)















应用实例

修改用户密码

[root@mingongge ~]# passwd test  #设置test用户的密码
Enter new UNIX password:        #输入新密码,输入的密码无回显
Retype new UNIX password:       #确认密码
passwd: password updated successfully



显示账号密码信息

[root@mingongge ~]# passwd -S mingongge
mingongge P 12/25/2020 0 99999 7 -1

删除用户密码

[root@mingongge ~]# passwd -d mingongge
passwd: password expiry information changed.

锁定一个用户

[root@localhost ~]$ passwd -l mingongge     #锁定用户mingongge不能更改密码
Locking password for user mingongge.
passwd: Success                           #锁定成功
[root@localhost ~]# su mingongge    #切换到mingongge用户;
[mingongge@localhost ~]$ passwd     #来更改mingongge密码
Changing password for user mingongge.
Changing password for mingongge
(current) UNIX password:           #输入mingongge的当前密码
passwd: Authentication token manipulation error      #失败,不能更改密码








清除一个用户的密码

[root@localhost ~]$ passwd -d mingongge   #清除mingongge用户密码
Removing password for user mingongge.
passwd: Success                          #清除成功; 
[root@localhost ~]# passwd -S mingongge    #查询用户密码状态
Empty password.                          #空密码,也就是没有密码




注意:清除一个用户的密码之后,就代表着这个用户是没有密码了,也就是空密码可以登录。

每天学一个 Linux 命令(8):ls 每天一个 Linux 命令(7):cd
每天学一个 Linux 命令(6):shutdown




每天学一个 Linux 命令(11):cp

每天学一个 Linux 命令(11):cp

图片

推荐:每天学一个 Linux 命令(10):passwd

Github地址:

https://github.com/mingongge/...

命令简介

cp命令用来复制文件或目录。

cp命令用来将一个或多个文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

所以,cp命令还具备重命名的功能。

语法格式

cp [选项] [源文件或目录] [目标文件或目录]
cp [option] source destination
cp [option] source directory

注:cp命令默认情况下是不能直接复制目录,需要与-R选项配合使用。

选项说明

-a:#此参数的效果和同时指定"-dpR"参数相同;
-d:#当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:#强行复制文件或目录,不论目标文件或目录是否已存在;
-i:#覆盖既有文件之前先询问用户;
-l:#对源文件建立硬连接,而非复制文件;
-p:#保留源文件或目录的属性;
-R/r:#递归处理,将指定目录下的所有文件与子目录一并处理;
-s:#对源文件建立符号连接,而非复制文件;
-u:#使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:#在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:#覆盖已存在的文件目标前将目标文件备份;
-v:#详细显示命令执行的操作。

应用实例

复制文件举例

cp /usr/app/a.txt /usr/mingongge/b.txt 
#b.txt不存在,创建b.txt文件
cp /usr/app/a.txt /usr/mingongge/b.sh   
#b.sh不存在,创建b.sh文件,类似改名功能
cp /usr/app/a.txt /usr/mingongge/abc   
#abc不存在,创建abc文件

将目录/usr/app中的以s开头的所有.x结尾的文件复制到目录/usr/mingongge中。

$ cp -i /usr/app s*.x /usr/mingongge

cp命令复制文件时,如果在目标目录下有同名文件时,我们需要通过输入Y来进行确认操作。

$cp mmm/* /MMM
#复制目录mmm下所有到/MMM目录下,这时如果/MMM目录下有和mmm同名的文件,需要按Y来确认,且会略过mmm目录下的子目录。
 
$cp -r mmm/* /MMM
#也需要输入Y来确认操作,但是没有忽略子目录。
 
$cp -r -a mmm/* /MMM
#也需要输入Y来确认操作,并且把mmm目录以及子目录和文件属性也传递到了/MMM。
 
$cp -r -a mmm/* /MMM
#不会提示需要输入Y来确认操作、传递了目录属性、没有略过目录。

cp命令复制说明

如果源是一个文件,目标也是一个文件,则会覆盖这个目标文件
如果源是一个文件,目标文件不存在,则创建新文件
如果源是一个文件,目标是一个目录,则直接复制此文件到目标目录下
如果源是多个文件,目标是一个文件,复制失败
如果源是多个文件,目标是目录,则直接复制所有文件到目标目录下
如果源是多个文件,目标目录不存在,复制失败
如果源是一个目录,目标是一个文件且存在,复制失败
如果源是一个目录,目标是目录不存在,则会创建新目录
如果源是一个目录,目标是目录且存在,则会复制源目录至目标目录中,成为子目录,且保持原名

每天学一个 Linux 命令(9):useradd/userdel

每天学一个 Linux 命令(8):ls

每天学一个 Linux 命令(7):cd

image

每天学一个 Linux 命令(12):chown

每天学一个 Linux 命令(12):chown

图片

推荐:每天学一个 Linux 命令(11):cp

Github地址:

https://github.com/mingongge/...

命令简介

chown命令用来变更文件或目录的拥有者或所属群组,通过chown改变文件的拥有者和群组。用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的文件列表,文件名也支持通配符。

系统管理员经常使用chown命令,去改变一个文件或目录的所属。普通用户是不能将自己所属文件或目录变成其它的拥有者。图片

语法格式

chown [选项] [用户或组] [文件或目录]
  • 用户:组:指定所有者和所属工作组。当省略“:组”,仅改变文件所有者;
  • 文件:指定要改变所有者和工作组的文件列表。支持多个文件和目标,支持shell通配符。

Linux/Unix 文件目录所属分为三级 : 拥有者、群组、其他。

  • root:系统特权用户类,既 UID = 0 的用户
  • owner:所有者
  • group:所属组
  • other:其它人,不属于上面3类的所有其他用户

选项说明

-c或--changes           #效果类似“-v”参数,但仅回报更改的部分;
-f或--quite或—-silent    #不显示错误信息;
-h或--no-dereference    #只对符号连接的文件作修改,而不更改其他任何相关文件;
-R或--recursive         #递归处理,将指定目录下的所有文件及子目录一并处理;
-v或--version           #显示指令执行过程;
--dereference          #效果和“-h”参数相同;
--help                 #在线帮助
--reference=<参考文件或目录>   #把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有者与所属群组相同;
--version    #显示版本信息。

应用实例

将目录/usr/app及其下面的所有文件、子目录的文件主改成mingongge

chown -R mingongge /usr/app

使用mingongge用户可以有权限访问文件test.txt

chown mingongge test.txt

image

关于每天学一个 Linux 命令72:tcpdump的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于TCPDUMP 连接失败 - 如何使用 Wireshark 分析 tcpdump 文件?、每天学一个 Linux 命令(10):passwd、每天学一个 Linux 命令(11):cp、每天学一个 Linux 命令(12):chown的相关知识,请在本站寻找。

本文标签: