Created on 
    
	
		
		
		04-18-2022
	
		
		08:35 AM
	
	
	
	
	
	
	
	
	
	
	
	
	
	
  Edited on 
    
	
		
		
		08-18-2025
	
		
		07:41 AM
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 By  
				
		
		
			pdabhade
		
		
		
		
		
		
		
		
	
			 
		
| Description | This article provides information on how to capture IPsec VPN tunnel packets using FortiGate's CLI tool for troubleshooting. | 
| Scope | FortiGate. | 
| Solution | 
 Below are some of the steps that could be used to capture packets when troubleshooting IPsec VPN tunnel issues. 
 
 
 diagnose sniffer packet <interface name> "host <remote gw> and udp port 500" 6 0 l 
 6 - Print header and data from ethernet of packets (if available) with intf name. 0 - Unlimited number of packets will be captured. l - Absolute LOCAL time, yyyy-mm-dd hh:mm:ss.ms. 
 
 
 Capture only IKE traffic in udp/4500 (i.e., exclude ESP-in-UDP traffic): 
 
 udp[8:4] represents UDP packet header total of 8 bytes and 4 bytes of spi field. 
 Note: To stop the sniffer in the end, press Ctrl + C, otherwise the Sniffer runs forever. 
 
 
 diagnose sniffer packet <interface name> "host <remote gw> and esp" 6 0 l 
 
 
 This is useful when there are multiple tunnels with the same IP address and when packet capture is needed for a particular tunnel for troubleshooting. 
 diagnose vpn tunnel list 
 dec: spi=299f9f87 esp=aes key=16 36a2871bd1830bde2bd0a1da9be4520d 
 
 (Note: The above output is filtered) 
 Below is an example: 
 diagnose sniffer packet port2 "host 200.0.0.2 and esp and (ip[20:4]==0x299f9f87 or ip [20:4]==0x8a351d96)" 6 0 l 
 The following is the command syntax: 
 diagnose sniffer packet <interface name> "host <remote gw> and esp and (ip[20:4]==0x<SPI1> or ip [20:4]==0x<SPI2>)" 6 0 l 
 ip[20:4] represents IP packet header with total of 20 bytes and spi field with 4 bytes. 
 
 
 This is useful when there are multiple tunnels with the same IP address and when packet capture is needed for a particular tunnel for troubleshooting. This would be very helpful in Dial-up VPN issues when multiple clients are behind the same edge device and sharing the public IP address. 
 diagnose vpn tunnel list 
 dec: spi=299f9f85 esp=aes key=16 81085dedbe81883a23fb7e7bbbf6af34 
 
 (Note: The above output is filtered) 
 Below is an example: 
 diagnose sniffer packet port2 "host 200.0.0.2 and udp port 4500 and (udp[8:4]==0x299f9f85 or udp [8:4]==0xa2330e8e)" 6 0 l 
 Below is the command syntax: 
 FGT1 (root) # diagnose sniffer packet <interface name> "host <remote gw> and udp port 4500 and (udp[8:4]==0x<SPI1> or udp [8:4]==0x<SPI2>)" 6 0 l 
  | 
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2025 Fortinet, Inc. All Rights Reserved.