用shell来发tcp包x.docx
用shell来发tcp包x用 用 shell 来发 tcp 包 常常用 tcpdump 抓包来倒腾和学习, 但怎么触发 tcp 包呢? 写一个客户端程序, 然后朝 server 上发包, 确定可以, 但还有更简洁的方法:exec 8<>/dev/tcp/10.100.70.139/19006echo -e stats >8用 tcpdump 抓包的结果为:xxxxxx$ sudo tcpdump -iany port 19006 -Xnlps0tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes23:56:54.177781 IP 10.100.70.139.34209 > 10.100.70.139.19006: Flags S, seq 2048518213, win 43690, options mss 65495,sackOK,TS val 1173337789 ecr 0,nop,wscale 8, length 00x0000:4500 003c 5ef8 4000 4006 39e6 0a64 468bE.<.9.dF.0x0010:0a64 468b 85a1 4a3e 7a19 e845 0000 0000.dF.J>z.E.0x0020:a002 aaaa a20c 0000 0204 ffd7 0402 080a.0x0030:45ef b6bd 0000 0000 0103 0308 0000 0000E.0x0040:0000 0000 0000 0000 0000 0000.23:56:54.177794 IP 10.100.70.139.19006 > 10.100.70.139.34209: Flags S., seq 480321333, ack 2048518214, win 43690, options mss 65495,sackOK,TS val 1173337789 ecr 1173337789,nop,wscale 8, length 00x0000:4500 003c 0000 4000 4006 98de 0a64 468bE.<.dF.0x0010:0a64 468b 4a3e 85a1 1ca1 1f35 7a19 e846.dF.J>.5z.F0x0020:a012 aaaa a20c 0000 0204 ffd7 0402 080a.0x0030:45ef b6bd 45ef b6bd 0103 0308 0000 0000E.E.0x0040:0000 0000 0000 0000 0000 0000.23:56:54.177802 IP 10.100.70.139.34209 > 10.100.70.139.19006: Flags ., ack 1, win 171, options nop,nop,TS val 1173337789 ecr 1173337789, length 00x0000:4500 0034 5ef9 4000 4006 39ed 0a64 468bE.4.9.dF.0x0010:0a64 468b 85a1 4a3e 7a19 e846 1ca1 1f36.dF.J>z.F.60x0020:8010 00ab a204 0000 0101 080a 45ef b6bd.E.0x0030:45ef b6bd 0000 0000 0000 0000 0000 0000E.0x0040:0000 0000.23:57:05.744655 IP 10.100.70.139.34209 > 10.100.70.139.19006: Flags P., seq 1:7, ack 1, win 171, options nop,nop,TS val 1173340681 ecr 1173337789, length 60x0000:4500 003a 5efa 4000 4006 39e6 0a64 468bE.:.9.dF.0x0010:0a64 468b 85a1 4a3e 7a19 e846 1ca1 1f36.dF.J>z.F.60x0020:8018 00ab a20a 0000 0101 080a 45ef c209.E.0x0030:45ef b6bd 6865 6c6c 6f0a 0000 0000 0000E.hello.0x0040:0000 0000 0000 0000 0000 .23:57:05.744679 IP 10.100.70.139.19006 > 10.100.70.139.34209: Flags ., ack 7, win 171, options nop,nop,TS val 1173340681 ecr 1173340681, length 00x0000:4500 0034 a98b 4000 4006 ef5a 0a64 468bE.4.Z.dF.0x0010:0a64 468b 4a3e 85a1 1ca1 1f36 7a19 e84c.dF.J>.6z.L0x0020:8010 00ab a204 0000 0101 080a 45ef c209.E.0x0030:45ef c209 0000 0000 0000 0000 0000 0000E.0x0040:0000 0000.23:57:05.744830 IP 10.100.70.139.19006 > 10.100.70.139.34209: Flags F., seq 1, ack 7, win 171, options nop,nop,TS val 1173340681 ecr 1173340681, length 00x0000:4500 0034 a98c 4000 4006 ef59 0a64 468bE.4.Y.dF.0x0010:0a64 468b 4a3e 85a1 1ca1 1f36 7a19 e84c.dF.J>.6z.L0x0020:8011 00ab a204 0000 0101 080a 45ef c209.E.0x0030:45ef c209 0000 0000 0000 0000 0000 0000E.0x0040:0000 0000.23:57:05.748555 IP 10.100.70.139.34209 > 10.100.70.139.19006: Flags ., ack 2, win 171, options nop,nop,TS val 1173340682 ecr 1173340681, length 00x0000:4500 0034 5efb 4000 4006 39eb 0a64 468bE.4.9.dF.0x0010:0a64 468b 85a1 4a3e 7a19 e84c 1ca1 1f37.dF.J>z.L.70x0020:8010 00ab a204 0000 0101 080a 45ef c20a.E.0x0030:45ef c209 0000 0000 0000 0000 0000 0000E.0x0040:0000 0000. 真的是爽歪歪。能用 shell 搞定的事, 绝不用 C/C+.