linux抓包教程_ubuntu抓包命令

linux抓包教程_ubuntu抓包命令linux抓捕网络包jacky.1650727278@@q.comtcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是centos7。tcpdump的命令格式tcpdump的参数众多,通过mantcpdump可以查看tcpdump的详细说明,这边只列一些笔者自己常用的参数:tcpdump[-i网卡]-nnAX‘表达式’各参数说明…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

linux抓捕网络包

jacky. 1650727278@@q.com

tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是centos 7。

tcpdump的命令格式

tcpdump的参数众多,通过man tcpdump可以查看tcpdump的详细说明,这边只列一些笔者自己常用的参数:

tcpdump [-i 网卡] -nnAX ‘表达式’
各参数说明如下:

-i:interface 监听的网卡。
-nn:表示以ip和port的方式显示来源主机和目的主机,而不是用主机名和服务。
-A:以ascii的方式显示数据包,抓取web数据时很有用。
-X:数据包将会以16进制和ascii的方式显示。
表达式:表达式有很多种,常见的有:host 主机;port 端口;src host 发包主机;dst host 收包主机。多个条件可以用and、or组合,取反可以使用!,更多的使用可以查看man 7 pcap-filter。
下面进行一些命令测试,如果没有权限,可以先切换成root用户。

监听网卡eth0

$ tcpdump -i eth0
这个方式最简单了,但是用处不多,因为基本上只能看到数据包的信息刷屏,压根看不清,可以使用ctrl+c中断退出,如果真有需求,可以将输出内容重定向到一个文件,这样也更方便查看。

监听指定协议的数据

$ tcpdump -i eth0 -nn 'icmp'

这个是用来监听icmp协议的数据,就是ping命令使用的协议。类似的,如果要监听tcp或者是udp协议,只需要修改上例的icmp就可以了。ping下监听的机器,输出如下:

[root@localhost ~]# tcpdump -i eth0-nn 'icmp'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eno16777736, link-type EN10MB (Ethernet), capture size 65535 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel
[root@localhost ~]#

linux使用tcpdump抓包示例

每一行的各个数据表示的含义:

抓到包的时间 IP 发包的主机和端口 > 接收的主机和端口 数据包内容
监听指定的主机

$ tcpdump -i eth0 -nn 'host 192.168.1.231'

这样的话,192.168.1.231这台主机接收到的包和发送的包都会被抓取。

$ tcpdump -i eth0 -nn 'src host 192.168.1.231'

这样只有192.168.1.231这台主机发送的包才会被抓取。

$ tcpdump -i eth0 -nn 'dst host 192.168.1.231'

这样只有192.168.1.231这台主机接收到的包才会被抓取。

监听udp 指定端口

[root@localhost ~]# tcpdump -i eth0 udp -nnA 'port 9899'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
19:18:09.444195 IP 192.168.1.46.35408 > 255.255.255.255.9797: UDP, length 16
E..,9.@.@.?I.........P&E....{ 
   "cmd":"peer"}
19:18:09.444988 IP 192.168.1.13.9797 > 192.168.1.46.35408: UDP, length 159
....&E.P...9{ 
   "cmd":"fnpeer", "ip":"192.168.1.13", "sn":"", "mcode":"", "api":"/ip4/127.0.0.1/tcp/5501", "peerid":"TmNKAc9eV912fxxK8Ge5ZXmB8VgxRREwh9c1swnwJaa6zB8", "err":0}
^C
2 packets captured
2 packets received by filter
0 packets dropped by kernel
[root@localhost ~]#

上例是用来监听主机的9797端口收到和发送的所有数据包,结合-A参数,在web开发中,真是非常有用。

监听指定主机和端口

$ tcpdump -i eth0 -nnA 'port 80 and src host 192.168.1.231'

多个条件可以用and,or连接。上例表示监听192.168.1.231主机通过80端口发送的数据包。

监听除某个端口外的其它端口

$ tcpdump -i eth0 -nnA '!port 22'

如果需要排除某个端口或者主机,可以使用“!”符号,上例表示监听非22端口的数据包。

email:1650727278@qq.com 画笔

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183324.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Spring Boot 拦截器

    Spring Boot 拦截器上一篇对过滤器的定义做了说明,也比较简单。过滤器属于Servlet范畴的API,与Spring没什么关系。Web开发中,我们除了使用Filter来过滤请web求外,还可以使用Spring提供的HandlerInterceptor(拦截器)。HandlerInterceptor的功能跟过滤器类似,但是提供更精细的的控制能力:在request被响应之前、request被响应之后、视图渲染之前

    2022年4月27日
    38
  • linux ettercap,CentOS下安装ettercap

    linux ettercap,CentOS下安装ettercapCentOS下安装ettercapettercap下载地址http://ettercap.sourceforge.net/download.php下载好之后解压出来,进入到解压目录#tarzxvfettercap-NG-0.7.3.tar.gz#cdettercap-NG-0.7.3阅读README#vimREADMEMANDATORY://安装必须依赖的libpcap>=…

    2022年6月28日
    32
  • python标识符在命名时有哪些规则_php标识符的命名规则

    python标识符在命名时有哪些规则_php标识符的命名规则在Python中,一切都是对象,包括常量数据类型,如整数数据类型(1,2,3…),字符串数据类型(“ABC”)。想要使用这些对象,就要使用它的对象引用。赋值操作符,实际上是使得对象引用对内存中存放数据的对象进行引用。那什么是标识符?标识符是对对象引用起的一个名字。有效的Python标识符规则:1.长度任意长;2.标识符不能与关键字同名;3.在2.x版本的Python中,标识符以ASCII的字母…

    2022年9月6日
    3
  • python爬虫—–request模块学习及案例

    python爬虫—–request模块学习及案例

    2021年4月15日
    165
  • UE4 Slate四 SlateUI如何做动画「建议收藏」

    UE4 Slate四 SlateUI如何做动画「建议收藏」原创文章,转载请注明出处。点击观看上一篇《UE4Slate三SlateUI代码讲解》点击观看下一篇《UE4Slate五开篇》虚幻引擎SlateUI介绍1>前言2>SlateAnimation代码1>前言我们都知道在UMG里面如何创建一个UMG的动画,其实就是时间帧动画。那么在Slate纯手写的代码上如何做动画呢?2>SlateAnimation代码…

    2022年10月4日
    0
  • jsNavigator对象的讲解_javascript自定义对象

    jsNavigator对象的讲解_javascript自定义对象 JSnavigator对象 转自:http://blog.163.com/tgaosh@126/blog/static/139818624201012651556709/ navigator是一个独立的对象,他用于提供用户所使用的浏览器以及操作系统等信息,以navigator对象属性的形式来提供。————————————-…

    2022年9月4日
    3

发表回复

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

关注全栈程序员社区公众号