问题描述
我有一台运行 pppdos 的老式掌上电脑的串口转 wifi 适配器。如果它使用串行转 USB 电缆直接连接到运行 Ubuntu 的 VM,它会连接并建立 PPP 连接并正常工作。
主机/服务器是 Linux Ubuntu VM。 客户端是带有串行到 Wifi 适配器的 DOS,运行 pppdos v6。
当我尝试通过 Wifi 连接时,我无法通过 PPP 使用 Socat 建立连接。我可以验证我已连接到 Wifi,并且套接字正在连接到 linux。
- 如果我从客户端 telnet 到 Socat 服务器端口,我可以看到数据包的内容。
- 如果我执行 socat -v tcp-l:2323,fork exec:'/bin/cat' 我可以看到来自客户端的数据包的内容。
- 如果我在服务器上运行 Wireshark,我可以看到下面的输出。
目前正在使用:
socat -d -d pty,raw,nonblock,echo=0,iexten=0,link=/tmp/ttyVA0 pty,link=/tmp/ttyVB0&
socat -d -d pty,link=/tmp/ttyVA0,rawer,waitslave TCP-L:2323&
pppd /tmp/ttyVA0
服务器 pppd 配置:
debug
19200
connect-delay 5
defaultroute 10.0.10.40:10.0.10.46
lcp-max-configure 16
local
lock
mru 296
mtu 296
noauth
nodetach
passive
proxyarp
socat 输出:
2021/04/30 19:42:19 socat[24626] N accepting connection from AF=2 10.0.10.46:23068 on AF=2 10.0.10.40:2323
2021/04/30 19:42:19 socat[24626] N starting data transfer loop with FDs [5,5] and [7,7]
服务器 pppd 输出:
May 3 17:47:01 vubuntu pppd[23026]: pppd 2.4.7 started by root,uid 0
May 3 17:47:01 vubuntu pppd[23026]: using channel 3
May 3 17:47:01 vubuntu pppd[23026]: Using interface ppp0
May 3 17:47:01 vubuntu pppd[23026]: Connect: ppp0 <--> /tmp/VA0
May 3 17:47:01 vubuntu pppd[23026]: sent [LCP ConfReq id=0x1 <mru 296> <asyncmap 0x0> <magic 0xa16b2532> <pcomp> <accomp>]
May 3 17:47:04 vubuntu pppd[23026]: sent [LCP ConfReq id=0x1 <mru 296> <asyncmap 0x0> <magic 0xa16b2532> <pcomp> <accomp>]
May 3 17:47:07 vubuntu pppd[23026]: sent [LCP ConfReq id=0x1 <mru 296> <asyncmap 0x0> <magic 0xa16b2532> <pcomp> <accomp>]
May 3 17:47:10 vubuntu pppd[23026]: sent [LCP ConfReq id=0x1 <mru 296> <asyncmap 0x0> <magic 0xa16b2532> <pcomp> <accomp>]
May 3 17:47:19 vubuntu pppd[23026]: message repeated 3 times: [ sent [LCP ConfReq id=0x1 <mru 296> <asyncmap 0x0> <magic 0xa16b2532> <pcomp> <accomp>]]
May 3 17:47:22 vubuntu pppd[23026]: sent [LCP ConfReq id=0x1 <mru 296> <asyncmap 0x0> <magic 0xa16b2532> <pcomp> <accomp>]
May 3 17:47:25 vubuntu pppd[23026]: sent [LCP ConfReq id=0x1 <mru 296> <asyncmap 0x0> <magic 0xa16b2532> <pcomp> <accomp>]
May 3 17:47:40 vubuntu pppd[23026]: message repeated 5 times: [ sent [LCP ConfReq id=0x1 <mru 296> <asyncmap 0x0> <magic 0xa16b2532> <pcomp> <accomp>]]
May 3 17:47:43 vubuntu pppd[23026]: sent [LCP ConfReq id=0x1 <mru 296> <asyncmap 0x0> <magic 0xa16b2532> <pcomp> <accomp>]
May 3 17:47:46 vubuntu pppd[23026]: sent [LCP ConfReq id=0x1 <mru 296> <asyncmap 0x0> <magic 0xa16b2532> <pcomp> <accomp>]
May 3 17:47:49 vubuntu pppd[23026]: LCP: timeout sending Config-Requests
客户端 (DOS) 日志:
sent [LCP ConfReq id=0x1 <mru 296> <magic 0x1a1e5684> <pcomp> <accomp>]
fsm_sdata(LCP): Sent code 1,id 1.
Timeout 53ce:2a06 in 3 seconds.
LCP: sending Configure-Request,id 1
rcvd [LCP ConfReq id=0x1 <mru 296> <asyncmap 0x0> <magic 0xf334d254> <pcomp> <accomp>]
fsm_rconfreq(LCP): Rcvd id 1.
lcp_reqci: rcvd MRU (296) (ACK)
lcp_reqci: rcvd ASYNCMAP (0) (ACK)
lcp_reqci: rcvd MAGICNUMBER (f334d254) (ACK)
lcp_reqci: rcvd PCOMPRESSION (ACK)
lcp_reqci: rcvd ACCOMPRESSION (ACK)
lcp_reqci: returning CONFACK.
sent [LCP ConfAck id=0x1 <mru 296> <asyncmap 0x0> <magic 0xf334d254> <pcomp> <accomp>]
fsm_sdata(LCP): Sent code 2,id 1.
calltimeout,calling 53ce:2a06.
sent [LCP ConfReq id=0x1 <mru 296> <magic 0x1a1e5684> <pcomp> <accomp>]
fsm_sdata(LCP): Sent code 1,id 1
calltimeout,calling 53ce:2a06.
LCP: timeout sending Config-Requests
Wireshark 输出:
"No.","Time","Source","Destination","Protocol","Length","Info"
"1","0.000000000","10.0.10.46","10.0.10.40","TCP","60","17675 > 2323 [SYN] Seq=0 Win=2144 Len=0 MSS=536"
"2","0.000030364","58","2323 > 17675 [SYN,ACK] Seq=0 Ack=1 Win=29200 Len=0 MSS=1460"
"3","0.000077792","[TCP Out-Of-Order] 17675 > 2323 [SYN] Seq=0 Win=2144 Len=0 MSS=536"
"4","0.000084607","[TCP Out-Of-Order] 2323 > 17675 [SYN,ACK] Seq=0 Ack=1 Win=29200 Len=0 MSS=1460"
"5","0.001842272",ACK] Seq=0 Ack=1 Win=29200 Len=0 MSS=1460"
"6","0.004731837","17675 > 2323 [ACK] Seq=1 Ack=1 Win=2144 Len=0"
"7","0.004762303","[TCP Dup ACK 6#1] 17675 > 2323 [ACK] Seq=1 Ack=1 Win=2144 Len=0"
"8","0.005107996","144","2323 > 17675 [PSH,ACK] Seq=1 Ack=1 Win=29200 Len=90"
"9","0.005135033","[TCP Dup ACK 6#2] 17675 > 2323 [ACK] Seq=1 Ack=1 Win=2144 Len=0"
"10","0.005139181","[TCP Dup ACK 6#3] 17675 > 2323 [ACK] Seq=1 Ack=1 Win=2144 Len=0"
"11","0.005251709","[TCP Fast Retransmission] 2323 > 17675 [PSH,ACK] Seq=1 Ack=1 Win=29200 Len=90"
"12","0.005681821","[TCP Dup ACK 6#4] 17675 > 2323 [ACK] Seq=1 Ack=1 Win=2144 Len=0"
"13","0.005684394","[TCP Dup ACK 6#5] 17675 > 2323 [ACK] Seq=1 Ack=1 Win=2144 Len=0"
"14","0.007251730","17675 > 2323 [ACK] Seq=1 Ack=91 Win=2054 Len=0"
"15","0.007258989","[TCP Dup ACK 14#1] 17675 > 2323 [ACK] Seq=1 Ack=91 Win=2054 Len=0"
"16","1.350699083","99",ACK] Seq=91 Ack=1 Win=29200 Len=45"
"17","1.350813271","[TCP Retransmission] 2323 > 17675 [PSH,ACK] Seq=91 Ack=1 Win=29200 Len=45"
"18","1.353975483","17675 > 2323 [ACK] Seq=1 Ack=136 Win=2009 Len=0"
"19","1.353992799","[TCP Dup ACK 18#1] 17675 > 2323 [ACK] Seq=1 Ack=136 Win=2009 Len=0"
"20","4.351002938",ACK] Seq=136 Ack=1 Win=29200 Len=45"
"21","4.351196261",ACK] Seq=136 Ack=1 Win=29200 Len=45"
"22","4.353518546","17675 > 2323 [ACK] Seq=1 Ack=181 Win=1964 Len=0"
"23","4.353536282","[TCP Dup ACK 22#1] 17675 > 2323 [ACK] Seq=1 Ack=181 Win=1964 Len=0"
"24","5.944472826","92","17675 > 2323 [PSH,ACK] Seq=1 Ack=181 Win=1964 Len=38"
"25","5.944492255","54","2323 > 17675 [ACK] Seq=181 Ack=39 Win=29200 Len=0"
"26","5.944553371","[TCP SpurIoUs Retransmission] 17675 > 2323 [PSH,ACK] Seq=1 Ack=181 Win=1964 Len=38"
"27","5.944557821","[TCP Dup ACK 25#1] 2323 > 17675 [ACK] Seq=181 Ack=39 Win=29200 Len=0"
"28","5.944590103","[TCP Dup ACK 25#2] 2323 > 17675 [ACK] Seq=181 Ack=39 Win=29200 Len=0"
"29","5.944591697","[TCP Dup ACK 25#3] 2323 > 17675 [ACK] Seq=181 Ack=39 Win=29200 Len=0"
"30","7.352224333",ACK] Seq=181 Ack=39 Win=29200 Len=45"
"31","7.352443324",ACK] Seq=181 Ack=39 Win=29200 Len=45"
"32","7.354569578","17675 > 2323 [ACK] Seq=39 Ack=226 Win=1919 Len=0"
"33","7.354587157","[TCP Dup ACK 32#1] 17675 > 2323 [ACK] Seq=39 Ack=226 Win=1919 Len=0"
"34","7.469334263","97",ACK] Seq=39 Ack=226 Win=1919 Len=43"
"35","7.469355623","2323 > 17675 [ACK] Seq=226 Ack=82 Win=29200 Len=0"
"36","7.469416303",ACK] Seq=39 Ack=226 Win=1919 Len=43"
"37","7.469422182","[TCP Dup ACK 35#1] 2323 > 17675 [ACK] Seq=226 Ack=82 Win=29200 Len=0"
"38","7.469454607","[TCP Dup ACK 35#2] 2323 > 17675 [ACK] Seq=226 Ack=82 Win=29200 Len=0"
"39","7.469456506","[TCP Dup ACK 35#3] 2323 > 17675 [ACK] Seq=226 Ack=82 Win=29200 Len=0"
"40","8.719559658",ACK] Seq=82 Ack=226 Win=1919 Len=38"
"41","8.719582228","2323 > 17675 [ACK] Seq=226 Ack=120 Win=29200 Len=0"
"42","8.719630381",ACK] Seq=82 Ack=226 Win=1919 Len=38"
"43","8.719633846","[TCP Dup ACK 41#1] 2323 > 17675 [ACK] Seq=226 Ack=120 Win=29200 Len=0"
"44","8.719691462","[TCP Dup ACK 41#2] 2323 > 17675 [ACK] Seq=226 Ack=120 Win=29200 Len=0"
"45","8.719692989","[TCP Dup ACK 41#3] 2323 > 17675 [ACK] Seq=226 Ack=120 Win=29200 Len=0"
"46","10.356400762",ACK] Seq=226 Ack=120 Win=29200 Len=45"
"47","10.356581268",ACK] Seq=226 Ack=120 Win=29200 Len=45"
"48","10.358275236","17675 > 2323 [ACK] Seq=120 Ack=271 Win=1874 Len=0"
"49","10.358285816","[TCP Dup ACK 48#1] 17675 > 2323 [ACK] Seq=120 Ack=271 Win=1874 Len=0"
"50","10.472045073",ACK] Seq=120 Ack=271 Win=1874 Len=43"
"51","10.472094939","2323 > 17675 [ACK] Seq=271 Ack=163 Win=29200 Len=0"
"52","10.472427319",ACK] Seq=120 Ack=271 Win=1874 Len=43"
"53","10.472511661","[TCP Dup ACK 51#1] 2323 > 17675 [ACK] Seq=271 Ack=163 Win=29200 Len=0"
"54","10.472612625","[TCP Dup ACK 51#2] 2323 > 17675 [ACK] Seq=271 Ack=163 Win=29200 Len=0"
"55","10.472614335","[TCP Dup ACK 51#3] 2323 > 17675 [ACK] Seq=271 Ack=163 Win=29200 Len=0"
"56","11.894259045",ACK] Seq=163 Ack=271 Win=1874 Len=38"
"57","11.894285618","2323 > 17675 [ACK] Seq=271 Ack=201 Win=29200 Len=0"
"58","11.894400336",ACK] Seq=163 Ack=271 Win=1874 Len=38"
"59","11.894407433","[TCP Dup ACK 57#1] 2323 > 17675 [ACK] Seq=271 Ack=201 Win=29200 Len=0"
"60","11.894469565","[TCP Dup ACK 57#2] 2323 > 17675 [ACK] Seq=271 Ack=201 Win=29200 Len=0"
"61","11.894470975","[TCP Dup ACK 57#3] 2323 > 17675 [ACK] Seq=271 Ack=201 Win=29200 Len=0"
"62","13.358468359",ACK] Seq=271 Ack=201 Win=29200 Len=45"
"63","13.358685429",ACK] Seq=271 Ack=201 Win=29200 Len=45"
"64","13.360612227","17675 > 2323 [ACK] Seq=201 Ack=316 Win=1829 Len=0"
"65","13.360644346","[TCP Dup ACK 64#1] 17675 > 2323 [ACK] Seq=201 Ack=316 Win=1829 Len=0"
"66","13.669503126",ACK] Seq=201 Ack=316 Win=1829 Len=43"
"67","13.669527206","2323 > 17675 [ACK] Seq=316 Ack=244 Win=29200 Len=0"
"68","13.669582586",ACK] Seq=201 Ack=316 Win=1829 Len=43"
"69","13.669587018","[TCP Dup ACK 67#1] 2323 > 17675 [ACK] Seq=316 Ack=244 Win=29200 Len=0"
"70","13.669632820","[TCP Dup ACK 67#2] 2323 > 17675 [ACK] Seq=316 Ack=244 Win=29200 Len=0"
"71","13.669634307","[TCP Dup ACK 67#3] 2323 > 17675 [ACK] Seq=316 Ack=244 Win=29200 Len=0"
"72","14.894502371",ACK] Seq=244 Ack=316 Win=1829 Len=38"
"73","14.894521034","2323 > 17675 [ACK] Seq=316 Ack=282 Win=29200 Len=0"
"74","14.894570678",ACK] Seq=244 Ack=316 Win=1829 Len=38"
"75","14.894575204","[TCP Dup ACK 73#1] 2323 > 17675 [ACK] Seq=316 Ack=282 Win=29200 Len=0"
"76","14.894602142","[TCP Dup ACK 73#2] 2323 > 17675 [ACK] Seq=316 Ack=282 Win=29200 Len=0"
"77","14.894603571","[TCP Dup ACK 73#3] 2323 > 17675 [ACK] Seq=316 Ack=282 Win=29200 Len=0"
"78","16.359612699",ACK] Seq=316 Ack=282 Win=29200 Len=45"
"79","16.359778455",ACK] Seq=316 Ack=282 Win=29200 Len=45"
"80","16.362632992","17675 > 2323 [ACK] Seq=282 Ack=361 Win=1784 Len=0"
"81","16.362650319","[TCP Dup ACK 80#1] 17675 > 2323 [ACK] Seq=282 Ack=361 Win=1784 Len=0"
"82","16.719466718",ACK] Seq=282 Ack=361 Win=1784 Len=43"
"83","16.719490450","2323 > 17675 [ACK] Seq=361 Ack=325 Win=29200 Len=0"
"84","16.719537634",ACK] Seq=282 Ack=361 Win=1784 Len=43"
"85","16.719543331","[TCP Dup ACK 83#1] 2323 > 17675 [ACK] Seq=361 Ack=325 Win=29200 Len=0"
"86","16.719581622","[TCP Dup ACK 83#2] 2323 > 17675 [ACK] Seq=361 Ack=325 Win=29200 Len=0"
"87","16.719583258","[TCP Dup ACK 83#3] 2323 > 17675 [ACK] Seq=361 Ack=325 Win=29200 Len=0"
"88","17.946994345",ACK] Seq=325 Ack=361 Win=1784 Len=38"
"89","17.947012277","2323 > 17675 [ACK] Seq=361 Ack=363 Win=29200 Len=0"
"90","17.947116617",ACK] Seq=325 Ack=361 Win=1784 Len=38"
"91","17.947121374","[TCP Dup ACK 89#1] 2323 > 17675 [ACK] Seq=361 Ack=363 Win=29200 Len=0"
"92","17.947155830","[TCP Dup ACK 89#2] 2323 > 17675 [ACK] Seq=361 Ack=363 Win=29200 Len=0"
"93","17.947156614","[TCP Dup ACK 89#3] 2323 > 17675 [ACK] Seq=361 Ack=363 Win=29200 Len=0"
"94","19.360843006",ACK] Seq=361 Ack=363 Win=29200 Len=45"
"95","19.361014149",ACK] Seq=361 Ack=363 Win=29200 Len=45"
"96","19.362935421","17675 > 2323 [ACK] Seq=363 Ack=406 Win=1739 Len=0"
"97","19.362952840","[TCP Dup ACK 96#1] 17675 > 2323 [ACK] Seq=363 Ack=406 Win=1739 Len=0"
"98","19.469431061",ACK] Seq=363 Ack=406 Win=1739 Len=43"
"99","19.469451589","2323 > 17675 [ACK] Seq=406 Ack=406 Win=29200 Len=0"
"100","19.469517073",ACK] Seq=363 Ack=406 Win=1739 Len=43"
"101","19.469521974","[TCP Dup ACK 99#1] 2323 > 17675 [ACK] Seq=406 Ack=406 Win=29200 Len=0"
"102","19.469568398","[TCP Dup ACK 99#2] 2323 > 17675 [ACK] Seq=406 Ack=406 Win=29200 Len=0"
"103","19.469569955","[TCP Dup ACK 99#3] 2323 > 17675 [ACK] Seq=406 Ack=406 Win=29200 Len=0"
"104","21.019605006",ACK] Seq=406 Ack=406 Win=1739 Len=38"
"105","21.019628878","2323 > 17675 [ACK] Seq=406 Ack=444 Win=29200 Len=0"
"106","21.019706390",ACK] Seq=406 Ack=406 Win=1739 Len=38"
"107","21.019710279","[TCP Dup ACK 105#1] 2323 > 17675 [ACK] Seq=406 Ack=444 Win=29200 Len=0"
"108","21.019752344","[TCP Dup ACK 105#2] 2323 > 17675 [ACK] Seq=406 Ack=444 Win=29200 Len=0"
"109","21.019753108","[TCP Dup ACK 105#3] 2323 > 17675 [ACK] Seq=406 Ack=444 Win=29200 Len=0"
"110","22.362479848",ACK] Seq=406 Ack=444 Win=29200 Len=45"
"111","22.362659733",ACK] Seq=406 Ack=444 Win=29200 Len=45"
"112","22.364335297","17675 > 2323 [ACK] Seq=444 Ack=451 Win=1694 Len=0"
"113","22.364360721","[TCP Dup ACK 112#1] 17675 > 2323 [ACK] Seq=444 Ack=451 Win=1694 Len=0"
"114","22.544273483",ACK] Seq=444 Ack=451 Win=1694 Len=43"
"115","22.544293957","2323 > 17675 [ACK] Seq=451 Ack=487 Win=29200 Len=0"
"116","22.544353788",ACK] Seq=444 Ack=451 Win=1694 Len=43"
"117","22.544359899","[TCP Dup ACK 115#1] 2323 > 17675 [ACK] Seq=451 Ack=487 Win=29200 Len=0"
"118","22.544393295","[TCP Dup ACK 115#2] 2323 > 17675 [ACK] Seq=451 Ack=487 Win=29200 Len=0"
"119","22.544395229","[TCP Dup ACK 115#3] 2323 > 17675 [ACK] Seq=451 Ack=487 Win=29200 Len=0"
"120","23.794594155",ACK] Seq=487 Ack=451 Win=1694 Len=38"
"121","23.794618098","2323 > 17675 [ACK] Seq=451 Ack=525 Win=29200 Len=0"
"122","23.794705504",ACK] Seq=487 Ack=451 Win=1694 Len=38"
"123","23.794709608","[TCP Dup ACK 121#1] 2323 > 17675 [ACK] Seq=451 Ack=525 Win=29200 Len=0"
"124","23.794753913","[TCP Dup ACK 121#2] 2323 > 17675 [ACK] Seq=451 Ack=525 Win=29200 Len=0"
"125","23.794754694","[TCP Dup ACK 121#3] 2323 > 17675 [ACK] Seq=451 Ack=525 Win=29200 Len=0"
"126","26.769542223",ACK] Seq=525 Ack=451 Win=1694 Len=38"
"127","26.769564150","2323 > 17675 [ACK] Seq=451 Ack=563 Win=29200 Len=0"
"128","26.769664917",ACK] Seq=525 Ack=451 Win=1694 Len=38"
"129","26.769670271","[TCP Dup ACK 127#1] 2323 > 17675 [ACK] Seq=451 Ack=563 Win=29200 Len=0"
"130","26.769728538","[TCP Dup ACK 127#2] 2323 > 17675 [ACK] Seq=451 Ack=563 Win=29200 Len=0"
"131","26.769729384","[TCP Dup ACK 127#3] 2323 > 17675 [ACK] Seq=451 Ack=563 Win=29200 Len=0"
"132","30.069668296",ACK] Seq=563 Ack=451 Win=1694 Len=38"
"133","30.069688247","2323 > 17675 [ACK] Seq=451 Ack=601 Win=29200 Len=0"
"134","30.069753329",ACK] Seq=563 Ack=451 Win=1694 Len=38"
"135","30.069757359","[TCP Dup ACK 133#1] 2323 > 17675 [ACK] Seq=451 Ack=601 Win=29200 Len=0"
"136","30.069797838","[TCP Dup ACK 133#2] 2323 > 17675 [ACK] Seq=451 Ack=601 Win=29200 Len=0"
"137","30.069799478","[TCP Dup ACK 133#3] 2323 > 17675 [ACK] Seq=451 Ack=601 Win=29200 Len=0"
我不确定问题出在哪里,似乎双方都在发送/接收。我看到重复的数据包和虚假的重传,但我不知道为什么。 看起来我的 Socat 命令没问题,但我不确定。 如何进行故障排除并使其正常工作?
更新:从客户端获取日志是一个挑战,但当我可以从设备上取下它时,我会用它更新这篇文章。
看起来客户端正在从服务器接收和确认,但服务器没有从客户端接收,就像 Socat 没有将它传递给 pppd。
更新 2:添加 DOS 客户端 ppp 日志。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)