TCPDUMP抓包明确显示IP地址和端口号

经常使用tcpdump进行抓包的同学可以忽略了,这篇偏于使用扫盲;首先,tcpdump抓包目的IP显示为hostname,如果端口是知名端口,显示为协议名而不是端口号。这种默认其实略有问题的:

如果我们使用默认的hostname:localhost.localdomain,那么很容易误认为是本地回环地址请求:一个远程IP访问了本地回环地址,这就很怪;还是显示IP地址爽利:IPv4还是IPv6也是一目了然。那么怎么明确显示IP地址和端口号呢?使用-n和-nn参数,使用举例如下:

# 抓包21端口的包(不限制源和目的)
tcpdump -i ens192 port 21
15:40:49.542333 IP 192.168.1.190.46108 > xxxx-229.ftp: Flags [S]
15:40:49.542395 IP xxxx-229.ftp > 192.168.1.190.46108: Flags [S.]

# -n :显示ip地址,而不是hostname
tcpdump -i ens192 -n port 21  
15:23:56.952026 IP 192.168.1.190.36944 > 192.168.1.229.ftp: Flags [S]
15:23:56.952133 IP 192.168.1.229.ftp > 192.168.1.190.36944: Flags [S.]

# -nn :显示端口号而不是协议名
tcpdump -i ens192 -n -nn port 21
15:23:45.333967 IP 192.168.1.190.36840 > 192.168.1.229.21: Flags [S]
15:23:45.334036 IP 192.168.1.229.21 > 192.168.1.190.36840: Flags [S.]

扩展

  1. 过滤源IP地址:

     bashCopy code
     sudo tcpdump -i eth0 src host 192.168.1.2

    这将捕获源IP地址为192.168.1.2的流量。

  2. 过滤目的IP地址:

     bashCopy code
     sudo tcpdump -i eth0 dst host 192.168.1.2

    这将捕获目的IP地址为192.168.1.2的流量。

  3. 过滤源和目的IP地址:

     bashCopy code
     sudo tcpdump -i eth0 src host 192.168.1.2 and dst host 192.168.1.3

    这将捕获源IP地址为192.168.1.2且目的IP地址为192.168.1.3的流量。

  4. 过滤特定协议:

     bashCopy code
     sudo tcpdump -i eth0 icmp

    这将捕获 ICMP 协议的流量。你可以替换 icmp 为其他协议名,如 tcpudp

  5. 过滤源和目的IP地址以及特定协议:

     bashCopy code
     sudo tcpdump -i eth0 src host 192.168.1.2 and dst host 192.168.1.3 and icmp

    这将捕获源IP地址为192.168.1.2、目的IP地址为192.168.1.3且协议为 ICMP 的流量。

  6. 过滤特定源端口:

     bashCopy code
     sudo tcpdump -i eth0 src port 8080

    这将捕获源端口为8080的流量。

  7. 过滤特定目的端口:

     bashCopy code
     sudo tcpdump -i eth0 dst port 80

    这将捕获目的端口为80的流量。

  8. 过滤特定源和目的端口:

     bashCopy code
     sudo tcpdump -i eth0 src port 8080 and dst port 80

    这将捕获源端口为8080且目的端口为80的流量。

  9. 过滤除特定端口之外的流量:

     bashCopy code
     sudo tcpdump -i eth0 not port 22

    这将捕获除端口22之外的所有流量。

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值