亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 5049 | 回復(fù): 8
打印 上一主題 下一主題

【請(qǐng)教】 raw socket接收 ACK 時(shí),是否需要bind端口? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-08-10 00:13 |只看該作者 |倒序?yàn)g覽
請(qǐng)教,在用raw socket的 ipproto_raw接收 以同樣形式發(fā)出的SYN,是否需要 bind或listen個(gè)端口?

還是會(huì)自動(dòng)開放發(fā)送SYN時(shí)的source port作為接收端口呢?

還請(qǐng)大家指教

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2010-08-10 00:48 |只看該作者
你是收不到 TCP 和 UDP 的,死了這條心吧。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2010-08-10 07:35 |只看該作者
raw socket工作在網(wǎng)絡(luò)層或數(shù)據(jù)鏈路層
可以使用bind綁定到一個(gè)地址

可以收到TCP或UDP的數(shù)據(jù)(此時(shí)raw socket工作在鏈路層,獲取所有數(shù)據(jù)包拷貝),不過要你自己來區(qū)分是哪一種類型。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2010-08-10 12:25 |只看該作者
用libnet 和 libpcap吧

樓主的問題,我?guī)晚?/td>

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2010-08-10 13:39 |只看該作者
回復(fù) 3# lenky0401

根據(jù) UNPv1e3 Sec. 28.4 "Raw Socket Input" 的內(nèi)容:

Received UDP packets and received TCP packets are never passed to a raw socket.

事實(shí)上,raw IP 只能工作在網(wǎng)絡(luò)層,而不能是 datalink layer。

如果需要訪問鏈路層服務(wù),請(qǐng)參照 UNPv1e3 第 29 章的內(nèi)容。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2010-08-10 22:49 |只看該作者
本帖最后由 nine8 于 2010-08-10 23:00 編輯
你是收不到 TCP 和 UDP 的,死了這條心吧。
langue 發(fā)表于 2010-08-10 00:48



    謝謝,樓上的各位,不過我之前用 ipproto_tcp是可以接收到 返回的ACK的.似乎UNP說的是BSD, linux好像可以支持系統(tǒng)轉(zhuǎn)發(fā)給raw socket

只是不想讓系統(tǒng)再回復(fù)給目標(biāo)主機(jī)RST,所以想試試ipproto_raw行不行,發(fā)現(xiàn)換成raw就抓不到數(shù)據(jù)包

如果ipproto_raw不行,換到link數(shù)據(jù)有有些大,那么 linux下如何實(shí)現(xiàn)接收到ACK,不再返回RST或是ACK(也就是不進(jìn)行第三次握手)呢?
還請(qǐng)大家再指點(diǎn)下,謝謝

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2010-08-12 00:22 |只看該作者
頂一下

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2010-08-12 11:28 |只看該作者
用PCAP可以收到鏈路層的包

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2010-08-12 13:02 |只看該作者
我以前看unp之后寫過一個(gè)截包分析協(xié)議的程序,是這樣寫的:

  1.      if((sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP))) < 0)
  2.      {
  3.          fprintf(stdout, "create socket error\n");
  4.          exit(0);
  5.      }
  6.      while(1)
  7.      {
  8.          memset(buffer,0,BUFF_LEN);
  9.          n_read = recvfrom(sock, buffer, BUFF_LEN, 0, NULL, NULL);
  10.          ...........//分析buffer內(nèi)數(shù)據(jù)
  11.      }
復(fù)制代碼
截出來的內(nèi)容:
source mac:00:90:0b:18:0a:cd,dest mac:00:24:21:1e:05:37
source ip: 66.249.89.99,dest ip:192.168.41.38
message length:52.
time to live:44.
Protocol: TCP
Begin TCP protocol analyse.
source port:80, dest port:46582
sequence number is 48683
ack number is 44315
TCP flag:ACK
TCP windows is 114
TCP checksum is 32451
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP