在linux命令行环境下如何抓取网络数据包?

在linux命令行环境下如何抓取网络数据包?,第1张

  众所周知,在Windows下开发运行环境下,在调试网络环境时,可以可以很方便的借助wireshark等软件进行抓包分析;并且在linux或者Ubuntu等桌面版里也可以进行安装抓包工具进行抓包分析,但总有一些情况,无法直接运用工具(比如一些没有界面的linux环境系统中),则此时我们就需要使用到最简单的tcpdump命令进行网络抓包。

  一般的,linux下抓包时,抓取特定的网络数据包到当前文件夹下的文件中,再把文件拷贝出来利用Windows下的wireshark软件进行分析。

tcpdump命令详解:(简单举例)

  1、抓取到的文件为filename.cap,然后将此文件拷贝到Windows下,使用wireshar打开后,即可对此文件进行分析。

  2、eth0 是主机的网络适配器名称,具体的参数值可以在linux命令行窗口中通过 ifconfig 指令查询。

linux 查看当前的网络配置

1、执行 ifconfig命令,结果如下可以查看到ip、mac地址等相关网络配置

2, 执行 vi /etc/sysconfig/network-scripts/ifcfg-eth0,访问Linux中网络配置文件,结果如下

配置说明

DEVICE=eth0网卡设备名,eth0表示第一张网卡

BOOTPROTO=none是否自动获取IP(none、static、dhcp),当值为dhcp时,只需配置上述例子中的那几项就可以联网

HWADDR=00:0C:29:11:30:39MAC地址

NM_CONTROLLED=yes是否可以由Network Manager图形管理工具托管

ONBOOT=yes是否随网络服务启动当前网卡生效(在CentOS 6 以上的版本中ONBOOT是默认关闭的。)

TYPE=Ethernet网络类型,这里为以太网

UUID=5ab36190-a5df-4bf1-94d8-6c126afd05f1唯一识别码

IPADDR=192.168.0.200IP地址

NETMASK=255.255.255.0子网掩码

GATEWAY=192.168.0.1网关

DNS1=202.106.0.20DNS

IPV6INIT=noIPv6是否启用,这里设置为不启用

USERCTL=no是否允许非root用户控制此网卡,这里为不允许

方法/步骤

1、进入linux,使用“ cat /etc/services ”命令,可以查看所有服务默认的端口列表信息。

2、使用“netstat”命令,查看正在连接的端口【连接】列表信息。

3、使用“nestat -a”命令,查看所有服务端口【监听、连接】列表信息。

4、套接字的种类除了t(TCP)、u(UDP)之外,还有w(RAW)、x(UNIX)套接字。

5、使用" netstat -ap"查看所有服务端口和对应的程序名称。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/6179019.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-17
下一篇2023-03-17

发表评论

登录后才能评论

评论列表(0条)

    保存