Packet capture tcpdump under Linux
When the company connected the socket under Linux, it was found that errors were always reported in the interface, so I studied the packet capture under Linux
tcpdump host #IP address# /Get telnet packets received or sent by host 210.27.48.1
Main options of tcpdump parameters
-i: Specify the network card. The default is eth0
-n: Online ip, Instead of hostname
-c: Specify to capture multiple packages and launch them
-A: The contents of the online package in ASCII mode. This option is useful for protocol packages in text format.
-x: In 16 Display the contents of the packet in binary format
-vvv: Display detailed information
-s: Intercept data according to the packet length; the default is 60 bytes; if the packet is larger than 60 bytes, data will be lost in the packet capture; So we usually set -s 0; this will intercept data according to the size of the packet; what is captured is the complete packet data
-r: Read from the file [corresponds to -w, /usr/sbin/tcpdump - r test.out Read tcpdump -w test.out】
-w: Point to the file everywhere [Be sure to use, -w t.out, and then use -r t.out to see the packet capture information, otherwise it will be readable Very poor】
2. tcpmdump captures the packet and analyzes the specific meaning of the packet
Flags carried by the packet: S: S=SYC: Initiate connection flag P :P=PUSH: Transfer data flag F: F=FIN: Close connection flag ack: Indicates confirmation packet RST=RESET: Abnormally close the connection. Indicates no flag
First line: S: Indicates clinet.hostname The temporary port 50741 initiates a connection to the server.hostname 80 port. The initial packet sequence number of the client is: 562843056; the size of the sliding window (win 14480) is: 14480 [14k] The sliding window is the size of the tcp receiving buffer, used for tcp congestion Control; mss 1460: The maximum packet length that can be received, usually MTU - 40 bytes; IP header and TCP header are each 20 bytes
Second line: S: Indicates SYN status; is server.hostname versus the first line clinet.hostname Response to the request to initiate a connection; at the same time, bring the client's initial packet sequence number 1: ack 562843057, that is, server.hostname will wait to receive the packet with this packet sequence number next time, which is used for the sequence control of the tcp byte stream (?). server.hostname Initial package serial number: 2306923370
Third line: client.hostname Confirm again that the tcp connection has completed the three-way handshake.
The fourth line: P: push data client.hostname sends a data packet to server.hostname through port 50741; the data packet size is 1005byte; the fifth line is that server.hostname responds to this data packet by sending and receiving this data packet. ----> When completed, a server.hostname F packet will appear to close the connection.
Line 6 is not captured here ----> Line 10 is a repetition of lines 1-5; because The machine is that the web service is concurrent.
For more Linux articles, please visit the Linux Tutorial column to learn!
The above is the detailed content of Packet capture tcpdump under Linux. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



How to use Docker Desktop? Docker Desktop is a tool for running Docker containers on local machines. The steps to use include: 1. Install Docker Desktop; 2. Start Docker Desktop; 3. Create Docker image (using Dockerfile); 4. Build Docker image (using docker build); 5. Run Docker container (using docker run).

Docker process viewing method: 1. Docker CLI command: docker ps; 2. Systemd CLI command: systemctl status docker; 3. Docker Compose CLI command: docker-compose ps; 4. Process Explorer (Windows); 5. /proc directory (Linux).

Troubleshooting steps for failed Docker image build: Check Dockerfile syntax and dependency version. Check if the build context contains the required source code and dependencies. View the build log for error details. Use the --target option to build a hierarchical phase to identify failure points. Make sure to use the latest version of Docker engine. Build the image with --t [image-name]:debug mode to debug the problem. Check disk space and make sure it is sufficient. Disable SELinux to prevent interference with the build process. Ask community platforms for help, provide Dockerfiles and build log descriptions for more specific suggestions.

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

The reasons for the installation of VS Code extensions may be: network instability, insufficient permissions, system compatibility issues, VS Code version is too old, antivirus software or firewall interference. By checking network connections, permissions, log files, updating VS Code, disabling security software, and restarting VS Code or computers, you can gradually troubleshoot and resolve issues.

VS Code is available on Mac. It has powerful extensions, Git integration, terminal and debugger, and also offers a wealth of setup options. However, for particularly large projects or highly professional development, VS Code may have performance or functional limitations.

VS Code is the full name Visual Studio Code, which is a free and open source cross-platform code editor and development environment developed by Microsoft. It supports a wide range of programming languages and provides syntax highlighting, code automatic completion, code snippets and smart prompts to improve development efficiency. Through a rich extension ecosystem, users can add extensions to specific needs and languages, such as debuggers, code formatting tools, and Git integrations. VS Code also includes an intuitive debugger that helps quickly find and resolve bugs in your code.

How to back up VS Code configurations and extensions? Manually backup the settings file: Copy the key JSON files (settings.json, keybindings.json, extensions.json) to a safe location. Take advantage of VS Code synchronization: enable synchronization with your GitHub account to automatically back up all relevant settings and extensions. Use third-party tools: Back up configurations with reliable tools and provide richer features such as version control and incremental backups.
