本文介绍: 经常使用tcpdump进行抓包同学可以忽略了,这篇偏于使用扫盲;首先,tcpdump抓包目的IP显示hostname,如果端口是知名端口显示协议名而不是端口号。这种默认其实略有问题的:如果我们使用默认hostnamelocalhost.localdomain,那么很容易误认为是本地回环地址请求一个远程IP访问本地回环地址,这就很怪;还是显示IP地址爽利:IPv4还是IPv6也是一目了然。那么怎么明确显示IP地址端口号呢?

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

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

# 抓包21端口的包(不限制源和目的)
tcpdumpi 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
tcpdumpi 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显示端口号而不是协议
tcpdumpi ens192 –nnn 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之外的所有流量。

原文地址:https://blog.csdn.net/avatar_2009/article/details/134793535

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_39986.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注