将最近在网络开发中用到的一些发包和抓包工具使用方法总结如下,作者总结不易,对你有帮助的请点赞、关注和收藏三联哦!
1.packEth发包工具的使用方法
a.安装方法
sudo apt-get install packEth
b.打开方法
#为了可以使用对应的网卡,需要sudo权限
sudo packEth
2.wireshark抓包工具的使用方法
a.安装方法
sudo apt-get install wireshark
3.tcpdump抓包工具的使用方法
tcpdump是一个常用的命令行抓包工具,常用的命令参数如下:
tcpdump [-i netInterfave] -nnAX '表达式'
#各参数说明如下:
# -i:interface 监听的网卡。
# -nn:表示以ip和port的方式显示来源主机和目的主机,而不是用主机名和服务。
# -A:以ascii的方式显示数据包,抓取web数据时很有用。
# -X:数据包将会以16进制和ascii的方式显示。
# 表达式:表达式有很多种,常见的有:host 主机;port 端口;src host 发包主机;dst host
# 收包主机。多个条件可以用and、or组合,取反可以使用!,
# 更多的使用可以查看man 7 pcap-filter。
举例如下:
a.监听网卡eth0
tcpdump -i eth0
b.指定监听协议,例如监听udp
tcp -i eth0 -nn 'udp'
#得到的结果如下
#tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
#listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
#11:22:47.348922 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:47.849425 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:48.089639 IP 192.168.1.27.50043 > 224.2.2.2.8995: UDP, length 30
#11:22:48.349601 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:48.850571 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:49.089080 IP 192.168.1.27.50043 > 224.2.2.2.8995: UDP, length 30
#11:22:49.349356 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:49.848827 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:50.089087 IP 192.168.1.27.50043 > 224.2.2.2.8995: UDP, length 30
#11:22:50.349713 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:50.849158 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:51.088922 IP 192.168.1.27.50043 > 224.2.2.2.8995: UDP, length 30
#11:22:51.349945 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#13 packets captured
#127 packets received by filter
#30 packets dropped by kernel
#内容依次为时间/发包ip和port/收包ip和port/协议/包的长度
c.一些其他的用法
#监听指定的主机
tcpdump -i eth0 -nn 'host 192.168.1.231'
#监听指定主机发送的包,这样只有192.168.1.111这台主机发送的包才会被抓取。
tcpdump -i eth0 -nn 'src host 192.168.1.111'
#监听指定主机接收的包,这样只有192.168.1.111这台主机接收到的包才会被抓取
tcpdump -i eth0 -nn 'dst host 192.168.1.111'
#监听指定端口,结合-A参数,在web开发中,非常实用
tcpdump -i eth0 -nnA 'port 8765'
#监听指定主机和端口,多个条件可以用and,or连接。如监听192.168.1.231主机通过80端口发送的数据包
tcpdump -i eth0 -nnA 'port 80 and src host 192.168.1.231'
#监听除某个端口外的其它端口,可以使用“!”符号,如监听非22端口的数据包。
tcpdump -i eth0 -nnA '!port 22'
参考连接: