Java에서 바이트 배열 (pcap 파일의 TCP 패킷 페이로드)을 HTTP 헤더 및 내용 본문을 가져올 수있는 일종의 HTTP 객체로 변환하는 방법은 무엇입니까?바이트 배열을 HTTP 객체로 구문 분석
0
A
답변
0
바보 같은 사람 Java에 대한 멋진 것들은 서명되지 않은 유형이 부족합니다. 따라서 바이트 배열을 가져 와서 짧은 배열로 변환하여 롤오버 문제가 발생하지 않도록하는 것이 좋습니다. (16 비트 대 숫자 당 8 비트).
거기에서 BufferedOutputStream
을 사용하여 데이터를 파일에 쓰고 Java 기본 제공 XML 판독기 (예 : JaxB 또는 DOM) 중 하나로 파싱 할 수 있습니다. BufferedOutputStream
은 16 진수를 파일에 직접 씁니다. int, byte,
또는 short
배열을 입력 할 수 있습니다. 쓰기 후에는 OutputStream
을 사용하여 HTML을 파싱하는 것이 매우 간단해야합니다.
이러한 개별 단계에 도움이 필요하면 도와 드리겠습니다.
EDIT : maerics가 지적했듯이, 아마도 내가 묻고있는 것을 파악하지 못했을 것입니다. 그럼에도 불구하고 BufferedOutputStream
으로 바이트 배열을 작성하는 것이 내 의견으로는 방법이며 원하는 경우 파서를 작성하는 데 도움을 줄 수 있습니다.
-1
JNetPcap이 정확히 수행 할 수 있습니다. 여기에 (예, 우리는 이미지를 추출)
- Opening a pcap file
- Parsing http에 대한 예입니다
단점 :이 라이브러리에서 HTTP를 구문 분석 * depracated되어 있지만, 그것을 의미하지 않는다 작동하지 않습니다
* 더 이상의 평판이 없이는 더 이상 링크를 게시 할 수 없습니다. 죄송합니다. "jnetpcap http deprecated"
부호있는 바이트도 괜찮습니다. 부호 확장 바이트를 마스킹 할 때 (암시 적으로) int로 상속 할 때 조심해서 사용해야합니다. – harold
OP는 HTML이 아닌 * HTTP 요청/응답 * 구문 분석에 대해 묻습니다. – maerics
@harold에는 포인트가 있습니다. 나는 반바지에 물건을 상향 변환하는 것을 좋아한다. 왜냐하면 결국에는 더 적은 단계가 필요하기 때문이다. – nameless912